⑴ car | 線性回歸(三)——殘差分析和異常點檢驗
在探索線性回歸的深層次特性時,car包提供了強大的工具來檢驗模型的假設和異常點。首先,我們通過載入car和dplyr庫,構建起我們的分析基礎。利用lm函數創建模型,關鍵在於對其殘差進行細致的剖析,這是評估模型擬合質量的關鍵步驟。
殘差分析的核心在於理解模型的誤差分布。hatvalues函數揭示了帽子矩陣,其值反映了每個觀測值對模型預測的影響力。resials和rstandard函數分別計算普通殘差和標准化殘差,它們的分散程度可以通過deviance除以df.resial來衡量。統計學生化殘差,rstudent函數為我們在模型誤差的標准化尺度上提供了一個更精確的視圖。
模型診斷圖是理解模型假設的關鍵:殘差-擬合圖檢查線性關系的偏差,正態Q-Q圖驗證殘差的正態分布,尺度-位置圖測試同方差性,而殘差-杠桿圖則幫助我們尋找潛在的異常點。在model.1中加入二次項,顯著提升了wt和wt^2與因變數的線性關聯。
偏殘差圖如crPlots(model2, "wt"),在符合線性假設時,應近似為一條直線。當我們觀察模型2的未加入二次項的偏殘差圖時,crPlots(model)提供了直觀的可視化結果。
使用car包的qqPlot(lm對象),如qqPlot(model2),可以對殘差的正態性進行深入檢查。默認的95%置信區間橫縱坐標對應著t分位數和學生化殘差。stats包的輔助函數如qqnorm, qqline, 和qqplot提供了更多定製化的Q-Q圖選項。
通過Shapiro-Wilk測試,我們驗證model2的殘差確實接近正態分布,p值為0.2001。而ncvTest(model)的異方差性檢驗顯示方差非恆定,但p值大於0.05,支持同方差的假設。Durbin-Watson檢驗確保殘差無一階自相關性。VIF(方差膨脹系數)則用來檢查多重共線性,比如vif(model2)揭示了wt與wt^2之間的潛在關聯。
異常點檢測是細致入微的工作,plot(model2, c(4,5,6))圖形顯示了離群點、高杠桿點和強影響點的分布。Cook距離法是識別強影響點的強大工具,cooks.distance(model2)提供了相關數值。influence.measures函數則提供了更全面的影響指標,如dfb和dffit。
具體實例中,對於Datsun 710, Hornet 4 Drive, Hornet Sportabout, Valiant這四個車型的模型估計結果,我們看到了dfb, dffit, cov.r, cook.d, 和hat值。Mazda RX4等樣本被確認為非強影響點,其影響標記為FALSE。
⑵ 第三節 違背基本假設的情況
本節主要包括:
在這里先給大家普及一個單詞 aftermath 創傷!真的是,,,學完實變函數心靈受到了極大的創傷,,,
言歸正傳,接下來的幾章我們會說明,在回歸的 三大基本假設 不滿足的情況下,會有什麼解決方案。
還記得回歸的三大假設嘛?他們是:
在本章中我們主要研究不滿足第二條的情況我們該如何處理。
數學上說就是 。現實中這樣的例子也有很多,比方說收入模型,貧窮如我的人整天就會想怎麼才能吃飽,就算想買點東西也買不起,窮人之間的購買力差異就很小,而富有的人的話,有的人出手闊綽,有的人比較節約,這就導致了富有的人支出差異很大。在異方差出現的時候,會有很多問題。比方說 參數不再是最佳線性無偏估計(但依然無偏),顯著性檢驗也失效了。所以回歸的效果也很不理想 。所以統計學家要想辦法去偵測到它,並且努力去消除它。
因為正常情況下, ,所以異方差性是可以通過殘差看出來的,這就是殘差圖檢驗的由來。
以殘差ei為縱坐標,以其他適宜的變數為橫坐標畫散點圖。
常用的橫坐標有:
1.擬合值 ;
2.橫坐標, ;
3.觀測時間或序號.
在 滿足假設時 殘差圖上的n個點散布應是隨機的,無任何規律; 存在異方差 時,殘差圖上的點散布呈現相應的趨勢.比方說我的殘差長下面這個樣子
這種方法簡單來說就是計算自變數 與殘差絕對值 之間的相關性,看看他們之間有沒有什麼系統的關系(函數關系)。注意我們採用Spearman 等級相關系數而沒有採用 Pearson 簡單相關系數,這是因為等級相關系數可以反映非線性相關的情況。
定義:
等級相關系數:
斯皮爾曼檢驗量:
在做等級相關系數檢驗之前需要先對模型做一次回歸(雖然我們這里已經知道異方差性存在的情況下,回歸沒啥用了。但是如果你不做回歸測試異方差性,你又怎麼確定回歸沒用的呢?)。得到隨機誤差 的估計值殘差 .然後取殘差絕對值 ,把 與 都按照從高到低的順序或者從低到高排序,最後標記二者的排位(就是第幾大或者第幾小),算出二者等級的對應差值計算出來就是 。比如說一個數據的自變數值 是第8大的,但是它的對應的殘差絕對值 是第三大的,那麼對應的 。
這個檢驗量在 的時候是近似服從 t 分布的,因此如果檢驗量的值 ,就可以認為沒有異方差。否則說明 與 之間存在系統關系。
加權最小二乘估計是解決異方差問題的一種辦法。還有Box-Cox變換法,等等。
一般來說,在最小二乘回歸中,我們實際上就是要最小化 。注意到的是這個和式的每一項的期望都是 (因為異方差性假設存在,所以我們不再使用 )。所以如果某一項方差越大,實際上這一項所佔的比重就很大,那麼為了最小化我們的離差平方和,就必須要讓回歸直線「盡量偏向」這個方差很大的數據點。
從這里也可以看出來加權最小二乘法的一個局限性: 照顧小殘差項是以犧牲大殘差項為代價的。
為了解決這個問題我們把平方和改一下,寫成下面的樣子:
按照相同的方法回歸,可得:
得到啥你自己看書吧-.-!P97 4.5
所以這個回歸的關鍵就是如何選擇我們的 。直觀上來看,因為每一項的期望是 ,所以!只要讓 就可以啦~(讓回歸直線「盡量偏向」這個方差很大的數據點嘛,方差越大權重就小一點,回歸系數就大了)
problem solved~
不好意思沒那麼簡單,理論可行,可是 是啥你不知道啊。所以如果沒有電腦,我們一般是通過殘差圖去「猜測」應該用什麼權。比方說如果 與 成正比,那麼這個時候可以考慮拿 去作為權函數。實際上我們也是 一般使用類似於 這樣的自變數的冪函數來構造權函數 。
如果使用 SPSS 計算就簡單多了,通過尋找 m 值使得對數似然函數值最大,具體參見 P98。
多元的情況與一元十分相似,有一個問題就是我們權函數的構造,在一元中我們可以用自變數的冪函數構造。但是多元的情況,如果我們用每一個自變數的冪函數構造,那麼對應的計算量可能就是 級別的,所以在多元的情況下我們 一般都只使用其中一個自變數 。所以問題來了,我們用哪一個自變數呢?
這也是有一個法則的,一般來說需要計算每一個自變數 與變通殘差( )的等級相關系數(斯皮爾曼等級相關系數),取最大的那個構造即可。
具體的例子見 P103
隨機誤差項之間存在自相關性 的意思就是 。簡單點來說就是誤差項之間存在相關關系。
這種自相關包括 一階自相關 與 多階自相關 。
這在現實生活中也是很常見的。比如說金融危機一般都是要延後兩三年才會有很顯著的負面影響。另外時間序列模型本質上也就是一種自相關的模型。
(1)遺漏關鍵變數;
(2)經濟變數的滯後性;
(3)採用錯誤的回歸函數形式;
(4)蛛網現象帶來的序列自相關性;
(5)對數據加工整理導致誤差項之間產生自相關性。
自相關其實就相當於不滿足G-M條件了,如果還是使用普通最小二乘法估計參數就會產生很多問題:
(1)參數估計值不再具有最小方差線性無偏性;
(2)均方誤差(MSE)可能嚴重低估誤差項的方差;
(3)容易導致 t 值過高,所以 F 檢驗、 t 檢驗就失效了
(4)最小二乘估計量也會對抽樣的波動很敏感,意思是說在一些特定的樣本中, 雖然無偏,但是估計出來的值 卻可能嚴重與 真實值不同。
(5)預測和分析會帶來較大的方差,甚至錯誤的解釋。
這個問題還是挺嚴重的,下面瞅瞅怎麼把這個問題檢驗出來:
首先直接使用普通最小二乘法估計參數,根據回歸殘差項 的相關性來判斷隨機誤差項 的序列相關性。一般有兩種方法:
可以看出這相當於是說隨著時間的推移,殘差並不是散亂,而是有序,或者說以一個函數形式出現的。這就說明存在自相關性了。
但是這種定性的分析總是感覺不夠精確,所以我們需要更好的方法。
自相關系數說白了就是計算隨機誤差項之間的相關程度總和的一個量。如果這個量超過了某個數我們就認為這些隨機誤差項之間有關系,也就是說存在自相關性。
首先給出 誤差序列 的系相關系數 定義:
這也是時間序列中一個很重要的統計量。和簡單相關系數對比容易得到它的范圍是 。
當 接近 -1 時表明誤差序列存在負相關,當 接近 1 時表明誤差序列存在正相關 。
還是有一個問題就是,誤差序列 的真實值是未知的,那麼我們就只能使用其估計值:殘差 去代替。這就可以得到自相關系數的估計值 。
估計是可以的,但是這樣又產生了一個問題,就是這個 作為 的估計值就與樣本量有關了(直觀來想就是樣本量越多估計的越好唄),這就需要構造統計量,做一下顯著性檢驗才能確定自相關性是否存在。一般使用下面的 DW 檢驗代替對 的檢驗。
DW (Durbin-Watson)檢驗其實說白了就是一假設檢驗。要有假設,需要構造統計量,計算拒絕域,最後根據顯著性水平判斷。DW 檢驗是很常用的一種檢驗自相關的方法。
DW 檢驗有一定的 使用條件 :
首先需要知道,隨機擾動項的一階自回歸形式為:
其中 為自回歸系數(數值上等於自相關系數,就是剛剛剛學的自相關系數還記得嗎), 是滿足 G-M 條件的隨機誤差項。
為了檢驗序列相關性,(其實就是檢驗上面的方程成立) 原假設 是:
構造的 統計量 是:
其中: 是回歸估計式的殘差 。
接下來的問題就是求拒絕域啦,首先我們來看看 DW 的取值范圍:其實只需要將 DW 的分子展開一下就可以得到:
分子的第一項與第二項在 n 比較大的時候幾乎是相同的(所以一般來說 DW 檢驗要求 ),而第三項與分母的比就是我們的 。 所以有 ,換句話說 。 根據以上的分析我們大約知道 DW 的取值范圍為 。
因而 DW 值與 的對應關系表如下表所示:
在書上的P109頁有一張表。(假裝這里有表)
所以 確定拒絕域的方法是:根據樣本量 n 和解釋變數的數目 k (這里包括常數項)查 DW 分布表,得到臨界值 和 ,最後根據計算得到的 DW 值決定模型的自相關狀態。 如下圖所示:
行,我們費了老大勁把自相關問題檢驗出來了,下面看看咋處理吧,,,咋整呀,,,
在處理自相關問題的時候需要首先查明自相關產生的原因,我們順便復習一下 5 點奧(其實我也沒記住翻回去看的,逃有幾個問題可以直接解決,實在不行咱再想辦法:
迭代法的想法就是想辦法消掉誤差項中相關的那一部分(剩下的不就是不相關的),這樣就可以使用普通最小二乘回歸啦,最後再把所做的變數替換帶回去就可以的。
我們就以一階自相關來舉例:假設我們的模型為:
其中 滿足 G-M 條件(期望值相等,相互獨立)。
根據這個模型讓時間倒退回去一點,就可以得到:
為了消除自相關性,歸根結底是要讓誤差項回到 ,(誰讓人家滿足G-M條件嘛)
這就需要我們得到 。所以我們來計算
對應的變數做換元就可以可到: 。這個時候可以看出誤差項就滿足 G-M 條件啦。接下來就對變換後的模型使用普通最小二乘法就可以啦,然後再把變數帶回去。
那麼這樣的方法可以看出如果真的誤差項存在一階自相關的話,那麼很明顯是有效的。但是實際情況並不總是如此,有時候誤差項的自相關階數是很高的,所以我們的方法是不停的迭代,直到我們的 DW 檢驗能夠說明它沒有自相關了為止,可以說是簡單粗暴啊。
差分法的適用范圍就更窄了,它是適用於原模型存在 較高程度一階自相關 的情況才可使用。在迭代法的模型中我們設 ,就可以得到一個差分法的模型:( 注意這個模型不帶常數項 ,回歸直線過原點)
其中 ,
對它做一個回歸就可以得到: (注意 t = 2 開始是因為差分肯定只能從第二項開始才會有數據)。
一般來說我們先使用 估計 ,(注意這里的 是自相關系數,而不是普通相關系數),如果 接近 1 就 採用差分法而不使用迭代法 ,這是因為:
有時候數據中會包含一兩個極端或異常的觀測值,這些數據與其他數據遠遠分開,會引起較大的殘差,影響回歸效果(這可不是啥好事兒),所以呢我們就想著怎麼把這些害群之馬給踢了,一般對於二元三元呢,我們畫一個散點圖看一下就知道了,但是多元就麻煩了,這傢伙,沒法兒畫啊,你說氣不氣人,想想有沒有啥其他招吧。
一般來說我們會分為 x y 兩個維度討論異常值:
在數據分析中,剛開始總是要看有沒有特別特別「高」的點。一般來說會認為殘差 超過 的殘差的話它就是異常值。但是問題在於,多元回歸中 ,其中 為帽子矩陣 的主對角線元素,這也就說明每一個數據點的誤差是不相同的。那麼單純的因為它「特別高」就認為數據異常就不合適了。因為這很有可能是殘差導致的,換句話說這個數據「特別高」不是因為它異常,而是因為它「就完全有可能這么高」。換句話說,因為誤差是每一個數據點的固有性質,所以如果是因為殘差特別大,導致某一個數據點像異常值,那麼即使你剔除掉這個異常值,也不會對回歸有任何幫助。(就是你踢錯人了,人家不異常)
那麼應該如何去做呢?我們在之前介紹過一個學生化殘差
看似通過把杠桿值的影響去除掉可以解決方差不等的問題,但是如果觀測數據中真的存在異常值,學生化殘差也沒有什麼卵用。這是因為這個時候,異常值的存在會使得回歸線「偏向」它,進而使得回歸的標准差 實際上是偏大的。那麼這樣子的話,實際的學生化殘差是偏小的,這就不能使用 的原則來判斷殘差了。
為了解決異常值的問題,我們需要別的辦法。
我們這么構造刪除殘差:針對第 i 個觀測值,我們計算它的殘差時,用其餘 n-1 個觀測值擬合回歸方程,計算出第 i 個觀測值的刪除擬合值 ,那麼這個值顯然不會受到第 i 個值是否是異常值的影響。所以我們定義 刪除殘差 為:
進一步:
刪除化學生殘差為 :
一般來說,認為 的時候就是異常值點。
首先需要知道啥叫強影響點:還是關於殘差的方差式 ,可以看出 大的點殘差小,因此如果觀測值的杠桿值( )大,就會使得回歸方程偏移產生影響。所以一般來說 杠桿值大的點我們叫做強影響點 ,注意它不一定是 y 的異常值。
強影響點並不總是 y 值的異常點, 此強影響點並不總會對回歸方程造成不良影響 ,但是實際上,強影響點還是很需要被關注的,這是因為:
實際情況是很復雜的,所以一般使用一個粗略的標准,認為 就是異常值, 就是非異常值。
Box-Cox 變換也叫 方差穩定性變換 。這個方法比較特殊,所以把它單獨拿出來了,說他特殊是因為它真的太!好!使!了! B-C 變換可以處理異方差、自相關、誤差非正態、回歸函數非線性等情況。
夠狠!
它是對 y 做如下的變換:
在實際應用時,我們一般使用計算機找到一個 使得對數似然函數達到極大,也就是 達到最小即可(具體的推導見 P117)
最後找到最佳的 之後再把方程還原回去。下面舉一個特例,考試喜歡這么出一個:
轉化為原始變數方程:只需要把 代入,還原為原始方程為:
⑶ 什麼是高杠桿點
支點:杠桿繞著轉動的固定點,一般情況下該點是不移動的。簡單一點講,就是在杠桿轉動時,唯一的一個不動點。你只要找到這一點,就將其判斷為支點。動力:使杠桿轉動的力。這個力的作用點在杠桿上,你需要知道的是這個力的大小及方向。題目一般都會把這兩個條件告訴你,然後你將這個力的方向延長,這條畫出來的虛線我們稱之為動力作用線。阻力:阻礙杠桿轉動的力。阻力的方向的判斷比較難,但是必須知道。舉例子好理解:用木頭撬動石頭時,杠桿是要克服石頭重力轉動的,所以此時石頭重力是阻力,方向是豎直向下。初中題目如果沒有直接或間接告訴你阻力的方向和大小,一般就是要克服重力轉動的,類似於上面的題目。阻力作用線和動力作用線一樣,需要畫出來。動力臂:從支點到動力作用線的距離。只要畫出過支點的垂直於動力作用線的線段,這個線段長度就是動力臂的長度,所謂距離,就是支點離線段的最近距離嘛!阻力臂:從支點到阻力作用線的距離。杠桿是個物理模型.通常支點就是相對」固定」的位置.用筷子夾食物,那麼支點在筷子與手的上部(不是手指)接觸的部位.有些情況下支點是移動的,例如動滑輪看成動力臂為阻力臂二倍的杠桿時.還有時杠桿的支點是可以任意選定的.例如一座」獨木橋」的問題,可將支點選在任意一端(甚至橋上任意一點)