首页 > 解决方案 > QQ地块分布检查

问题描述

我想通过使用 qq 图检查分布是否对数正态。因此,为了方便起见,我正在stats使用 dist 函数创建一个对数正态分布并在 probplot 中检查它。但我仍然没有在 45 度线上得到我的点,即显示我的 z 的 qq 图不是对数正态的。为什么?我是新来的,任何帮助将不胜感激。这是我的代码

z=stats.lognorm.rvs(2.5,size=500)
stats.probplot(z,dist=stats.lognorm, sparams=(2.5,),plot=pylab)
pylab.show()

这是我的结果:输出

标签: pythondata-sciencedistribution

解决方案


这似乎是对数正态分布的指数性质的统计伪影。请注意绘图最右侧的点之间的巨大间隙。有趣的是,即使样本量很大,它似乎也不是一个很好的视觉拟合。

但是如果你先取对数,你会看到随机采样的点确实是正态分布的(在对数尺度上)。

from scipy import stats 
import pylab
import numpy as np

z=np.log(stats.lognorm.rvs(2.5,size=500))
stats.probplot(z,dist=stats.norm, sparams=(0,2.5),plot=pylab)
pylab.show()

因此,以编程方式,您的 SciPy 代码似乎工作正常。出于数学原因,最好在https://stats.stackexchange.com/上询问


推荐阅读