QQ проверка распределения графика - PullRequest
0 голосов
/ 11 января 2020

Я хочу проверить, является ли распределение нормальным или нет, используя qq plot. Поэтому для удобства я создаю логнормальный дистрибутив, используя stats, и проверяю его в пробплоте, используя функцию dist. Но все же я не получаю свои очки на линии 45 градусов, т.е. график qq, показывающий мой z, не является логнормальным Почему? Я новичок здесь любая помощь будет высоко ценится. Вот мой код

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

и вот мой результат: output

1 Ответ

0 голосов
/ 11 января 2020

Это, кажется, статистический артефакт экспоненциальной природы логнормального распределения. Обратите внимание на большой разрыв между точками в правой части графика. Интересно, что даже при больших размерах выборки это не очень подходит для визуального соответствия.

Но если вы сначала возьмете логарифм, вы увидите, что точки случайной выборки действительно нормально распределены (в журнале scale).

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/

...