單元4.3 抽樣分配- 中央極限定理

文章推薦指數: 80 %
投票人數:10人

央極限定理的內容是說:母體具有其母體分配,母體平均數μ,母體變異數σ2,取樣自該母體的隨機樣本,當樣本數n夠大時(n ≥ 30),樣本平均數ˉX之抽樣分配,是近似於常態 ... 單元4.3抽樣分配-中央極限定理 銘傳大學應用統計與資料科學學系 2018年–R深耕計畫 中央極限定理 對母體平均數作統計推測時,是以樣本平均數作不偏點估計統計量,其抽樣分配描述了樣本平均數的可能變化範圍,可以作為其估計母體平均數的基礎。

在取樣的過程中,大樣本的近似理論,則是許多統計推論的基礎;其中最有名的就是『中央極限定理』;本章將對該理論進行統計模擬計算。

4.3.1簡介中央極限定理 央極限定理的內容是說:母體具有其母體分配,母體平均數\(\mu\),母體變異數\(\sigma^2\),取樣自該母體的隨機樣本,當樣本數n夠大時(n\(\geq\)30),樣本平均數\(\bar{X}\)之抽樣分配,是近似於常態分配,平均數以\(\mu_\bar{X}\)表示,變異數以\(\sigma^2_\bar{X}\)表示;它們的值分別與母體平均數、變異數有關:\[\mu_\bar{X}=\mu;{\sigma^2_\bar{X}={\sigma^2\overn}}\] 範例4.3.1 會計學會考有210名應考者,應考者通過標準的機率為0.7;以隨機變數X表示:X=1表示通過、X=0表示未通過,其機率分配如下:P(X=1)=0.7;P(X=0)=0.7。

(1)計算其通過人數大於126的機率,計算至5位小數。

z=(126/210-0.7)/sqrt(0.001) round(z,5)#計算標準化的z值至5位小數 ##[1]-3.16228 利用函數pnorm,計算右側機率值,執行結果如下: right.prob=1-pnorm(z) round(right.prob,5)#程式碼設計,亦可以直接以一般常態計算機率 ##[1]0.99922 計算其「平均通過人數」的平均數與變異數 left.prob=pnorm(126/210,0.7,sqrt(0.001)) left.prob ##[1]0.0007827011 right.prob=round(1-left.prob,5)#計算右側機率值=1-左側機率值 right.prob ##[1]0.99922 (2)將(1)設計成函數(名稱:acc.prob),計算右側機率值,至m位小數。

\(P(X_1+...+X_n=n\bar{X_n}\geqx)=P(\bar{X_{210}}>{X\overn})=P(Z>z),z={{{x\overn}-\mu}\over{\sqrt{\sigma_\bar{X}^2}}}\)同時輸出化簡後的\(z\)值、以及\(Z>z\)右側機率值。

利用設計好的函數,執行計算通過人數大於126的機率,計算至4位小數。

acc.prob=function(x,n,mu,sigma2,digit=m) { xbar=x/n z=(xbar-mu)/sqrt(sigma2) zvalue=round(z,digit) right.prob=round(1-pnorm(z),digit) list(zvalue=zvalue,prob=right.prob) } 將要計算的值輸入至設計好的函數acc.prob,輸入值:x=126、n=210、mu=0.7、sigma2=0.001、digit=4執行結果如下: acc.prob(126,210,0.7,0.001,4) ##$zvalue ##[1]-3.1623 ## ##$prob ##[1]0.9992 #本小題執行結果:$zvalue=-3.1623表示化簡後的z值。

$prob=0.9992表示右側的機率值P(Z>-3.1623)。

與例4.3.1的結果相同,表示函數設計正確。

(3)利用例(2)之函數acc.prob執行計算:100人會考,有80人通過的機率,計算至6位小數,並與理論值做比較。

