Datetime 线性回归系数随时间的演化

Datetime 线性回归系数随时间的演化,datetime,r,time,regression,Datetime,R,Time,Regression,我想观察线性回归系数随时间的演变。更准确地说,让我们有一个2年的时间框架,其中线性回归将始终使用范围为1年的数据集。在第一次回归之后,我们再向前移动一周(即,我们添加一个新的星期,但也从开始处减去一周),并且只要我们到达最终日期,就再次进行回归:总共将有52次回归 我的问题是,数据集中有一些假期,我们不能简单地像人们容易建议的那样增加7天。我希望有一些包装器函数可以对来自不同包的许多其他函数执行上述操作,例如forecast.lm()从预测软件包或任何你能想到的函数中:每种情况下的目标都是每周找

我想观察线性回归系数随时间的演变。更准确地说,让我们有一个2年的时间框架,其中线性回归将始终使用范围为1年的数据集。在第一次回归之后,我们再向前移动一周(即,我们添加一个新的星期,但也从开始处减去一周),并且只要我们到达最终日期,就再次进行回归:总共将有52次回归


我的问题是,数据集中有一些假期,我们不能简单地像人们容易建议的那样增加7天。我希望有一些包装器函数可以对来自不同包的许多其他函数执行上述操作,例如
forecast.lm()
预测
软件包或任何你能想到的函数中:每种情况下的目标都是每周找到线性回归参数的演变。

我认为如果你以清晰的方式编辑/细分你的问题,你可能会得到更多的答案。(1) 我如何找到假期(不清楚你对假期的定义是什么)?(2) 如何对数据集进行相应的切片?(3) 如何在每个区块中运行线性回归

(1) 查找假期:在这里没什么帮助,因为我不知道它们在您的数据集中是如何定义/编码的<代码>库(sos);findFn(“假日”)找到一些选项

(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))

d我想如果你能以清晰的方式编辑/细分你的问题,你可能会得到更多的答案。(1) 我如何找到假期(不清楚你对假期的定义是什么)?(2) 如何对数据集进行相应的切片?(3) 如何在每个区块中运行线性回归

(1) 查找假期:在这里没什么帮助,因为我不知道它们在您的数据集中是如何定义/编码的<代码>库(sos);findFn(“假日”)
找到一些选项

(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))

亚历克斯,你的“问题”中有很多东西,但没有问题。你想帮什么忙?如果是日期问题,您希望在假期方面找到什么样的解决方案?如果您正在寻找有关“包装器”函数的帮助,请定义您尝试了什么以及您的问题是什么。就目前的情况而言,这个问题应该结束,因为它不是一个问题。您想在
窗口()中进行本地化回归吗。。。。。。我知道这是一个非常广泛的托皮克,所以简单地说。第一:数据集包括假期,我需要处理它。第二:我希望每周一得到lin.回归的系数(并保留一年的数据库长度——如我之前所说——一周加一周,但一周减一)。这就像把整个周期分成几周,创建52个时间向量(长度为一年),然后对每个时间向量进行回归。Alex,你的“问题”中有很多事情,但没有问题。你想帮什么忙?如果是日期问题,您希望在假期方面找到什么样的解决方案?如果您正在寻找有关“包装器”函数的帮助,请定义您尝试了什么以及您的问题是什么。就目前的情况而言,这个问题应该结束,因为它不是一个问题。您想在
窗口()中进行本地化回归吗。。。。。。我知道这是一个非常广泛的托皮克,所以简单地说。第一:数据集包括假期,我需要处理它。第二:我希望每周一得到lin.回归的系数(并保留一年的数据库长度——如我之前所说——一周加一周,但一周减一)。这就像将整个周期切成几周,创建52个时间向量(长度为一年),然后对每个时间向量进行回归。