Python의 양자-양자 그림

Muhammad Maisam Abbas 2023년10월10일
  1. Python의 statsmodels 패키지를 이용한 퀀타일-퀀타일 플롯
  2. Python의 openturns 패키지를 사용한 Quantile-Quantile 플롯
Python의 양자-양자 그림

이 튜토리얼은 파이썬에서 분위수 플롯을 그리는 방법을 소개합니다.

Python의 statsmodels 패키지를 이용한 퀀타일-퀀타일 플롯

분위수-분위수 도표는 데이터가 특정 분포를 따르는지 여부를 평가하는 데 사용됩니다. 주어진 데이터 세트가 정규 분포를 따르는지 여부를 확인하는 데 사용할 수 있습니다. statsmodels 패키지를 사용하여 Python에서 분위수-분위수 그래프를 그릴 수 있습니다. statsmodels를 설치하는 명령은 다음과 같습니다.

pip install statsmodels

statsmodels 패키지 내의 qqplot() 함수는 분위수-분위수 그래프를 그립니다. 이 함수는 데이터와 그릴 선 유형을 사용합니다. 다음 코드 스니펫은 statsmodels 패키지로 분위수-분위수 그래프를 그리는 방법을 보여줍니다.

import numpy as np
import statsmodels.api as smi
import pylab

sample_data = np.random.normal(0, 1, 1000)

smi.qqplot(sample_data, line="r")
pylab.show()

출력:

statsmodels 패키지를 사용한 python qq 플롯

위의 코드에서 statsmodels 패키지의 smi.qqplot(sample_data, line = "r") 함수를 사용하여 분위수-분위수 그래프를 그렸습니다. sample_data = np.random.normal(0,1, 1000) 함수를 사용하여 1000개의 항목이 포함된 일반 데이터를 생성했습니다. 결국 pylab.show() 함수로 그래프를 표시하기 위해 pylab 패키지를 사용했습니다.

이 방법을 사용하면 플롯할 기준선 유형을 완벽하게 제어할 수 있습니다. 위 그래프에서 기준선을 회귀선으로 설정했습니다.

Python의 openturns 패키지를 사용한 Quantile-Quantile 플롯

Python에서 분위-양자 그래프를 그리는 또 다른 방법은 openturns 패키지를 사용하는 것입니다. 외부 패키지이므로 코드에서 사용하기 전에 설치해야 합니다. openturns 패키지를 설치하는 명령은 다음과 같습니다.

pip install openturns

VisualTest.DrawQQplot() 함수는 openturns 패키지 내부에 quantile-quantile 그래프를 그리는 데 사용됩니다. 이 함수의 첫 번째 매개변수는 샘플 데이터여야 합니다. 두 번째 매개변수는 또 다른 표본 데이터이거나 분포 다음에 점 수를 지정하는 또 다른 세 번째 매개변수가 될 수 있습니다. 이 예에서는 균일 분포 표본에 대해 정규 분포 표본을 플로팅합니다. 다음 코드 조각은 openturns 패키지로 분위수-분위수 그래프를 그리는 방법을 보여줍니다.

import openturns as ot

x = ot.Normal().getSample(1000000)
y = ot.Uniform().getSample(1000000)
g = ot.VisualTest.DrawQQplot(x, y)
g

출력:

openturns 패키지를 사용한 python qq 플롯

위 코드의 openturns 패키지에 있는 VisualTest.DrawQQplot(x, y) 함수를 사용하여 균일 분포의 샘플에 대해 정규 분포의 샘플을 테스트했습니다. x = ot.Normal().getSample(1000000)을 사용하여 100만 개 항목을 포함하는 정규 분포에서 샘플 데이터를 생성했습니다. y = ot.Uniform().getSample(1000000)을 사용하여 100만 개 항목을 포함하는 균일 분포에서 샘플 데이터를 생성했습니다.

이 방법은 참조/테스트 라인에 대한 제어를 제공하지 않습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Python Graph