建立輸入值:樣本數n=100、通過會考的人數x=80、Xbar的平均數mu=0.7、Xbar的變異數sigma2=0.21/n=0.0021、digit小數位數=6;並輸入至設計好的函數acc.prob,執行結果如下: acc.prob(80,100,0.7,0.0021,6) ##$zvalue ##[1]2.182179 ## ##$prob ##[1]0.014548 #$zvalue=2.182179表示化簡後的z值。

$prob=0.014548表示右側的機率值P(Z>2.182179)。

【註】本小題執行結果,與理論值相同,表示函數設計正確理論值計算如下:\(P(X_1+...+X_{100}=100\bar{X_{100}}\geq80)=P(\bar{X_{100}}>0.8)=P(Z>{{0.8-0.7}\over{\sqrt{0.0021}}})=P(Z>2.182129)=0.014548\) 範例4.3.2 某晶圓廠的品管師,任意選100個工作小時,得知其平均晶圓生產量為每小時120個,標準差3個。

(1)計算100個工作小時之平均晶圓生產量超過114的比例,計算至4位小數,並寫出理論機率值 z=(114-120)/3 round(z,4) ##[1]-2 right.prob=1-pnorm(z) round(right.prob,4) ##[1]0.9772 【註】理論值:\(P(\bar{X_{100}}>100)=P(Z>{{114-120}\over{3}})=P(Z>-2)=0.9772\) (2)計算50個工作小時之平均晶圓生產量超過114的比例,計算至4位小數,並寫出理論機率值 z=(114-120)/sqrt(18) round(z,4) ##[1]-1.4142 right.prob=1-pnorm(z) round(right.prob,4) ##[1]0.9214 【註】理論值:\(P(\bar{X_{50}}>114)=P(Z>{{114-120}\over{\sqrt{18}}})=P(Z>-1.4142)=0.9214\) 範例4.3.3 建設公司的採購部門,計畫購買水泥400包。

水泥商宣稱其水泥每包的平均重量為10公斤,標準差為2.5公斤。

(1)計算400包水泥平均重量的平均數與標準差。

樣本數n=400;根據中央極限定理,本小題的樣本平均數、樣本變異數分別為\(\mu_\bar{X}=\mu=10\);\({\sigma_\bar{X}^2}={{\sigma^2}\over{n}}={{2.5^2}\over{400}}=0.01563\) (2)400包水泥平均重量低於9.8公斤的比例有多少? \(P(\bar{X_{400}}>9.96)=P(Z>{{9.96-10}\over{0.01563}})=P(Z>-2.559181)=0.005245954\) (3)利用函數pnorm,計算2)的機率值,計算至4位小數 z=(9.96-10)/0.01563 round(z,4) ##[1]-2.5592 left.prob=pnorm(z) round(left.prob,4) ##[1]0.0052 4.3.2中央極限定理的驗證 中央極限定理主要敘述的是樣本平均數\(\bar{X}\)之抽樣分配及其性質;其中\(\bar{X}\)的常態分配性質,除了可利用常態Q-Q檢測圖來驗算外,也可以直接做不同樣本數的\(\bar{X}\)抽樣分配圖;直接顯現出:當樣本數愈大時,\(\bar{X}\)抽樣分配圖將趨近於常態分配。

中央極限定理可以用以下的步驟來驗證:先作隨機樣本的取樣,再作各種不同樣本數(n=1,5,15,30)的抽樣計算,最後利用直方圖以及機率分配圖,描繪出不同樣本數(n=1,5,15,30)時,\(\bar{X}\)之抽樣分配直方圖,同時也繪製對應的常態Q-Q檢測圖。

各個步驟詳細說明如下: 步驟1產生來自於母體的隨機樣本,樣本數=n,隨機數=m。

步驟2依據此組隨機樣本,進一步作以下的各種抽樣計算:取第1組樣本作為n=1之隨機樣本,計算其樣本平均數取前5組樣本作為n=5之隨機樣本,計算其樣本平均數取前15組樣本作為n=15之隨機樣本,計算其樣本平均數取前30組樣本作為n=30之隨機樣本,計算其樣本平均數所得到的4種樣本平均數(n=1,5,15,30),分別有100個取樣值 步驟3將步驟2這些取樣值繪製成直方圖。

步驟4繪製步驟2對應的常態Q-Q檢測圖。

範例4.3.4 產生來自於均等分配[5,80]母體的隨機樣本,樣本數n=30,隨機數m=100。

(1)設計一個大小為100*30的矩陣(名稱:RandomSample),儲存這些隨機值。

Umin=5 Umax=80 Nsample=100 Nsize=30 RandomSample=matrix(0,Nsample,Nsize)#Plotthedistributionofsamplemean for(iin1:Nsize) { Rnumber=runif(Nsample,Umin,Umax) RandomSample[,i]=as.matrix(Rnumber) } 【註1】查看隨機值矩陣RandomSample的內容: 矩陣大小 dim(RandomSample) ##[1]10030 部分矩陣(94\(\sim\)100列、25\(\sim\)30行) RandomSample[94:100,25:30] ##[,1][,2][,3][,4][,5][,6] ##[1,]66.1073843.3842753.15750835.4792720.9732349.07378 ##[2,]45.5013870.3388818.00924058.7126172.9288525.36485 ##[3,]48.3912559.9922123.84669466.4650234.9351721.30328 ##[4,]70.0373015.021276.79979858.7594161.8695949.55263 ##[5,]51.8961073.1668171.55494536.1222666.8975514.84492 ##[6,]47.3182179.6089468.48471568.0428312.5014566.72088 ##[7,]74.1835929.9807141.56271021.9552112.1825151.49751 27\(\sim\)30行的摘要值 summary(RandomSample[,27:30]) ##V1V2V3V4 ##Min.:6.11Min.:5.612Min.:5.141Min.:6.381 ##1stQu.:19.161stQu.:22.5781stQu.:20.0501stQu.:23.073 ##Median:41.69Median:45.462Median:38.634Median:41.557 ##Mean:41.67Mean:43.602Mean:40.333Mean:43.145 ##3rdQu.:62.723rdQu.:64.2793rdQu.:59.7853rdQu.:64.346 ##Max.:79.41Max.:79.406Max.:77.113Max.:79.595 【註2】27\(\sim\)30行,每欄的Min=5.653、5.192、6.644、5.907,Max=79.864、79.770、78.064、79.049,因為隨機值矩陣來自於均等分配[5,80],由每欄的Min、Max可以得知:隨機值都在5\(\sim\)80之間。

【註3】27\(\sim\)30行,每欄的Mean=44.347、38.046、45.585、41.637母體均等分配[5,80]的平均數\(\mu={{5+80}\over{2}}=42.5\),由每欄的Mean得知:由100個隨機值所得的樣本平均數都接近母體平均數42.5。

【註4】繪製一張2*2的大圖,其中的小圖,分別為27\(\sim\)30行每欄的直方圖,大致上與均等分配[5,80]的理論一致。

windows() par(mfrow=c(2,2)) for(jin27:30) { hist(RandomSample[,j],ylab="probability",xlab="randomuniform",pro=T,main=paste(j,"thcolumn")) } (2)在步驟1隨機樣本RandomSample中,分別取前1,5,15,30組樣本作為n=1,5,15,30等4種隨機樣本,再利用函數apply,計算樣本平均數值;並儲存在一個100*4矩陣(名稱:rSampleMean);並將每一行命名為“n=1”,“n=5”,“n=15”,“n=30”。

rSampleMean=matrix(0,Nsample,4) rSampleMean[,1]=RandomSample[,1] rSampleMean[,2]=apply(RandomSample[,1:5],1,mean) rSampleMean[,3]=apply(RandomSample[,1:15],1,mean) rSampleMean[,4]=apply(RandomSample[,1:30],1,mean) colnames(rSampleMean)=c("n=1","n=5","n=15","n=30") 【註1】查看樣本平均數矩陣rSampleMean的內容:矩陣大小、矩陣行名稱、部分矩陣(1\(\sim\)5列、1\(\sim\)4行)、1\(\sim\)4行的摘要值。

