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

熱線電話:13121318867

登錄
首頁精彩閱讀R語言-如何處理回歸中的異常值點
R語言-如何處理回歸中的異常值點
2017-05-30
收藏

R語言-如何處理回歸中的異常值

異常觀測值

一個全面的回歸分析要覆蓋對異常值的分析,包括離群點、高杠桿值點和強(qiáng)影響點。這些數(shù)據(jù)點需要更深入的研究,因為它們在一定程度上與其他觀測點不同,可能對結(jié)果產(chǎn)生較大的負(fù)面影響。下面我們依次學(xué)習(xí)這些異常值。

8.4.1 離群點

離群點是指那些模型預(yù)測效果不佳的觀測點。它們通常有很大的、或正或負(fù)的殘差(Yi-Y ?i )。正的殘差說明模型低估了響應(yīng)值,負(fù)的殘差則說明高估了響應(yīng)值。你已經(jīng)學(xué)習(xí)過一種鑒別離群點的方法:圖8-9的Q-Q圖,落在置信區(qū)間帶外的點即可被認(rèn)為是離群點。另外一個粗糙的判斷準(zhǔn)則:標(biāo)準(zhǔn)化殘差值大于2或者小于-2的點可能是離群點,需要特別關(guān)注。
car包也提供了一種離群點的統(tǒng)計檢驗方法。 outlierTest()函數(shù)可以求得最大標(biāo)準(zhǔn)化殘差絕對值Bonferroni調(diào)整后的p值:

此處,你可以看到Nevada被判定為離群點(p=0.048)。注意,該函數(shù)只是根據(jù)單個最大(或正或負(fù))殘差值的顯著性來判斷是否有離群點。若不顯著,則說明數(shù)據(jù)集中沒有離群點;若顯著,則你必須刪除該離群點,然后再檢驗是否還有其他離群點存在。

8.4.2 高杠桿值點

高杠桿值觀測點,即是與其他預(yù)測變量有關(guān)的離群點。換句話說,它們是由許多異常的預(yù)測變量值組合起來的,與響應(yīng)變量值沒有關(guān)系。高杠桿值的觀測點可通過帽子統(tǒng)計量(hat statistic)判斷。對于一個給定的數(shù)據(jù)集,帽子均值為p/n,其中p 是模型估計的參數(shù)數(shù)目(包含截距項), n 是樣本量。一般來說,若觀測點的帽子值大于帽子均值的2或3倍,即可以認(rèn)定為高杠桿值點。下面代碼畫出了帽子值的分布:

結(jié)果見圖8-13。

水平線標(biāo)注的即帽子均值2倍和3倍的位置。 定位函數(shù)(locator function)能以交互模式繪圖:單擊感興趣的點,然后進(jìn)行標(biāo)注,停止交互時,用戶可按Esc鍵退出,或從圖形下拉菜單中選擇Stop,或直接右擊圖形。此圖中,可以看到Alaska和California非常異常,查看它們的預(yù)測變量值,與其他48個州進(jìn)行比較發(fā)現(xiàn): Alaska收入比其他州高得多,而人口和溫度卻很低; California人口比其他州府多得多,但收入和溫度也很高。高杠桿值點可能會是強(qiáng)影響點,也可能不是,這要看它們是否是離群點。

8.4.3 強(qiáng)影響點

強(qiáng)影響點,即對模型參數(shù)估計值影響有些比例失衡的點。例如,若移除模型的一個觀測點時模型會發(fā)生巨大的改變,那么你就需要檢測一下數(shù)據(jù)中是否存在強(qiáng)影響點了。有兩種方法可以檢測強(qiáng)影響點: Cook距離,或稱D統(tǒng)計量,以及變量添加圖(added variable plot) 。一般來說, Cook’s D值大于4/(n-k-1),則表明它是強(qiáng)影響點,其中n 為樣本量大小, k 是預(yù)測變量數(shù)目??赏ㄟ^如下代碼繪制Cook’s D圖形(圖8-14):

通過圖形可以判斷Alaska、 Hawaii和Nevada是強(qiáng)影響點。若刪除這些點,將會導(dǎo)致回歸模型截距項和斜率發(fā)生顯著變化。注意,雖然該圖對搜尋強(qiáng)影響點很有用,但我逐漸發(fā)現(xiàn)以1為分割點比4/(n?k ?1)更具一般性。若設(shè)定D=1為判別標(biāo)準(zhǔn),則數(shù)據(jù)集中沒有點看起來像是強(qiáng)影響點。Cook’s D圖有助于鑒別強(qiáng)影響點,但是并不提供關(guān)于這些點如何影響模型的信息。變量添加圖彌補(bǔ)了這個缺陷。對于一個響應(yīng)變量和k 個預(yù)測變量,你可以如下圖創(chuàng)建k 個變量添加圖。所謂變量添加圖,即對于每個預(yù)測變量Xk,繪制Xk 在其他k ?1個預(yù)測變量上回歸的殘差值相對于響應(yīng)變量在其他k-1個預(yù)測變量上回歸的殘差值的關(guān)系圖。 car包中的avPlots()函數(shù)可提供變量添加圖:

結(jié)果如圖8-15所示。

圖形一次生成一個,用戶可以通過單擊點來判斷強(qiáng)影響點。按下Esc,或從圖形菜單中選擇Stop,或右擊,便可移動到下一個圖形。我已在左下圖中鑒別出Alaska為強(qiáng)影響點。
圖中的直線表示相應(yīng)預(yù)測變量的實際回歸系數(shù)。你可以想象刪除某些強(qiáng)影響點后直線的改變,以此來估計它的影響效果。例如,來看左下角的圖(“ Murder|others” VS“ Income|others”),若刪除點Alaska,直線將往負(fù)向移動。事實上,刪除Alaska, Income的回歸系數(shù)將會從0.000 06變?yōu)?0.000 85。當(dāng)然,利用car包中的influencePlot()函數(shù),你還可以將離群點、杠桿值和強(qiáng)影響點的信息整合到一幅圖形中:

圖8-16反映出Nevada和Rhode Island是離群點, New York、 California、 Hawaii和Washington有高杠桿值, Nevada、 Alaska和Hawaii為強(qiáng)影響點。


數(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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) 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); }