天天看點

ols殘差_資料挖掘 第四篇:OLS回歸分析

變量之間存在着相關關系,比如,人的身高和體重之間存在着關系,一般來說,人高一些,體重要重一些,身高和體重之間存在的是不确定性的相關關系。回歸分析是研究相關關系的一種數學工具,它能幫助我們從一個變量的取值區估計另一個變量的取值。

OLS(最小二乘法)主要用于線性回歸的參數估計,它的思路很簡單,就是求一些使得實際值和模型估值之差的平方和達到最小的值,将其作為參數估計值。就是說,通過最小化誤差的平方和尋找資料的最佳函數比對。利用最小二乘法可以簡便地求得未知的資料,并使得這些求得的資料與實際資料之間誤差的平方和為最小。最小二乘法可用于曲線拟合,其他一些優化問題也可通過最小化能量或最大化熵用最小二乘法來表達。

一,OLS回歸

OLS法通過一系列的預測變量來預測響應變量(也可以說是在預測變量上回歸響應變量)。線性回歸是指對參數β為線性的一種回歸(即參數隻以一次方的形式出現)模型:

Yt=α+βxt+μt (t=1……n)表示觀測數

Yt被稱作因變量

xt被稱作自變量

α、β 為需要最小二乘法去确定的參數,或稱回歸系數

μt為随機誤差項

OLS線性回歸的基本原則:最優拟合曲線應該使各點到直線的距離的平方和(即殘差平方和,簡稱RSS)最小:

ols殘差_資料挖掘 第四篇:OLS回歸分析

OLS線性回歸的目标是通過減少響應變量的真實值與預測值的內插補點來獲得模型參數(截距項和斜率),就是使RSS最小。

為了能夠恰當地解釋OLS模型的系數,資料必須滿足以下統計假設:

正态性:對于固定的自變量值,因變量值成正太分布

獨立性:個體之間互相獨立

線性相關:因變量和自變量之間為線性相關

同方差性:因變量的方差不随自變量的水準不同而變化,即因變量的方差是不變的

二,用lm()拟合回歸模型

在R中,拟合回歸模型最基本的函數是lm(),格式為:

lm(formula, data)

formula中的符号注釋:

~ 分割符号,左邊為因變量,右邊為自變量,例如, z~x+y,表示通過x和y來預測z

+ 分割預測變量

: 表示預測變量的互動項,例如,z~x+y+x:y

* 表示所有可能的互動項,例如,z~x*y 展開為 z~x+y+x:y

^ 表示互動項的次數,例如,z ~ (x+y)^2,展開為z~x+y+x:y

. 表示包含除因變量之外的所有變量,例如,如果隻有三個變量x,y和z,那麼代碼 z~. 展開為z~x+y+x:y

-1 删除截距項,強制回歸的直線通過原點

I() 從算術的角度來解釋括号中的表達式,例如,z~y+I(x^2) 表示的拟合公式是 z=a+by+cx2

function 可以在表達式中應用數學函數,例如,log(z) ~x+y

對于拟合後的模型(lm函數傳回的對象),可以應用下面的函數,得到模型的更多額外的資訊。

summary() 展示拟合模型的詳細結果

coefficients() 列出捏模型的參數(截距項intercept和斜率)

confint() 提供模型參數的置信區間

residuals() 列出拟合模型的殘內插補點

fitted() 列出拟合模型的預測值

anova() 生成一個拟合模型的方差分析表

predict() 用拟合模型對新的資料預測響應變量

例如,使用基礎安裝包中的資料集women(包含了年齡在30-39歲之間女性的身高和體重資訊),通過身高來預測體重。

1,線性拟合

使用lm()函數來拟合模型,獲得模型對象fit

fit

使用summary()函數來檢視模型的資訊:

>summary(fit)

Call:

lm(formula= weight ~ height, data =women)

Residuals:

Min 1Q Median 3Q Max-1.7333 -1.1333 -0.3833 0.7417 3.1167Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept)-87.51667 5.93694 -14.74 1.71e-09 ***height3.45000 0.09114 37.85 1.09e-14 ***

---Signif. codes:0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error:1.525 on 13degrees of freedom

Multiple R-squared: 0.991, Adjusted R-squared: 0.9903F-statistic: 1433 on 1 and 13 DF, p-value: 1.091e-14

殘差标準差(Residual standard error):表示模型用身高來預測體重的平均誤差

R的平方項(Multiple R-squared):表明模型可以解釋體重99.1%的方差,是實際和預測值之間相關系數的平方。

F統計量(F-statistic):檢驗所有的預測變量預測響應變量是否都在某個機率水準之上,

從Coefficients 組中,可以看到 Intercept(截距項)是 - 87.51667,height的系數是3.45,截距項和系數的标準差、t值和Pr(>|t|),其中,Pr(>|t|) 表示雙邊檢驗的p值

注,p值的表示方法通常有p-value,或Pr,p值是機率,表示某一事件發生的可能性大小。如果P值很小,說明原假設情況的發生的機率很小,而如果出現了,根據小機率原理,我們就有理由拒絕原假設,P值越小,我們拒絕原假設的理由越充分。總之,P值越小,表明結果越顯著。

是以可以得到預測等式:

Weight= - 87.51667 + 3.45 * Height

繪制拟合的直線:

> plot(women$height, women$weight,xlab='height',ylab='weight')> abline(fit)

ols殘差_資料挖掘 第四篇:OLS回歸分析

2,多項式拟合

使用lm(),在formula參數中使用I()函數來進行多項式拟合

> fit2 plot(women$height, women$weight,xlab='height',ylab='weight')>lines(women$height,fitted(fit2))>summary(fit2)

Call:

lm(formula= weight ~ I(height^2), data =women)

Residuals:

Min 1Q Median 3Q Max-1.2562 -0.7636 -0.1837 0.4622 2.2654Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept)2.390e+01 2.109e+00 11.34 4.12e-08 ***I(height^2) 2.659e-02 4.926e-04 53.98 < 2e-16 ***

---Signif. codes:0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error:1.072 on 13degrees of freedom

Multiple R-squared: 0.9956, Adjusted R-squared: 0.9952F-statistic: 2913 on 1 and 13 DF, p-value: < 2.2e-16

非線性模型可用nls()函數進行拟合。

三,回歸診斷(标準方法)

回歸診斷用于評價回歸模型的拟合程度,模型傳回的參數多大程度上比對原始資料。

根據OLS回歸的統計假設來評價模型的拟合情況,對于lm()拟合的模型對象,使用plot()函數生成評價模型拟合情況的四幅圖形,

> fit par(mfrow=c(2,2))> plot(fit)

ols殘差_資料挖掘 第四篇:OLS回歸分析

正态性:當預測變量值固定時,因變量成正态分布,則殘內插補點也應該是一個均值為0的正态分布。正态QQ圖(Normal Q-Q)是在正态分布對應的值下,标準化殘差的機率圖。若滿足正态假設,那麼圖上的點應該落在呈45度角的直線上;若不是如此,那麼久違反了正态假設。

獨立性:無法判斷因變量和自變量的值是否互相獨立,隻能從收集的資料中來驗證。

線性相關性:若因變量與自變量線性相關,那麼殘內插補點與預測(拟合)值除了系統誤差之外,就沒有任何關聯。在殘差和拟合圖(Residuals VS Fitted)中,可以看到一條曲線,這暗示着可能需要對拟合模型加上一個二次項。

同方差性:若滿足不變方差假設,那麼在位置尺度圖(Scale-Location)中,水準線周圍的點應該随機分布。

殘差和杠杆圖(Residuals VS Leverage)提供了特殊的單個觀測點(離群點、高杠杆點、強影響點)的資訊。

離群點:表明拟合回歸模型對其預測效果不佳(産生巨大的殘差)

高杠杆點:指自變量因子空間中的離群點(異常值),由許多異常的自變量值組合起來的,與因變量沒有關系。

強影響點:表明它對模型參數的估計産生的影響過大,非常不成比例。強影響點可以通過Cook距離(Cook distance)統計量來前别。

殘差和杠杆圖的可讀性差,不夠實用。

什麼是高杠杆點?離群點是指對于給定的預測值

ols殘差_資料挖掘 第四篇:OLS回歸分析

 來說,響應值 

ols殘差_資料挖掘 第四篇:OLS回歸分析

 異常的點。相反,高杠杆(high leverage) 表示觀測點 

ols殘差_資料挖掘 第四篇:OLS回歸分析

 是異常的。例如,圖1(a)左下圖中的觀測點41具有高杠杆值,因為它的預測變量值比其他觀測點都要大。實線是對資料的最小二乘拟合,而虛線是删除觀測點41後的拟合。事實上,高杠杆的觀測往往對回歸直線的估計有很大的影響。如果一些觀測對最小二乘線有重大影響,那麼它們值得特别關注,這些點出現任何問題都可能使整個拟合失效。是以找出高杠杆觀測是十分重要的。

ols殘差_資料挖掘 第四篇:OLS回歸分析

四,回歸診斷(car包)

car包提供了大量的函數,大大增強了拟合和評價回歸模型的能力

1,正态性

qqplot()函數提供了精确的正态假設檢驗方法,

>library(carData)>library(car)> par(mfrow=c(1,2))> fit qqPlot(fit,labels=row.names(women),id.method='identity',simulate=TRUE,main='qq-fit')

[1] 1 15

> fit2 qqPlot(fit2,labels=row.names(women),id.method='identity',simulate=TRUE,main='qq-fit2')

[1] 13 15

ols殘差_資料挖掘 第四篇:OLS回歸分析

可以看到,置信區間通過虛線劃定,當絕大多數點都落在置信區間時,說明正态性假設符合的很好。

2,誤差的獨立性

car包提供了durbinWatsonTest()函數,用于做Durbin-Watson檢驗,檢測誤差的序列相關性。

>durbinWatsonTest(fit)

lag Autocorrelation D-W Statistic p-value1 0.585079 0.3153804 0Alternative hypothesis: rho!= 0

p值 (p=0)不顯著,誤差項之間獨立

3,線性相關性

通過成分殘差圖(component + residual plots)檢查因變量和自變量之間是否呈線性關系。

crPlots(fit)

若圖形存在非線性,則說明可能對預測變量的函數形式模組化不夠充分,那麼需要添加一些曲線成分,比如多項式,對一個或多個變量進行變換(log(x)代替x),或用其他回歸變體形式而不是線性回歸。

ols殘差_資料挖掘 第四篇:OLS回歸分析

4,同方差性

判斷方差是否恒定,nvcTest()函數生成一個記分檢驗,原假設為誤方差不變,備擇假設為誤差方差随着拟合值水準的變化而變化。若檢驗顯著,說明存在誤方差不很定。

spreadLevelPlot()函數建立了一個添加了最佳拟合曲線的散點圖,展示了标準化殘差絕對值與拟合值得關系。

>ncvTest(fit)

Non-constant Variance Score Test

Variance formula:~fitted.values

Chisquare= 0.8052115, Df = 1, p = 0.36954

>spreadLevelPlot(fit)

Suggested power transformation:-0.8985826

記分檢驗不顯著:p=0.36954,說明滿足方差不變假設,也可以通過分布水準看到這一點,點在水準的最佳拟合曲線周圍呈随機分布。

ols殘差_資料挖掘 第四篇:OLS回歸分析

五,回歸診斷(gvlma包)

gvlma()函數,用于對線性模型假設進行綜合驗證,同僚還能驗證偏斜度,峰度和異方差的評價。從輸出項中可以看出,假設檢驗的顯著性水準是5%。如果p<0.05,說明違反了假設條件。從Global Stat 的Decision 欄中,可以看到資料滿足OLS回歸模型所有的統計假設(p=0.597)。

>library(gvlma)> gvmodel summary(gvmodel).................

ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS

USING THE GLOBAL TEST ON4 DEGREES-OF-FREEDOM:

Level of Significance= 0.05Call:

gvlma(x=fit)

Value p-value Decision

Global Stat16.5866 0.0023251 Assumptions NOT satisfied!Skewness1.5577 0.2119999Assumptions acceptable.

Kurtosis0.1019 0.7496131Assumptions acceptable.

Link Function14.1218 0.0001713 Assumptions NOT satisfied!Heteroscedasticity0.8052 0.3695398 Assumptions acceptable.

參考文檔: