引入統計連續分配套件
Needs["Statistics`ContinuousDistributions`"];引入圖形套件
Needs["Graphics`Graphics`"];
定義Gamma函數
gdist = GammaDistribution[3, 1];
從Gamma(3,1)分配中抽取一組樣本數為10的隨機樣本
RandomArray[gdist, 10];
以下這個函數為從Gamma(3,1)分配中抽取一組樣本數為10的隨機樣本,連續實驗10000次。
Apply[Plus, Table[RandomArray[gdist, 10], {i, 1, 10000}], {1}]
其中Plus參數為將每組隨機樣本相加,即計算樣本總和。下面函數則是將樣本平均數做標準化轉換
(Apply[Plus, [RandomArray[gdist, 10], {i, 1, 10}], {1}]/10 - 3)/(Sqrt[3/10])
截至目前為止,我們已經產生了一萬組由Gamma(3,1)產生的隨機變數,接下來我們將上述數值以直方圖畫出
Histogram[%]
在此,你可以把程式寫得更簡潔,程式碼如下:
Needs["Statistics`ContinuousDistributions`"];
Needs["Graphics`Graphics`"];
gdist=GammaDistribution[3,1];
f[n_]:=Histogram[(Apply[Plus,Table[RandomArray[gdist,n],{i,1,10000}],{1}]/n-3)/(Sqrt[3/n])];
f/@{1,10,100,1000}
可以由圖形發現,當樣本數很大時,資料應該是符合標準常態分配。
n=1
n=10
n=100
n=1000
這是U(0,1)
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~