dim(rSampleMean) ##[1]1004 colnames(rSampleMean) ##[1]"n=1""n=5""n=15""n=30" rSampleMean[1:5,1:4] ##n=1n=5n=15n=30 ##[1,]33.5397437.6026238.1443940.45289 ##[2,]78.1853760.3652848.3580638.48686 ##[3,]70.9925763.3110756.7348556.41526 ##[4,]15.3648437.3776239.2723635.12908 ##[5,]76.1070553.4469849.1234946.15568 summary(rSampleMean[,1:4]) ##n=1n=5n=15n=30 ##Min.:5.302Min.:13.62Min.:21.20Min.:29.69 ##1stQu.:23.1911stQu.:35.901stQu.:37.911stQu.:39.42 ##Median:46.783Median:41.98Median:42.01Median:42.09 ##Mean:44.429Mean:42.71Mean:42.02Mean:42.29 ##3rdQu.:64.5193rdQu.:50.473rdQu.:46.663rdQu.:45.30 ##Max.:79.478Max.:71.23Max.:56.73Max.:56.42 【註2】1~4行每欄的Mean=42.584、44.10、43.11、42.55;得知:由100個樣本平均數所得的平均值都接近母體平均數42.5。

(3)繪製一張2*2的大圖,其中的小圖,分別為(2)rSampleMean的每一行樣本平均值之直方圖;並將行名稱作為每張小圖的標題(“n=1”,“n=5”,“n=15”,“n=30”) windows()#表示開啟繪圖視窗 par(mfrow=c(2,2))#設計一張2*2的大圖 mu=(Umin+Umax)/2 sigma=sqrt((Umin+Umax)^2/12) #可以巡迴的繪製相近內容的4張圖:依序為(1,1)、(1,2)、(2,1)、(2,2) for(iin1:4) { hist(rSampleMean[,i],ylab="f(x)",xlab="rsamplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rSampleMean)[i]) } ##每張小圖的標題設計為:矩陣行名稱"n=1","n=5","n=15","n=30" ##n=1為母體分配圖(此處因為是隨機值,圖形則為近似均等分配);當樣本數n增加時,樣本平均值之的抽樣分配直方圖趨近於常態分配 ##當樣本數n愈大時,從樣本平均數的抽樣分配可以得到「中央極限定理」的主要結論 (4)繪製一張2*2的大圖,其中的小圖,分別為(2)rSampleMean每一行對應的常態Q-Q檢測圖;並將行名稱作為每張小圖的標題(“n=1”,“n=5”,“n=15”,“n=30”) windows() par(mfrow=c(2,2)) for(iin1:4) { qqnorm(rSampleMean[,i],main=colnames(rSampleMean)[i]) qqnorm(rSampleMean[,i]) } 【註1】n=1為母體分配圖(常態Q-Q檢測圖形偏離理論直線);當樣本數n增加時,樣本平均值之常態Q-Q檢測圖形趨近於理論直線 【註2】當樣本數n愈大時,從樣本平均數的常態Q-Q檢測圖形,可以驗證「中央極限定理」的主要結論 範例4.3.5 將範例4.3.4(3)~(4)的繪圖合併成2*4的大圖,其中,第一列為樣本平均數直方圖,第二列為常態Q-Q檢測圖 windows() par(mfrow=c(2,4)) for(iin1:4) { hist(rSampleMean[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rSampleMean)[i]) } for(iin1:4) { qqnorm(rSampleMean[,i],main=colnames(rSampleMean)[i]) qqline(rSampleMean[,i]) } 範例4.3.6 (1)將範例4.3.4(3)~(4),設計函數(名稱:clt.plot),自動繪製2*4的大圖,其中,第一列為直方圖,第二列為常態Q-Q檢測圖 clt.plot=function(rMeanMat,mu,sigma) { windows() par(mfrow=c(2,4)) for(iin1:4) { hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) } for(iin1:4) { qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) qqline(rMeanMat[,i]) } } (2)執行(1)之函數clt.plot,輸入範例4.3.4的隨機樣本矩陣rSampleMean,自動繪製2*4的樣本平均數直方圖與常態Q-Q檢測圖 輸入值:樣本平均數矩陣rSampleMean、母體平均數mu.unif、母體標準差sd.unif Umin=5 Umax=80 mu.unif=(Umin+Umax)/2 sd.unif=sqrt((Umin+Umax)^2/12) clt.plot(rSampleMean,mu=mu.unif,sigma=sd.unif) clt.plot ##function(rMeanMat,mu,sigma) ##{ ##windows() ##par(mfrow=c(2,4)) ##for(iin1:4) ##{ ##hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) ##} ##for(iin1:4) ##{ ##qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) ##qqline(rMeanMat[,i]) ##} ##} ##<0x000000001d428628> 範例4.3.7 (1)設計如下:函數名稱clt2.plot將範例4.3.6的函數改進為:依照輸入的樣本平均數矩陣欄位數m,自動繪製2*m的大圖,其中,第一列為直方圖,第二列為常態Q-Q檢測圖 函數名稱clt2.plot將函數clt.plot程式碼,利用函數ncol讀取輸入矩陣的欄位數,再將迴圈的範圍更改成所讀取的欄位數 clt2.plot=function(rMeanMat,mu,sigma) { ncol=ncol(rMeanMat) windows() par(mfrow=c(2,ncol)) for(iin1:ncol) { hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) } for(iin1:ncol) { qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) qqline(rMeanMat[,i]) } } (2)執行(1)之函數clt.plot,輸入範例4.3.4的隨機樣本矩陣rSampleMean的1,3,4欄,自動繪製2*3的樣本平均數直方圖與常態Q-Q檢測圖 輸入值:樣本平均數矩陣rSampleMean[,c(1,3,4)]、母體平均數mu.unif、母體標準差sd.unif Umin=5 Umax=80 mu.unif=(Umin+Umax)/2 sd.unif=sqrt((Umin+Umax)^2/12) clt2.plot(rSampleMean[,c(1,3,4)],mu=mu.unif,sigma=sd.unif) clt2.plot ##function(rMeanMat,mu,sigma) ##{ ##ncol=ncol(rMeanMat) ##windows() ##par(mfrow=c(2,ncol)) ##for(iin1:ncol) ##{ ##hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) ##} ##for(iin1:ncol) ##{ ##qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) ##qqline(rMeanMat[,i]) ##} ##} ##<0x000000001d48ba48> 範例4.3.8 (1)函數名稱rMeanMatrix將範例4.3.5(2),改寫成函數:依照輸入的欄位數列meanSeq,分別計算對應的樣本平均數值,並儲存成矩陣SampleMean rMeanMatrix=function(SampleMatrix,meanSeq) { Nsample=nrow(SampleMatrix)#分別以nrow、length決定樣本平均數矩陣的大小 meanCol=length(meanSeq) rSampleMean=matrix(0,Nsample,meanCol) rSampleMean[,1]=SampleMatrix[,1]#樣本平均數矩陣的第1欄,即為樣本資料矩陣的第1欄 #設計迴圈,根據輸入的第i個欄位數m,計算前m欄的平均值,並將結果存在樣本平均數矩陣的第i欄 for(iin2:meanCol) { rSampleMean[,i]=apply(SampleMatrix[,1:meanSeq[i]],1,mean) } colnames(rSampleMean)=paste(rep("n=",meanCol),meanSeq,sep="") list(SampleMean=rSampleMean) } (2)執行(1)之函數rMeanMat,輸入欄位數列mean.seq=c(1,5,15,30),自動計算產生樣本平均數矩陣 paste(rep("n=",4),c(1,5,15,30),sep="") ##[1]"n=1""n=5""n=15""n=30" ##以paste的方式,根據欄位數數列,將樣本平均數矩陣的欄位名稱命名 ##rep("n=",4):文字"n="重複4次;後方分別加入1,5,15,30;文字與數字無間隔 (3)將範例4.3.4(1)的樣本資料矩陣RandomSample,以及要計算的4種樣本平均數的欄位數列c(1,5,15,30),同時輸入至函數rMeanMatrix;並將結果儲存成物件unifMean。

