SAS編程:中心極限定理的模擬

這篇文章利用SAS編程,進行中心極限定理的模擬。

中心極限定理是概率論和統計學中的一個基本定理,定理說明,當樣本量足夠大時,無論原始隨機變量的分布如何,獨立同分布的隨機變量的均值會漸進服從正態分布

本文不進行公式推導,只進行模擬驗證。模擬過程中,關于隨機變量的分布,分別選取了0-1分布、二項分布、超幾何分布,以及卡方分布,并輔以示例說明。模擬樣本量設為100,試驗次數設為1000,并畫出1000個均值的直方圖。

從直方圖中,可以看出這些均值漸進服從正態分布,從而驗證中心極限定理。

1. 0-1分布/兩點分布

0-1分布,也稱為伯努利分布,是一種離散概率分布,描述了一個只有兩個可能結果的隨機試驗。每個試驗只有兩個可能的結果,通常稱為“成功”和“失敗”。成功的概率記為 p,失敗的概率記為1-p

模擬

拿拋擲一枚硬幣舉例,正面記為1,反面記為0,出現正面、反面的概率都為0.5。進行多次獨立的拋硬幣試驗,比如100次。每次都記錄結果,我們可以計算出100次結果的均值。重復這個過程,可以得到第二個均值;以此類推,可以得到很多個均值。

以上過程,單次試驗為投擲硬幣100次,重復試驗1000次,畫出1000個均值的直方圖。

SAS程序如下:

/* 0-1 distribution*/

**Create dummy datasets;
data dummy;
  call streaminit(20240621);
  do trial = 1 to 1000; 
      sum = 0;
      do num = 1 to 100;   
          outcome = rand("Bernoulli", 0.5);
          sum + x;
      end;

      mean = sum/100;
      output;
  end;
run;

**Histogram of the mean;
proc sgplot data=means;
    histogram mean / binwidth=0.01;
    density mean / type=normal;
    title "Means distribution of samples from 0-1 distribution by Jihai";
run;

均值直方圖如下:

2. 二項分布

二項分布 (Binomial Distribution) 是一種離散概率分布,描述了一組獨立的伯努利試驗中成功次數的分布情況。每個伯努利試驗只有兩個可能的結果:成功(用1表示)和失敗(用0表示),且每次試驗成功的概率 p是恒定的。

進行n次伯努利試驗,成功k次的概率如下:

模擬

假設一個盒子里有100個球,其中紅球有10個,白球有90個。如果從盒子里有放回地抽取20次,記錄抽中紅球的個數;以上步驟重復100次,計算抽中紅球個數的均值;以上過程重復1000次,得到1000個均值,畫出均值的直方圖。

SAS模擬程序如下:

/*Binomial distribution*/

**Create dummy datasets;
data dummy;
    call streaminit(20240621);
    do trial = 1 to 1000;
        sum = 0;
        do num = 1 to 100;
            outcome = rand("binomial", 0.1, 20);
            sum + outcome;
        end;

        mean = sum/100;
        output;
    end;
run;

**Histogram of the mean;
proc sgplot data=dummy;
    histogram mean / binwidth=0.05;
    density mean / type=normal;
    title "Means distribution of samples from Binomial distribution by Jihai";
run;

均值直方圖如下:

3. 超幾何分布

超幾何分布 (Hypergeometric Distribution) 是一種離散概率分布,用于描述在不放回抽樣的情況下,從有限總體中抽取樣本時,成功次數的分布情況。

N個總體中,有K個感興趣的個體,不放回抽取n個樣本,其中k次成功的概率為:

模擬

假設一個盒子里有100個球,其中紅球有10個,白球有90個。如果從盒子里不放回地抽取20次,記錄抽中紅球的個數;以上步驟重復100次,計算抽中紅球個數的均值;以上過程重復1000次,得到1000個均值,畫出均值的直方圖。

SAS模擬程序如下:

/*Hypergeometric  distribution*/

**Create dummy datasets;
data dummy;
    call streaminit(20240621);
    do trial = 1 to 1000;
        sum = 0;
        do num = 1 to 100;
            outcome = rand("hyper", 100, 10, 20);
            sum + outcome;
        end;

        mean = sum/100;
        output;
    end;
run;

**Histogram of the mean;
proc sgplot data=dummy;
    histogram mean / binwidth=0.05;
    density mean / type=normal;
    title "Means distribution of samples from Hypergeometric distribution by Jihai";
run;

均值直方圖如下:

4. 卡方分布

卡方分布 (Chi-Square Distribution) 是一種常見的連續型概率分布,常用于統計推斷中。卡方分布主要描述的是一組獨立標準正態分布隨機變量平方和的分布情況。

假設Z_1, Z_2, \ldots, Z_kk個相互獨立的標準正態分布隨機變量,即Z_i \sim N(0, 1),則這些隨機變量的平方和:X = \sum_{i=1}^{k} Z_i^2服從自由度為 k 的卡方分布,記作 X \sim \chi^2(k)

模擬

在一次試驗中,生成100個服從自由度為10的卡方分布的隨機數,并計算均值。重復試驗1000次,得到1000個均值,并畫出均值的直方圖。

SAS模擬程序如下:

/*Chi-Square  distribution*/

**Create dummy datasets;
data dummy;
    call streaminit(20240621);
    do trial = 1 to 1000;
        sum = 0;
        do num = 1 to 100;
            outcome = rand("chisquare", 10);
            sum + outcome;
        end;

        mean = sum/100;
        output;
    end;
run;

**Histogram of the mean;
proc sgplot data=dummy;
    histogram mean / binwidth=0.1;
    density mean / type=normal;
    title "Means distribution of samples from Chi-Square distribution by Jihai";
run;

均值直方圖如下:

5. 總結

文章利用SAS編程,進行中心極限定理的模擬。選取了4類隨機變量的分布,每個分布都有一個簡單的示例說明,方便讀者理解。模擬過程是,單次試驗生成100個特定分布的隨機數,并計算均值;重復試驗1000次,得到1000個均值,并畫出均值的直方圖。

從直方圖中,可以看出這些均值漸進服從正態分布,從而驗證中心極限定理。

感謝閱讀, 歡迎關注:SAS茶談!
若有疑問,歡迎評論交流!

梳理不易,轉載請注明出處 (by Jihai / SAS茶談)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容