
一、從線性回歸的假設(shè)說起
對于線性回歸而言,若要求回歸估計有一些良好性質(zhì)比如無偏性,就需要加上一些假定條件。比如要達到估計的無偏性,我們通常需要加上高斯-馬爾科夫條件:
A1、對參數(shù)而言的線性性
A2、樣本的隨機抽樣性
A3、誤差的條件均值為0
A4、不存在完全共線性
A5、同方差假設(shè)
在上述條件上加上誤差項服從正態(tài)分布,就得到了經(jīng)典線性回歸模型的6大假定。保證了估計的良好性質(zhì)。
現(xiàn)在我們來考慮一下這幾個條件,它們真的十分容易達到嗎?
我們先從比較容易滿足的的假設(shè)A4入手分析:完全共線性導(dǎo)致的結(jié)果是最小二乘的結(jié)果不唯一。所以這里要求的是數(shù)據(jù)相關(guān)性不能為1,但并不是不能有相關(guān)性。導(dǎo)致完全共線性的原因不外乎以下三個:1、錯誤的將一系列已建立線性關(guān)系的因變量包括在處理的數(shù)據(jù)中(但其實這個的相關(guān)度還是達不到1的,但是會影響到回歸的效果,更加會影響到你的解釋)2、處理虛擬變量不當(dāng)導(dǎo)致的錯誤。用r個虛擬變量表示離散變量取值時,多重共線性在所難免(這個是真正的完全共線性,因為離散變量表達了所有的情況)3、樣本量過小導(dǎo)致的無法識別。這個也只能增加樣本量來解決問題。
再來看A2,這個我們通過數(shù)據(jù)收集方式的先驗知識來判斷最優(yōu),我們不知道是也可以通過殘差的獨立性來看,在R的car包中提供了一個可做獨立性檢測(durbin-watson檢驗)的函數(shù)durbinWatsonTest()。該檢驗適用于時間獨立數(shù)據(jù),對于非聚集型數(shù)據(jù)并不適用。
看A3說的是誤差項里不包括自變量的任何信息,這個在作解釋是十分重要的。也可以證明均值為0的條件總是可以達到的,通過適當(dāng)變換。
A1、A5就沒有那么容易達到。雖然他們對無偏性的影響并不大,最小二乘的估計量仍是無偏且一致的(相合的),但是有效性時會受到影響的。
那么,我們現(xiàn)在的問題就是如何判定這兩個假定成立?
二、異方差的線性回歸
關(guān)于異方差我們必須注意到這樣一個事實:即便誤差具有一致的方差,最小二乘殘差仍有不等的方差。我們可以通過對學(xué)生殘差(主要是排除一些異常值,讓數(shù)據(jù)平穩(wěn)一些)根據(jù)擬合值繪制散點圖來辨別之。當(dāng)然我們也有統(tǒng)計的辦法如Breusch-Pagan檢驗
在R中,擴展包lmtest中的Breusch-Pagan檢驗?;蛘呃胏ar包中的ncv.test()函數(shù)。二者工作的原理都是相同的。在回歸之后,我們可以對擬合的模型采用bptest()函數(shù)
unrestricted<-lm(z~x)
bptest(unrestricted)
這將得到檢驗的“學(xué)生化的”(studentized)結(jié)果。如果為了保持與其他軟件結(jié)論的一致性(包括ncv.test()),我們可以設(shè)置studentize=FALSE
我們來看一個例子:以下數(shù)據(jù)取自伍德里奇的《計量經(jīng)濟學(xué)導(dǎo)論》均保留原數(shù)據(jù)名
library(foreign)
B<-read.dta("D:/R/data/SAVING.dta")#導(dǎo)入數(shù)據(jù)
library(lmtest)
result2<-lm(sav~inc+size+educ+age+black,data=B)
bptest(result2)
studentized Breusch-Pagan test
data: result2
BP =5.5756, df = 5, p-value = 0.3497 #從這里看得出數(shù)據(jù)是不具有異方差性的
C<-read.dta("D:/R/data/SMOKE.dta")
result3<-lm(cigs~log(income)+cigpric+educ+age+restaurn,data=C)
bptest(result3)
studentized Breusch-Pagan test
data: result3
BP =11.0583, df = 5, p-value = 0.05024#這里可以認為數(shù)據(jù)有異方差性,但表現(xiàn)的不是特別強烈
如果去掉“學(xué)生化”我們可以得到:
>result3<-lm(cigs~log(income)+cigpric+educ+age+restaurn,data=C)
>bptest(result3,studentize=FALSE)
Breusch-Pagan test
data: result3
BP =24.6376, df = 5, p-value = 0.0001637#這里可以看出異方差性是很明顯的。
這也說明了學(xué)生化對異方差的修正作用。
對smoke數(shù)據(jù)作圖分析也可以得到一個不錯的,直觀的結(jié)果。
異方差的存在性影響ols估計量的有效性,使得t檢驗與F檢驗不再有效,所以存在異方差時,必須使用異方差穩(wěn)健標(biāo)準(zhǔn)誤代替標(biāo)準(zhǔn)誤。一般的,我們使用white一致標(biāo)準(zhǔn)誤來做假設(shè)檢驗。
為了計算異方差一致性的協(xié)方差矩陣,我們可以利用car包中的hccm()函數(shù),而不是vcov()。
sandwich包中的vcovHC()命令可以實現(xiàn)同樣的功能。同時利用vcovHAC()或者NeweyWest()函數(shù)可以進行異方差和自相關(guān)穩(wěn)健性Newey—West估計(注1)。
library(sandwich)
NeweyWest(result3)
neweywest<- coeftest(result3, vcov = NeweyWest(result3))
print(neweywest)#得出穩(wěn)健的估計
summary(result3)
對比兩個估計的結(jié)果:(注意P值的變化)
穩(wěn)健估計的:
Estimate Std.Error t value Pr(>|t|)
(Intercept) -2.054967 8.496552 -0.2419 0.808951
log(income) 1.891021 0.642539 2.9430 0.003344 **
cigpric -0.004685 0.099792 -0.0469 0.962567
educ -0.377021 0.169621 -2.2227 0.026513 *
age -0.045268 0.023225 -1.9491 0.051633.
restaurn -2.945906 1.042941 -2.8246 0.004851 **
---
Signif.codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05‘.’ 0.1 ‘ ’ 1
直接回歸估計的:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.054967 8.778358 -0.234 0.81497
log(income) 1.891021 0.712092 2.656 0.00807 **
cigpric -0.004685 0.102518 -0.046 0.96356
educ -0.377021 0.167975 -2.244 0.02507 *
age -0.045268 0.028682 -1.578 0.11490
restaurn -2.945906 1.127952 -2.612 0.00918 **
---
Signif.codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05‘.’ 0.1 ‘ ’ 1
也可以看到協(xié)方差陣的變化:
vcovHAC(result3)
vcov(result3)
三、線性性的假設(shè)檢驗
car包中提供了一個函數(shù)可以自動的進行線性假設(shè)檢驗。根據(jù)我們對模型的設(shè)定,它既可以用一般的方法或調(diào)整后的協(xié)方差矩陣進行F或Wald檢驗。例如,如果我們有一個包括常數(shù)項的五個參數(shù)的模型,并且我們的零假設(shè)如下
H0:β0 =0, β3+β4=0
我們可以用如下的命令加以實現(xiàn)
unrestricted<-lm(y~x1+x2+x3+x4)
rhs<-c(0,1)
hm<-rbind<-(c(1,0,0,0,0),c(0,0,1,1,0))
linear.hypothesis(unrestricted,hm,rhs)
如果unrestricted是由lm得到的,默認狀態(tài)下將會進行F檢驗。如果是由glm得到的,取而代之的將是Kai方檢驗。檢驗的類型可以通過type進行修改。
同樣,如果我們想利用異方差或自相關(guān)穩(wěn)健標(biāo)準(zhǔn)誤進行檢驗,我們既可以通過設(shè)定white.adjust=TRUE來使用white標(biāo)準(zhǔn)誤,也可以利用vcov計算我們自己的協(xié)方差矩陣。例如,如果我們想使用上述的Newey-West修正協(xié)方差矩陣,我們可以進行如下的設(shè)定:
linear.hypothesis(unrestricted,hm, rhs, vcov=NeweyWest(unrestricted))(注2)
四、附注
注1:Newey-West 的自相關(guān)異方差一致性估計:當(dāng)異方差的形式未知的時候,加權(quán)最小二乘法(WLS)得到的估計結(jié)果雖然仍具有一致性,但是不在有效。為了解決這一問題,White(1980)提出了Heteroskedasticity Consistent Covariances 方法使存在異方差時能夠?qū)f(xié)方差矩陣進行一致性估計,而無須知道異方差的形式,但是 White 提出的方法假定序列的殘差是不存在自相關(guān)的,為了解決這一問題,Newey-West(1987)提出了一個更為一般的估計量,使存在異方差和自相關(guān)是仍然能對協(xié)方差矩陣進行一致性估計。
注2、設(shè)定white.adjust=TRUE將會通過提高white估計量的精度來修正異方差;如果要使用經(jīng)典的white估計量,我們可以設(shè)定white.adjust="hc0"
注3、對于異方差檢驗的另一函數(shù)
調(diào)用library(lmtest)
Goldfeld-Quandt Test,GQ檢驗的思想是先把時間序列數(shù)據(jù)按順序排列,然后截去一定數(shù)量的中間段數(shù)據(jù),留下的數(shù)據(jù)就自然分成兩組,對這兩組數(shù)據(jù)各自回歸獲得各組的殘差平方和,把兩個殘差平方和除以各自的自由度,然后再相除,就獲得了GQ統(tǒng)計量,這是一個F統(tǒng)計量。GQ檢驗的零假設(shè)為回歸不存在異方差;備折假設(shè)則為存在異方差。
R語言中,使用函數(shù)gqtest()進行檢驗。
gqtest(formula, point=0.5, fraction=0, alternative=c("greater", "two.sided", order.by=NULL, data=list())
GQ檢驗的思想是對數(shù)據(jù)回歸得到殘差序列,然后把殘差作為被解釋變量,原方程各解釋變量作為解釋變量做回歸,得到bp的統(tǒng)計量
注4、異方差的手動算法
## packages and data
library("AER")
data("CigarettesB")
## regression
cig_lm2 < - lm(packs ~ price + income, data = CigarettesB)
## auxiliary regression
aux <- residuals(cig_lm2)^2
aux_lm <- lm(aux ~ income * price + I(income^2) + I(price^2),
data = CigarettesB)
## test statistic
nrow(CigarettesB) * summary(aux_lm)$r.squared
pchisq( nrow(CigarettesB) * summary(aux_lm)$r.squared,df=5,lower.tail=F)
[1] 0.007896581
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10