簡體   English   中英

線性回歸系數隨時間的演變

[英]Evolution of linear regression coefficients over time

我想觀察一下線性回歸系數隨時間的變化。 更准確地說,讓我們有一個2年的時間范圍,其中線性回歸將始終使用1年范圍內的數據集。 在第一個回歸之后,我們再移動一周(即,增加一個新的星期,但從開始時也減去一個星期),直到達到最終日期,才再次進行回歸:總共將有52個回歸。

我的問題是數據集中有一些假期,我們不能像一個人輕易建議的那樣簡單地添加7天。 我想擁有一些包裝函數,該包裝函數可以對來自不同軟件包的許多其他函數執行上述操作,例如,來自forecast軟件包的forecast.lm()或任何可以想到的函數:在每種情況下,目標都是找到每周線性回歸參數的演變。

我想如果您以明確的方式編輯/細分問題,可能會得到更多答案。 (1)我如何找到假期(不清楚您對假期的定義是什么)? (2)如何相應地分割數據集? (3)如何在每個塊中運行線性回歸?

(1)查找假期:在這里真的無濟於事,因為我不知道它們在數據集中的定義/編碼方式。 library(sos); findFn("holiday") library(sos); findFn("holiday")找到一些選項

(2)根據假期間隔/周末間隔對數據集進行分區。 下面的示例假定假日編碼為1,非假日編碼為零。

(3)對每個塊運行線性回歸並提取系數。

d <- data.frame(holiday=c(0,0,0,1,1,0,0,0,0,1,0,0,0,0),
     x=runif(14),y=runif(14))
per <- cumsum(c(1,diff(d$holiday)==-1))  ## maybe use rle() instead
dd <- with(d,split(subset(d,!holiday),per[!holiday]))
t(sapply(lapply(dd,lm,formula=y~x),coef))

暫無
暫無

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

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