Распределение средств из гамма-распределения не соответствует теоретическим значениям в Python

Я делаю задание для определенного курса на Coursera. Весь смысл в том, чтобы использовать центральную предельную теорему для некоторого распределения (я выбрал гамма-распределение) и построить на диаграмме теоретические значения для функции плотности вероятности нормального распределения с E = Ebase и D = Dbase/n, где E и D - математическое ожидание и дисперсия распределения средств.

Средство взято из выборок размера n, где каждая единица генерируется гамма-распределением с вручную вставленными параметрами (я использую k = 2, theta = 0.5) и поэтому Ebase = k*theta а также Dbase = k*theta^2, На той же диаграмме должна быть гистограмма, нормированная на 1.

Теоретически, чем больше n, тем более подходящими должны быть две графики. Но у меня так в записной книжке ipython:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as sts
%matplotlib inline
k = 2.0
Theta = 0.5
listOfSizes = [20,50,100,300]
number = 0
for n in listOfSizes:
    means =[]
    for i in range (1000):
       sum = 0.0
       for number in np.random.gamma(k,Theta,size = n):
           sum+=number
       mean = sum/n
       means.append(mean)
dispersionOfMeansTheoretical =(k*(Theta**2))/n
mathExpectancyOfMeansTheoretical = (k*Theta)
arguments = np.linspace(0,2,2048)
plt.figure(n)
theoryFunction = sts.norm.pdf(arguments, loc = mathExpectancyOfMeansTheoretical, scale = dispersionOfMeansTheoretical)
plt.plot(arguments, theoryFunction)
plt.hist(means, bins=50, normed = 1)
plt.ylabel('$PDF$ with n ='+str(n))
plt.xlabel('$x$')

Графика

Я дважды проверил это в Wiki, и мне кажется, что я вставил правильную параметризацию для всего, но я действительно не могу найти ошибку. Что я пропустил?

0 ответов

Другие вопросы по тегам