熱線電話:13121318867

登錄
首頁精彩閱讀使用R完成正太分布檢驗
使用R完成正太分布檢驗
2018-03-11
收藏

使用R完成正太分布檢驗

什么是正太分布檢驗?
判斷一樣本所代表的背景總體與理論正態分布是否沒有顯著差異的檢驗。
方法一概率密度曲線比較法

看樣本與正太分布概率密度曲線的擬合程度,R代碼如下:

norm_expression <- function(x) (1/sqrt(2*pi))*exp(-0.5*x^2)  
    #curve(norm_expression, -4, 4, col="red") #標準正太分布概率密度曲線  
      
    #畫樣本概率密度圖  
    s <- rnorm(100) #產生樣本  
    d <- density(s)  
    plot(d, col="green", ylim=c(0, 0.5))  
      
    #添加正太分布概率密度圖  
    s2 <- seq(from=-4, to=4, length.out=100)  
    lines(s2, norm_expression(s2), col="red") 
畫圖結果如下:



方法二正太Q-Q圖法

使用Q-Q圖來判斷數據是否服從正太分布,R代碼如下:

s <- rnorm(100) #產生樣本  
    qqnorm(s)  
    qqline(s)  

畫圖結果如下,可見數據分布集中在對角線上,可以認為總體服從正太分布:

方法三經驗法則

約68.3%數值分布在距離平均值有1個標準差之內的范圍,約95.4%數值分布在距離平均值有2個標準差之內的范圍,以及約99.7%數值分布在距離平均值有3個標準差之內的范圍。稱為“68-95-99.7法則”或“經驗法則”。

使用R的驗證代碼如下:

s <- rnorm(10000) #產生樣本  
    sum(abs(s - mean(s)) < sd(s)) / length(s)  
    sum(abs(s - mean(s)) < 2*sd(s)) / length(s)  

程序結果:

> s <- rnorm(10000) #產生樣本
> sum(abs(s - mean(s)) < sd(s)) / length(s)
[1] 0.6871
> sum(abs(s - mean(s)) < 2*sd(s)) / length(s)
[1] 0.9538

方法四 統計檢驗方法

使用樣本偏度和樣本峰度來估計總體偏度和峰度,在正太分布的假定下,樣本偏度和峰度均服從均值為零、方差分別為6/T和24/T的正太分布,可以分別檢驗偏度和峰度,也可以將兩個統計量結合起來生成一個服從自由度為2的卡方分布的統計量,再進行檢驗【參見《金融時間序列分析》第三版P8~P9】。理論方面的東西略...

可以使用夏皮羅-威爾克(Shapiro-Wilk)檢驗,代碼如下:

[plain] view plain copy

    s <- rnorm(1000) #產生樣本  
    shapiro.test(s)  

檢驗結果:

> shapiro.test(s)


        Shapiro-Wilk normality test


data:  s
W = 0.9987, p-value = 0.6716

shapiro.test函數輸出一個p值,照慣例,p<0.05說明總體不太可能是正太分布,否則不能提供這么個證據,也就是說這個檢驗比較保守,傾向于錯誤的過分證明正態性。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