10/13習題一第6題

大家好,之前在10/13習題一的第6題,可能會發現如果直接打sd(mean1)的話會跑出NA,這是因為要算標準差或者是變異數時,至少需要2個數值,但是mean1已經是16個人的平均數了,所以她只會是1個數值,而有些同學會直接假設樣本變異數和母群變異數相等,這時候下去跑R的話會得到和第5題一樣的結果,但這並不是這題所要的答案,樣本變異數應該會隨著抽樣的樣本不同而不一樣,還有一個錯誤是有些同學可能會打sd(rnorm(n)*10+175)來算出樣本標準差,而這樣錯誤的點在於,算平均數的樣本和算標準差的樣本其實是不一樣的兩組樣本(如果你set.seed的話另當別論),當每次我們打一次rnorm時,我們都會抽出1次新的樣本,因此如果要算平均數和標準差的樣本是同一個的話要把抽出來的樣本先儲存起來,接下來我會打上正確的程式碼和各種錯誤的程式碼給大家看,不過大家可能會發現最後不管是正確版還是錯誤版算出來的結果會差不多,但在統計觀念上是不一樣的事情,如果有不懂的話可以再私訊我或是找老師

10/13習題一第6題正確版

#抽樣,把每次計算所得存起來
n=16
sx=matrix(NA,10000,1)
for(i in 1:10000){
  x1 <- rnorm(n)*10+175  #抽出16人的樣本並儲存起來
  x2 <- rnorm(n)*10+175  #抽出另一個16人的樣本並儲存起來
  mean1=mean(x1)  #算出第1組的平均數
  mean2=mean(x2)  #算出第2組的平均數
  sd1=sd(x1)  #算出第1組的樣本標準差
  sd2=sd(x2)  #算出第2組的樣本標準差
  sx[i,1]=(mean1-mean2)/sqrt(sd1^2/n+sd2^2/n)
}

#算平均數與變異數
mean(sx)
## [1] 0.01388483
var(sx)
##          [,1]
## [1,] 1.085592
#畫直方圖
hist(sx[,1],pro=TRUE,main="Sampling distribution of mean",breaks=30,xlab="")

sum(abs(sx)>1.95996)/10000  #算出絕對值大於1.96的比率
## [1] 0.0615

10/13習題一第6題錯誤版(用母體標準差當成樣本標準差)

#抽樣,把每次計算所得存起來
n=16
sx=matrix(NA,10000,1)
for(i in 1:10000){
  x1 <- rnorm(n)*10+175  #抽出16人的樣本並儲存起來
  x2 <- rnorm(n)*10+175  #抽出另一個16人的樣本並儲存起來
  mean1=mean(x1)  #算出第1組的平均數
  mean2=mean(x2)  #算出第1組的平均數
  sx[i,1]=(mean1-mean2)/sqrt(10^2/n+10^2/n)  #用母體標準差當成樣本標準差(錯誤示範)
}

#算平均數與變異數
mean(sx)
## [1] 0.003255015
var(sx)
##           [,1]
## [1,] 0.9884015
#畫直方圖
hist(sx[,1],pro=TRUE,main="Sampling distribution of mean",breaks=30,xlab="")

sum(abs(sx)>1.95996)/10000  #算出絕對值大於1.96的比率
## [1] 0.0504

10/13習題一第6題錯誤版(用了不同樣本算標準差和平均數)

#抽樣,把每次計算所得存起來
n=16
sx=matrix(NA,10000,1)
for(i in 1:10000){
  mean1=mean(rnorm(n)*10+175)  #算出第1組的平均數
  mean2=mean(rnorm(n)*10+175)  #算出第2組的平均數
  sd1=sd(rnorm(n)*10+175)  #這時候的樣本和第一組的不同了
  sd2=sd(rnorm(n)*10+175)  #這時候的樣本也和第二組不同了
  sx[i,1]=(mean1-mean2)/sqrt(sd1^2/n+sd2^2/n)  #算式是對的但標準差錯(錯誤示範)
}

#算平均數與變異數
mean(sx)
## [1] -0.0091062
var(sx)
##          [,1]
## [1,] 1.074836
#畫直方圖
hist(sx[,1],pro=TRUE,main="Sampling distribution of mean",breaks=30,xlab="")

sum(abs(sx)>1.95996)/10000  #算出絕對值大於1.96的比率
## [1] 0.0607