SciPy를 사용 분위수-분위수 전부
어떻게 사용할까요?
측정 값이 많고 XY 값을 입력하여 사용하는 일부 플로팅 기능을 사용하고 가정합니다. 함수는 일부 경우 (정규, 즉 ...)의 해당 분위수에 대한 측정 분위수를 플로팅해야합니다.
결과를 통해 측정에서 가정 된 사용 여부를 평가할 수 있습니다.
http://en.wikipedia.org/wiki/Quantile-quantile_plot
R과 Matlab은 모두이를 위해 준비된 기능을 제공하지만 Python에서 구현하는 가장 중요한 방법이 무엇인지 궁금합니다.
나는 그것이 scipy.stats.probplot
당신이 원하는 것을 생각합니다 . 자세한 내용은 설명서 를 참조하십시오 .
import numpy as np
import pylab
import scipy.stats as stats
measurements = np.random.normal(loc = 20, scale = 5, size=100)
stats.probplot(measurements, dist="norm", plot=pylab)
pylab.show()
결과
사용 qqplot
의 것은 statsmodels.api
또 다른 옵션이다 :
아주 기본적인 예 :
import numpy as np
import statsmodels.api as sm
import pylab
test = np.random.normal(0,1, 1000)
sm.qqplot(test, line='45')
pylab.show()
결과 :
문서와 더 많은 예제는 여기
한 샘플과 다른 샘플의 QQ 플롯을 수행해야하는 경우 statsmodels에는 qqplot_2samples ()가 포함됩니다. 위의 의견에서 Ricky Robinson과 마찬가지로 이것은 이론적 분포에 대한 샘플 인 확률 플롯 대 QQ 플롯으로 생각하는 것입니다.
이제 statsmodels 패키지에 있습니다.
http://statsmodels.sourceforge.net/devel/generated/statsmodels.graphics.gofplots.qqplot.html
나는 이것을 생각 해냈다. 아마도 당신은 그것을 향상시킬 수 있습니다. 특히 분포의 분위수를 생성하는 방법은 저에게 번거로운 것 같습니다.
데이터를 다른 분포와 비교하기 위해 np.random.normal
에서 다른 분포로 바꿀 수 np.random
있습니다.
#!/bin/python
import numpy as np
measurements = np.random.normal(loc = 20, scale = 5, size=100000)
def qq_plot(data, sample_size):
qq = np.ones([sample_size, 2])
np.random.shuffle(data)
qq[:, 0] = np.sort(data[0:sample_size])
qq[:, 1] = np.sort(np.random.normal(size = sample_size))
return qq
print qq_plot(measurements, 1000)
보케를 사용할 수 있습니다.
from bokeh.plotting import figure, show
from scipy.stats import probplot
# pd_series is the series you want to plot
series1 = probplot(pd_series, dist="norm")
p1 = figure(title="Normal QQ-Plot", background_fill_color="#E8DDCB")
p1.scatter(series1[0][0],series1[0][1], fill_color="red")
show(p1)
import numpy as np
import pylab
import scipy.stats as stats
measurements = np.random.normal(loc = 20, scale = 5, size=100)
stats.probplot(measurements, dist="norm", plot=pylab)
pylab.show()
여기서 probplot은 dist = "norm"에서 "정상적인 경우"에 대한 그래프 측정을 그립니다.
참고 URL : https://stackoverflow.com/questions/13865596/quantile-quantile-plot-using-scipy
'ProgramingTip' 카테고리의 다른 글
Android : adb : 권한 거부 됨 (0) | 2020.10.26 |
---|---|
Unix 명령 줄에서 간결하고 이식 가능한 "join" (0) | 2020.10.26 |
osx 10.10 HTTPS URL에 대한 Curl POST에서 SSLRead () 오류 발생 (0) | 2020.10.26 |
구성 파일을 저장하고 React를 사용하여 읽는 방법 (0) | 2020.10.26 |
Docker 컨테이너의 실행 명령을 표시하는 방법 (0) | 2020.10.26 |