如何檢測異方差並糾正它?

2021-07-09 11:33:33 字數 2633 閱讀 5222

雪晴資料網

線性回歸乙個重要的假設就是殘差沒有異方差性。簡單來說就是殘差的方差不會隨著響應變數的擬合值而增加。在本篇文章,我會解釋為什麼檢測異方差性是重要的?如何檢測模型的異方差性?如果存在,如何通過r**來糾正這個問題。這個過程有時也被稱為殘差分析

一旦你建立線性回歸模型,通常都要檢測殘差的異方差性。原因是我們想要檢測建立的模型能否解釋響應變數y的一些模式,而它最終是顯示在殘差上的。如果存在異方差,得到的回歸模型是低效並且不穩定的,後面就有可能會得到奇怪的**結果。

下面通過r內建的cars資料集得到的乙個回歸模型來做說明。首先通過lm()函式來建立模型:

lmmod
現在,模型已經準備好了。下面通過兩種方式來檢測異方差:

圖形法統計檢驗

圖形法

par(mfrow=c(2,2)) # init 4 charts in 1 panel

plot(lmmod)

圖形如下:

我們感興趣的是左上角和左下角的兩幅圖。左上角是殘差對擬合值作圖。而左下角是標準化殘差對擬合值作圖。如果完全沒有異方差,你應該會看到乙個完全隨機的,點在整個x軸範圍內是均勻分布的,並且得到的是一條平坦的紅線。

但在這個案例中,從左上圖可以看出紅線稍微有些彎曲,殘差似乎隨著擬合值的增大而上公升。因此,推測異方差是存在的。

統計檢驗

有時你可能需要乙個演算法來檢測異方差。以便自動的量化它的存在並作出修改。這裡有兩種檢驗方法來判斷異方差是否存在—breush-pagan檢驗和ncv檢驗。

breush pagan 檢驗

lmtest::bptest(lmmod)  # breusch-pagan test

studentized breusch-pagan test

data: lmmod

bp = 3.2149, df = 1, p-value = 0.07297

ncv檢驗

car::ncvtest(lmmod)  # breusch-pagan test

non-constant variance score test

variance formula: ~ fitted.values

chisquare = 4.650233 df = 1 p = 0.03104933

在給定顯著性水平0.05的情況下,這兩個檢驗的p值都很小。因此我們可以拒絕殘差的方差是恆定的零假設,並推斷出異方差確實是存在的,從而證實了上面的圖形推斷。

重新構建**模型

變數變換,如box-cox變換

box-cox變換

box-cox變換是一種將變數轉化為近似正態分佈的數學變換。通常情況下,對y變數做box-cox變換可以解決這個問題,這正是我要做的。

library(caret)

distbcmod

print(distbcmod)

box-cox transformation

50 data points used to estimate lambda

input data summary:

min. 1st qu. median mean 3rd qu. max.

2.00 26.00 36.00 42.98 56.00 120.00

largest/smallest: 60

sample skewness: 0.759

estimated lambda: 0.5

由box-cox變換得到的模型物件已經有了,現在把它應用到car$dist上並新增到乙個新的資料框。

head(cars) # view the top 6 rows

speed dist dist_new

1 4 2 0.8284271

2 4 10 4.3245553

3 7 4 2.0000000

4 7 22 7.3808315

5 8 16 6.0000000

6 9 10 4.3245553

針對新的回歸模型,變換後的資料已經有了。現在開始建立模型並檢查異方差。

lmmod_bc 

bptest(lmmod_bc)

studentized breusch-pagan test

data: lmmod_bc

bp = 0.011192, df = 1, p-value = 0.9157

對於p值為0.91,我們不能拒絕零假設(殘差的方差是恆定的)。因此推斷殘差的方差是相同的。同樣地,用圖形來檢查下異方差。

plot(lmmod_bc)
圖形如下:

左上圖的線更加扁平並且殘差是均勻分布的。因此,異方差的問題已經解決了。

怎麼解決相位抵消 如何確認並糾正混音中的相位問題

前言 你的混音有沒有出現過聽起來不太對,卻不知道問題在哪兒的狀況?這有可能是出現了 相位抵消 一種會讓你混音中的某些頻率消失的現象。為了解決這個問題,本文會幫你理解相位 它是什麼 為何它這麼重要,以及出現相位問題意味著什麼。物理法則 本質上來說,相位是由聲波決定的,即空氣的振動。當我們聽音時,我們聽...

怎麼解決相位抵消 如何確認並糾正混音中的相位問題

本文譯自 你的混音有沒有出現過聽起來不太對,卻不知道問題在哪兒的狀況?這有可能是出現了 相位抵消 一種會讓你混音中的某些頻率消失的現象。為了解決這個問題,本文會幫你理解相位 它是什麼 為何它這麼重要,以及出現相位問題意味著什麼。本質上來說,相位是由聲波決定的,即空氣的振動。當我們聽音時,我們聽到的實...

如何檢測網路中斷, 並自動重啟網絡卡

本人比較窮,住的是平民窟。所以,要和別人共享網路。很多不厚道的人喜歡用arp 病毒攻擊。害的我的網路不是很穩定,經常會斷網。斷網後,必須,重啟網絡卡網路才能恢復。於是,我聽說window 也有乙個 shell 而且,還叫做powershell。vista 和 window 7 好像是自帶這個shel...