簡體   English   中英

不同階次求和的動態線性回歸循環

[英]Dynamic linear regression loop for different order summation

我一直在努力在 R 中重新創建這個模型:模型(FARHANI 2012)

我嘗試了很多東西,例如 cumsum paste - 但是這不起作用,因為我無法為字符串分配正確的變量,因為它一直認為 L 是一個函數。 我試圖手動完成,我只是在尋找 p,q = 1,2,3,4,5 但是在開始后我意識到這是多么低效。 這基本上就是我想要做的

model5 <- vector("list",20)
#p=1-5, q=0
model5[[1]] <- dynlm(DLUSGDP~L(DLUSGDP,1))
model5[[2]] <- dynlm(DLUSGDP~L(DLUSGDP,1)+L(DLUSGDP,2))
model5[[3]] <- dynlm(DLUSGDP~L(DLUSGDP,1)+L(DLUSGDP,2)+L(DLUSGDP,3))
model5[[4]] <- dynlm(DLUSGDP~L(DLUSGDP,1)+L(DLUSGDP,2)+L(DLUSGDP,3)+L(DLUSGDP,4))
model5[[5]] <- dynlm(DLUSGDP~L(DLUSGDP,1)+L(DLUSGDP,2)+L(DLUSGDP,3)+L(DLUSGDP,4)+L(DLUSGDP,5))

我也在嘗試這樣做以在 DLWTI(我的石油變量的名稱)上回歸 DLUSGDP,因為當 p=0、q=1-5 以及 p=1-5、q=1-5 cumsum 將無法正常工作時對變量求和而不是將它們視為獨立的回歸。 我的目標是運行這些模型,然后使用 IC 來確定應該進一步分析哪些模型。 我希望你理解我的問題,任何幫助將不勝感激。

我認為這就是你要找的:

reformulate(paste0("L(DLUSGDP,", 1:n,")"), "DLUSGDP")

其中n是您想嘗試的某個順序。 例如,

n <- 3
reformulate(paste0("L(DLUSGDP,", 1:n,")"), "DLUSGDP")
# DLUSGDP ~ L(DLUSGDP, 1) + L(DLUSGDP, 2) + L(DLUSGDP, 3)

然后你可以構建你的模型擬合

model5 <- vector("list",20)
for (i in 1:20) {
  form <- reformulate(paste0("L(DLUSGDP,", 1:i,")"), "DLUSGDP")
  model5[[i]] <- dynlm(form)
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM