天天看點

5、spss做權重最小二乘回歸及嶺回歸

上一節我們講到一般多元線性回歸的操作方法。本節要介紹的是多元線性回歸的其他幾種情況。包括适用于含有權重變量的權重最小二乘回歸方程等。然後繼續讨論上一節中沒有讨論完畢的如何解決多重共線性這個問題。

講權重最小二乘回歸之前,我們首先還是舉個例子。假設我們想考察全國三十一個省的某種疾病的發病率和每個省的面積,平均氣溫等的關系,那麼我們知道,這三十一個省的人口肯定是不同的。而且差距還蠻大。并且最重要的,我們知道,發病率的高低很可能和人口的多少有關系(考慮傳染性,人口密度什麼的),那麼這個時候我們直接用最小二乘回歸就不是那麼合适了,我們更好的選擇是權重最小二乘回歸法。也就是說,當樣本和某一個權數存在某種關系的時候,我們就用權重最小二乘回歸。

在上一節中我們提到過線上性回歸主面闆最下邊有一個wls權重框框。在權重最小二乘回歸方法裡邊,我們就要用到這個框框了。我們在設定變量的時候除了自變量和因變量,還要設定一個權數變量(在上述的醫學例子裡,這個變量可以是每個省的人口。在其他一些金融案例裡邊,比方研究高價股票和低價股票的波動時,由于這兩種股票在其他因素相同時的波動幅度不同,是以需要設一個權數,這個權數可能就是自己設定的了。)然後我們把這個權數變量選入到wls權重框裡邊。其他過程和一般線性回歸一緻。

解釋結果的時候也和一般線性回歸類似,隻是有一個小小的地方需要大家注意一下。我們知道,模型彙總表裡邊的決定系數是一個比較重要的參考資料。它會告訴你你的方程能解釋你的模型的百分之多少,進而從側面考察了你的方程的合理性。但是不幸的是,這個決定系數在權重線性回歸裡邊出現了比較嚴重的偏差。這個和決定系數的計算方法有關系。是以假如我們用同樣的資料做一遍權重的回歸,和一遍不權重的回歸,往往會發現不權重的方程決定系數大于權重的。但是這個并不能代表不權重的方程就一定比權重後的準确。實際上權重以後的模型和不權重的模型到底孰優孰劣,好的那個方程又能好多少,這些問題spss都不能給出直接的資料。是以在使用權重最小二乘回歸的時候應當格外謹慎。

此外,由于有時候權重并不特别明确,(比如上邊那個金融的案例),這時候可以使用分析——回歸——權重估計這個選項。這個選項的主面闆和回歸分析主面闆類似,自變量,因變量,權重。變量選擇的方法和上邊的權重回歸也類似。這個方法也需要你事先給出一個大概的權重變量,然後系統會做一定的調整來使方程達到最佳效果。結果解釋等也類似,就不贅述了。

除了權重回歸以外,還有一個比較特别的線性回歸是曲線參數估計。

如果你的線性模型拟合的不是那麼理想,那麼你的模型很可能就是曲線型的(尤其是你有兩個變量的時候,線性模型有時候會非常糟糕)。需要打開分析——回歸——曲線估計,選擇你的因變量,自變量。此外下邊還有十一種模型供你選擇。選好以後,結果會給出每種模型的決定系數,f值,p值,你可以從這些資料中判斷哪個方程最适合你的模型。

當然,這個不會給出你非常詳細的資料。如果你還想要看更詳細的資料,比如方程中每個參數的p值什麼的,你最好還是用線性回歸做一下。啊,當然,當然,你的資料肯定是沒辦法直接做線性回歸的,不然也就不用做曲線估計了。你需要首先轉換你的資料。舉個例子:y=x1^2*a1+x2^2*a2……,假設你的模型做出來符合這種形式。那你首先要在資料——計算新變量裡邊,計算出新變量x1的方,x2的方,然後在做這兩個新變量和因變量的一般線性回歸。當然,如果你想要在方程的自變量裡在加一個x1和x2的積,你也可以這麼加上去。

那麼除了logistic回歸以外,線性回歸的内容基本就完畢了。下邊我們繼續讨論一個問題:如何消除自變量間的共線性?

上一節裡邊提到,如果vif(方差因子膨脹率)合格,而dw不合格的話,我們可以使用廣義差分法來改善dw,得到好的模型。那這一節,我們就來讨論一下vif不合格的情況。我們已經知道,如果vif不合格的話,說明自變量存在嚴重的共線性。在回歸的範疇裡邊,通常有三種方法可以解決這個問題。他們分别是偏最小平方回歸,嶺回歸,路徑分析。

偏最小平方回歸對于初學者來講,是一個并不常用的回歸方法。如果想用這個分析的話,需要額外下載下傳相關子產品。下好相關子產品以後,打開分析——回歸——部分最小回歸,(如果沒有下載下傳相關子產品的話,他會提示你下載下傳),打開主面闆,這是一個相當簡單的面闆,選好自變量,因變量之後,點确定就可以。結果會呈現四個表,也并不難判斷。就不贅述了。

嶺回歸可以下載下傳相關子產品,也可以自己程式設計來實作。大部分人都會選擇後一種方法。這個主要是因為代碼很簡潔,很容易編寫。代碼如下:

include’d:\spss20.0\ridge regression.sps’.

ridgereg enter=x1 x2 x3

/dep=y

諾,就這麼三行。第一行單引号裡邊填寫你的spss安裝目錄。比如我的按在d盤下面,是以我就填d:\spss20.0,如果你的按在c盤,那就填c盤呗。然後目錄後邊那個ridge regression,是最小二乘平方的宏的調用。然後第二行x1,x2,x3的位置填寫你的自變量的名字。有幾個就填幾個。中間用空格隔開。第三行y的位置填你的因變量。運作的時候,打開檔案——建立——文法,進入文法編輯器視窗,輸入上邊的代碼,然後點運作——全部就可以了。結果會有一個系數表,這個表的第一列是k值,第二列是決定系數,第三列往後是你的自變量。其中k值會從0開始增大,同時決定系數也會慢慢變小,最終趨于穩定。(嶺回歸舍棄了一定的資訊,進而改善了多重共線性)要從這張表裡邊選取合适的k值,使決定系數盡量大,同時盡量穩定。選好k值就可以參照系數寫出方程了。此外在嶺回歸裡邊是不會輸出常數的。這也是和一般回歸方法的一個不同之處。

嶺回歸和偏最小平方回歸比較而言,嶺回歸的優勢在于容易操作。偏最小平方回歸的優勢在于可以用于例數很少的情況。如果例數很少,自變量又很多,甚至例數都少于自變量的數目,那麼就一定要用偏最小平方回歸了。額,通常在金融領域不會發生這種情況,但是在一些特殊的領域,醫學啊什麼的,則是有可能發生的。是以在某種程度上來講,偏最小平方回歸是給特殊需要的人使用的。

最後補充介紹一下路徑分析。如果說前邊兩種方法都是從過程中實作的話,那麼路徑分析就是從專業角度來刻畫方程了。舉個例子,比如你想看看一朵鮮花的開放時間和陽光強度,空氣濕度,空氣溫度,日照時間等等的關系,做出分析來一看,存在共線性。如果你是專業人員,那麼很可能你就知道,由于空氣溫度受到陽光強度,和日照時間的影響,是以你的方程就存在了共線性。是以呢,你就能寫出一個空氣溫度,陽光強度,日照時間之間的一個回歸方程。然後你就能畫出一個路徑圖,代表陽光強度的圈圈不僅直接影響了花朵開放時間,而且還影響了空氣溫度,進而間接影響了花朵開放時間,并且你還能寫出彼此之間的影響系數。這就是路徑分析的主要内容。

當然路徑分析需要有專業知識的人來做。并且呢,通常需要經過許多嘗試,才能正确的寫出因變量和自變量之間的方程。而且,最重要的是,路徑分析隻能幫助我們搞清楚自變量之間到底存在怎麼樣的共線性,對于矯正方程沒有什麼作用。也就是說,方程的決定系數可能依然很糟糕。是以它更多的是用來做示範圖或者什麼的,對于改善多重共線性真的沒什麼用。

解決多重共線性的常見方法可以告一段落了。在非線性回歸,分類回歸之後我們介紹因子分析時将會舊話重提,再次讨論多重共線性的問題。