0

Coursera で特定のコースの課題を出しています。全体のポイントは、いくつかの分布(ガンマ分布を選択)に中心極限定理を使用し、E = EbaseおよびD = Dbase / nの正規分布の確率密度関数の理論値を図にプロットすることです。ここで、EとDは数学の期待値ですそして平均の分布の分散。

平均は、サイズ n のサンプルから取得されます。ここで、各ユニットは、手動で挿入されたパラメーター (私はk = 2、を使用theta = 0.5) を使用してガンマ分布によって生成され、したがってEbase = k*thetaおよびDbase = k*theta^2です。同じ図に、1 に正規化されたヒストグラムがあるはずです。

理論的には、n が大きいほど、2 つのグラフィックスがより一致するはずです。しかし、私は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で再確認しましたが、すべてに正しいパラメータ化を挿入しているように見えますが、実際には間違いを見つけることができません. 私は何を逃したのですか?

4

0 に答える 0