均值回歸、分位數回歸、嶺回歸、Lasso回歸


(一)不同來源的數據合並

需要注意的是,由於國債收益率從Wind導入(為數據框類型),而股票數據是使用quantmod包爬取(為zoo、xts類型),因此出現了數據類型和時間不匹配問題。

先通過設置UTC(美國標准時間)來避免時區不一致問題(因為后面的合並是基於索引),再將國債日收益率導入,然后轉化為xts類型數據,最后根據索引來合並,最后得到需要的兩個變量。具體見下面:

ir=read.table(“clipboard”,header=T)
Sys.setenv(TZ = "UTC") #設置時區
r=data.frame(ir[,2])
date=as.POSIXlt(ir[,1])
rownames(r)=date
gr=as.xts(r) #轉化為xts 類型數據
data1=merge.xts(SR_daily,gr/30,join="inner")
data2=merge.xts(GR_daily,gr/30,join="inner") data=merge.xts(SR_daily/100,gr/30,join="inner")#merge函數除了inner參數,還有outer、left等參數
x=data1[,1]-data1[,2]
y=data2[,1]-data2[,2]

 

(二)均值回歸

#回歸分析
setSymbolLookup(SZZZ=list(name="000001.ss",src='yahoo'))
getSymbols("SZZZ",from=from,to=to)
ZR=dailyReturn(na.approx(SZZZ[,4]),type="log")
lr=lm(ZR~SR_daily)
summary(lr)

#異方差檢驗
library(lmtest)
sde=resid(lr)
chartSeries(sde)
bptest(lr,studentize=FALSE)#Breusch-Pagan test
gqtest(lr)#Goldfeld-Quandt test

#自相關檢驗
acf(sde)
pacf(sde)
dwtest(lr)#Durbin-Watson test
bgtest(lr)#Breusch-Godfrey test
Box.test(sde1)#Box-Pierce test

#正態檢驗
hist(sde,nclass = 200)
st(sde)#shapiro.te分析

(三)分位數回歸

從最小二乘法可以看出,傳統回歸中最小化殘差的平方極易受極端值的影響,而且屬於均值回歸,這種方法不能得到不同分布下的數據關系,而分位數回歸與均值回歸的區別在於參數估計,通過對不同分布下的殘差進行賦權來估計系數,屬於最小一乘加權估計,其參數估計是優化求解問題。

分位數回歸不考慮同方差、正態分布的假設,具有異常點抗耐性、捕捉分布尾部特征等特點,回歸結果更加穩健。

library(quantreg)
r2=rq(ZR~SR_daily,tau=c(0.05,0.25,0.5,0.75,0.95))
summary(r2)

Z=as.numeric(ZR)
S=as.numeric(SR_daily)
taus=c(0.05,0.25,0.5,0.75,0.95)
plot(Z,S)
for(i in 1:length(taus)){
  abline(rq(ZR~SR_daily,tau=taus[i]))
  }

 

 (四)嶺回歸——帶二范數懲罰的最小二乘回歸

在實際情況中,如果樣本數量不足使得X’X不可逆,或者存在共線性,我們將無法使用OLS回歸,這時我們可以通過加入懲罰函數使得可逆,或者以較小偏差的代價(即有偏估計)來降低方差。根據不同的懲罰函數,估計方法有彈性網(嶺回歸、Lasso、ENet等)、非凸(SACD等)、極大極小凸點(MCP等)等方法。具體各種方法是如何加入懲罰函數的可以自學。下面是嶺回歸實現:

library(MASS)
S1=SR_daily
S2=dailyReturn(na.approx(AB[,4]),type="log")
r3=lm.ridge(ZR~S1+S2)
plot(lm.ridge(ZR~S1+S2,lambda=seq(0,10,0.5)))#得到嶺跡圖
select(lm.ridge(ZR~S1+S2,lambda=seq(0,10,0.5)))

 

 (五)Lasso回歸——解決多重共線性

library(lars)
data=matrix(nrow=length(S1),ncol=2)
data[,1]=S1
data[,2]=S2
r4=lars(data,ZR)
plot(r4)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM