R語言 觀測異常值並改進

2021-10-05 19:33:29 字數 2455 閱讀 8459

全面的回歸分析包括對異常值的分析:離群點、高槓桿值點、強影響點。

離群點:模型效果不佳的觀測點。

使用car包中的outliertest()函式,可以求得最大標準化殘差絕對值bonferroni調整後的p值,若不顯著,則說明資料集中沒有離群點,若顯著,則必須刪除該離群點。

可見,在這個回歸模型中

nevada是離群點。

高槓桿值點:與其他**變數有關的離群點,也就是由許多異常的變數值組合起來,與響應變數沒有關係的變數。高槓桿值點可能成為強影響點,這主要取決於他們是不是離群點。

強影響點:對模型引數估計值影響有些比例失衡的點。(比如移動模型的乙個觀測點之後模型就會發生巨大的改變。)

綜合:利用car包中的influenceplot()函式,可以將離群點、槓桿值和強影響點的資訊整合到一幅圖形中。

圖中,縱座標超過+2或者小於-2的州可以認為是離群點;

水平軸超過0.2或者0.3的州有高槓桿值;

圓圈大小和影響成比例,圓圈很大的點可能是對模型引數的估計造成的不成比例影響的強影響點。

ps:書裡面的圖:

從這張圖裡面可以看出,

nevada和rhode island是離群點,

new york、california、hawaii和washington有高槓桿值,

nevada、alaska和hawaii為強影響點。

但是困惑的是為什麼我繪製的圖裡面,這幾個州的名字沒有顯示出來呢?有沒有懂得小夥伴教教弟弟。

找到異常值之後,接下來談到的便是改進措施

改進措施一:刪除觀測點

不斷刪除強影響點或者離群點,重複直到獲得比較滿意的擬合。但是如果不是因為資料錯誤而導致的異常值,那麼這個資料就是乙個有趣的點,可能包含我們之前沒有意識到的其他資訊,有助於更好地理解我們的主題,所以直接刪除並不合適。

改進措施二:變數變換

模型不符合正態性、線性或者同方差性,乙個或者多個變數的變換通常可以改善或者調整模型效果。

若模型違反正態假設,可以使用car包中的powertransform()

結果表明可以用murder^0.6 來正太化變數murder,但是本例中無法拒絕λ(lambda)=1的假設,因為p=0.145 ,因此沒有強有力的證據表明本例需要變數變換。

若模型違反了線性假設,則對**變數進行變換比較有用。可以使用car包中的boxtidwell()函式來獲得冪數。

結果表示,使用population^0.87和illiteracy^1.36能夠改善線性關係。

但是population(p=0.75)和illiteracy(p=0.54)的積分檢驗又表明變數不需要變化。

R中異常值檢測

data1 complete.cases selectdata 布林判斷 true代表1,false代表0 sum complete.cases selectdata 完整資料200條 sum complete.cases selectdata 不完整資料1條 mean complete.cases...

R語言異常值診斷,計算box cox值

data data.frame 資料框的構建 異常值診斷 r y c 160,260,210,265,240,220,275,160,275,250 x1 c 70,75,65,74,72,68,78,66,70,65 x2 c 35,40,40,42,38,45,42,36,44,42 x3 c ...

R語言回歸分析中的異常值點的介紹

1 離群點 如何識別離群點?1 q q圖,落在置信區間帶外的點即可被認為是離群點。2 乙個粗糙的判斷準則 標準化殘差值大於2或者小於2的點可能是離群 3 library car outliertest fit 顯示離群點 rstudent unadjusted p value bonferonni ...