unifMean=rMeanMatrix(RandomSample,c(1,5,15,30)) ##此時,unifMean$SampleMean表示所計算的樣本平均數矩陣 接著查看其內容:矩陣大小、矩陣欄名稱、部分矩陣(1\(\sim\)5列、1\(\sim\)4行)、1\(\sim\)4行摘要值;結果都與範例4.3.4(2)相同,表示本函數設計正確無誤 dim(unifMean$SampleMean) ##[1]1004 colnames(unifMean$SampleMean) ##[1]"n=1""n=5""n=15""n=30" unifMean$SampleMean[1:5,1:4] ##n=1n=5n=15n=30 ##[1,]33.5397437.6026238.1443940.45289 ##[2,]78.1853760.3652848.3580638.48686 ##[3,]70.9925763.3110756.7348556.41526 ##[4,]15.3648437.3776239.2723635.12908 ##[5,]76.1070553.4469849.1234946.15568 summary(unifMean$SampleMean[,1:4]) ##n=1n=5n=15n=30 ##Min.:5.302Min.:13.62Min.:21.20Min.:29.69 ##1stQu.:23.1911stQu.:35.901stQu.:37.911stQu.:39.42 ##Median:46.783Median:41.98Median:42.01Median:42.09 ##Mean:44.429Mean:42.71Mean:42.02Mean:42.29 ##3rdQu.:64.5193rdQu.:50.473rdQu.:46.663rdQu.:45.30 ##Max.:79.478Max.:71.23Max.:56.73Max.:56.42 範例4.3.9 (1)從指數分配\(X\simexp(\lambda=0.2)\)母體,產生隨機樣本expRandomSample、含有50欄,每欄有1000個隨機值。

Nsample=100 Nsize=50 expRandomSample=matrix(0,Nsample,Nsize) for(iin1:Nsize) { expRnumber=rexp(Nsample,0.2) expRandomSample[,i]=as.matrix(expRnumber) } (2)利用範例4.3.8設計的函數rMeanMatrix,計算(1)的隨機樣本矩陣的欄位數列meanSeq=c(1,5,15,30),產生樣本平均數矩陣expSampleMean expMean=rMeanMatrix(expRandomSample,c(1,5,15,30)) expSampleMean=expMean$SampleMean (3)利用範例4.3.7設計的函數clt2.plot,自動繪製2*3的樣本平均數(第1、15、30行)直方圖與常態Q-Q檢測圖 mu.exp=1/0.2 sigma.exp=sqrt(1/0.2) clt2.plot(expMean$SampleMean[,c(1,3,4)],mu=mu.unif,sigma=sd.unif) clt2.plot ##function(rMeanMat,mu,sigma) ##{ ##ncol=ncol(rMeanMat) ##windows() ##par(mfrow=c(2,ncol)) ##for(iin1:ncol) ##{ ##hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) ##} ##for(iin1:ncol) ##{ ##qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) ##qqline(rMeanMat[,i]) ##} ##} ##<0x000000001d48ba48> 範例4.3.10 (1)從卡方分配\(U\sim\chi^2(\gamma=1)\)母體,產生隨機樣本chi2RandomSample、含有50欄,每欄有1000個隨機值 Nsample=1000 Nsize=50 chi2RandomSample=matrix(0,Nsample,Nsize) for(iin1:Nsize) { chi2Rnumber=rchisq(Nsample,1) chi2RandomSample[,i]=as.matrix(chi2Rnumber) } (2)利用範例4.3.8設計的函數rMeanMatrix,計算(1)的隨機樣本矩陣的欄位數列meanSeq=c(1,5,15,30),產生樣本平均數矩陣chi2SampleMean chi2Mean=rMeanMatrix(chi2RandomSample,c(1,5,15,30)) chi2SampleMean=chi2Mean$SampleMean (3)利用範例4.3.7設計的函數clt2.plot,自動繪製2*3的樣本平均數(第1、15、30行)直方圖與常態Q-Q檢測圖 mu.chi2=1 sigma.chi2=2 clt2.plot(chi2Mean$SampleMean[,c(1,3,4)],mu=mu.chi2,sigma=sigma.chi2) clt2.plot ##function(rMeanMat,mu,sigma) ##{ ##ncol=ncol(rMeanMat) ##windows() ##par(mfrow=c(2,ncol)) ##for(iin1:ncol) ##{ ##hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) ##} ##for(iin1:ncol) ##{ ##qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) ##qqline(rMeanMat[,i]) ##} ##} ##<0x000000001d48ba48> 範例4.3.11 (1)從常態分配\(X\simNormal(\mu=100,\sigma^2=16)\)母體,產生隨機樣本normRandomSample、含有50欄,每欄有1000個隨機值 Nsample=1000 Nsize=50 normRandomSample=matrix(0,Nsample,Nsize) for(iin1:Nsize) { normRnumber=rnorm(Nsample,100,4) normRandomSample[,i]=as.matrix(normRnumber) } (2)利用範例4.3.8設計的函數rMeanMatrix,計算(1)的隨機樣本矩陣的欄位數列meanSeq=c(1,5,15,30),產生樣本平均數矩陣normSampleMean normMean=rMeanMatrix(normRandomSample,c(1,5,15,30)) normSampleMean=normMean$SampleMean (3)利用範例4.3.7設計的函數clt2.plot,自動繪製2*3的樣本平均數(第1、15、30行)直方圖與常態Q-Q檢測圖 mu.norm=100 sigma.norm=4 clt2.plot(normMean$SampleMean[,c(1,3,4)],mu=mu.norm,sigma=sigma.norm) clt2.plot ##function(rMeanMat,mu,sigma) ##{ ##ncol=ncol(rMeanMat) ##windows() ##par(mfrow=c(2,ncol)) ##for(iin1:ncol) ##{ ##hist(rMeanMat[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu+3*sigma),main=colnames(rMeanMat)[i]) ##} ##for(iin1:ncol) ##{ ##qqnorm(rMeanMat[,i],main=colnames(rMeanMat)[i]) ##qqline(rMeanMat[,i]) ##} ##} ##<0x000000001d48ba48> 範例4.3.12 (1)將範例4.3.4均等分配[5,80]的樣本平均數矩陣rSampleMean另外儲存成unifSampleMean unifSampleMean=rSampleMean mu.unif=(Umin+Umax)/2 sigma.unif=sqrt((Umax-Umin)^2/12) (2)利用unifSampleMean及範例4.3.9~範例4.3.11的3個隨機樣本expSampleMean、chi2SampleMean、normSampleMean;繪製4*4的樣本平均數直方圖,其中,列分別為n=1,5,25,30;行則分別為:均等分配、指數分配、卡方分配、常態分配 unifSampleMean=rSampleMean mu.unif=(Umin+Umax)/2 sigma.unif=sqrt((Umax-Umin)^2/12) windows() par(mfrow=c(4,4)) for(iin1:4) { hist(unifSampleMean[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu.unif+3*sigma.unif),main=colnames(unifSampleMean)[i]) hist(expSampleMean[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu.exp+3*sigma.exp),main=colnames(expSampleMean)[i]) hist(chi2SampleMean[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(0,mu.chi2+3*sigma.chi2),main=colnames(chi2SampleMean)[i]) hist(normSampleMean[,i],ylab="f(x)",xlab="samplemean",pro=T,xlim=c(mu.norm-3*sigma.norm,mu.norm+3*sigma.norm),main=colnames(normSampleMean)[i]) } 【註1】迴圈內部是執行每一列的4個分配的樣本平均數直方圖 【註2】為了使得直方圖較為清楚,修正常態分配\(X\simNormal(\mu=100,\sigma^2=16)\)母體的橫座標範圍為mu.norm-3sigma.norm,mu.norm+3sigma.norm



請為這篇文章評分?