99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

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

使用R完成正太分布檢驗

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

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

norm_expression <- function(x) (1/sqrt(2*pi))*exp(-0.5*x^2)  
    #curve(norm_expression, -4, 4, col="red") #標準正太分布概率密度曲線  
      
    #畫樣本概率密度圖  
    s <- rnorm(100) #產(chǎn)生樣本  
    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") 
畫圖結(jié)果如下:



方法二正太Q-Q圖法

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

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

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

方法三經(jīng)驗法則

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

使用R的驗證代碼如下:

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

程序結(jié)果:

> s <- rnorm(10000) #產(chǎn)生樣本
> 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

方法四 統(tǒng)計檢驗方法

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

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

[plain] view plain copy

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

檢驗結(jié)果:

> shapiro.test(s)


        Shapiro-Wilk normality test


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

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


數(shù)據(jù)分析咨詢請掃描二維碼

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

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }