相当于Python中R的qqplot

时间:2018-11-08 10:53:28

标签: python r

我正在尝试使用qqplots比较python中的2个分布。在R中,可以像这样直接使用qqplot()

qqplot(beaver2$temp[beaver2$activ==1],beaver2$temp[beaver2$activ==0])

将比较2个分布。 Python 中有类似的方法吗?

Y=np.random.normal(0.5,0.1,1000)
Y_hat=np.random.gamma(0.5,0.2,1000)

一种选择是获取2组的残差并针对qqplot绘制Normal Distribution

2 个答案:

答案 0 :(得分:2)

不确定您到底想要什么,但是请检查是否对您有帮助。您可以将sm中的statsmodel.api用于qq图。

import statsmodels.api as sm
pp_x = sm.ProbPlot(Y, fit=True)
pp_y = sm.ProbPlot(Y_hat, fit=True)
fig = pp_x.qqplot(line='45', other=pp_y)
plt.show()

结果:

enter image description here

答案 1 :(得分:0)

我发现qqplot_2samples提供了一个功能statsmodels.api

Y=np.random.normal(0.5,0.1,1000)
Y_hat=np.random.normal(0.5,0.2,1000)
import statsmodels.api as sm
sm.qqplot_2samples(Y,Y_hat,line='45')
plt.show()

QQPlot for 2 Samples