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
패키지의 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
패키지에 있는 VisualTest.DrawQQplot(x, y)
함수를 사용하여 균일 분포의 샘플에 대해 정규 분포의 샘플을 테스트했습니다. x = ot.Normal().getSample(1000000)
을 사용하여 100만 개 항목을 포함하는 정규 분포에서 샘플 데이터를 생성했습니다. y = ot.Uniform().getSample(1000000)
을 사용하여 100만 개 항목을 포함하는 균일 분포에서 샘플 데이터를 생성했습니다.
이 방법은 참조/테스트 라인에 대한 제어를 제공하지 않습니다.
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