R語言使用蒙特卡洛模擬進行正態性檢驗及視覺化
阿新 • • 發佈:2020-08-14
原文連結:http://tecdat.cn/?p=14601
如何使用蒙特卡洛模擬來推導隨機變數可能的分佈,我們回到統計資料(無協變數)進行說明。我們假設觀察值是基礎隨機變數,具有未知分佈的隨機變數。
這裡有兩種策略。在經典統計中,我們使用概率定理來推導隨機變數的屬性在可能的情況下的分佈。另一種方法是進行計算統計。
對於評估擬合度,測試正態性不是很有用。在本文中,我想說明這一點。我們使用男生的身高資料,
X=Davis$height[Davis$sex=="M"]
我們可以視覺化其分佈(密度和累積分佈)
- u=seq(155,205,by=.5)
- par(mfrow=c(1,2))
- hist(X,col=rgb(0,0,1,.3))
- lines(density(X),col="blue",lwd=2)
- lines(u,dnorm(u,178,6.5),col="black")
- Xs=sort(X)
- n=length(X)
- p=(1:n)/(n+1)
- plot(Xs,p,type="s",col="blue")
- lines(u,pnorm(u,178,6.5),col="black")
它看起來像正態分佈,因此我們可以在左側新增密度高斯分佈,在右側新增cdf。我不想測試它是否是高斯分佈。為了檢視此分佈是否相關,可以使用蒙特卡洛模擬法
我們可以在左側看到很難通過密度(直方圖以及核密度密度估計器)評估正態性 。人們很難想到兩個密度之間的有效距離。但是,如果我們看一下右邊的圖,我們可以比較經驗分佈累積分佈。如上所述,我們可以按照 Cramer-von Mises檢驗或Kolmogorov-Smirnov距離的建議計算黃色區域 。
如果我們抽取10,000個反事實樣本,則可以使用測試統計量等的方法來視覺化距離的分佈(此處為密度),並將其與樣本的觀察值進行比較。測試統計量超過觀察值的樣本比例
- mean(dks)
- [1] 0.78248
計算版本的值
- ks.test(X,"pnorm",178,6.5)
- One-sample Kolmogorov-Smirnov test
- data: X
- D = 0.068182, p-value = 0.8079
- alternative hypothesis: two-sided
在統計資料中,要麼操作抽象物件(如隨機變數),要麼實際上使用一些程式碼生成假樣本以量化不確定性。後者很有趣,因為它有助於視覺化複雜的量化。
參考文獻