r - 为什么使用 Zoo 对象进行回归会产生无法识别的结果

标签 r regression zoo

我和我的同事有两个数据集,每个数据集每天有 1 个观察值,但是天数 在每个数据集中不连续,并且在两个数据集之间不一致。

我们将每个转换为一个动物园对象并合并,从时间索引中删除那些日子 在第二个数据集中有观察结果,但在第一个和相反的情况下没有, 用之前的观察结果填充第二个缺失的观察结果(使用 locf)

然后当我们运行回归时,我们没有得到每个自变量的预期系数。 因为我们是 zoo 的新手(我还是 R 的新手),所以我们在这里找到了关于 SO 的相关主题: Error when doing linear regression using zoo objects ... Error in `$<-.zoo`(`*tmp*` 在这里:regressions with xts in R , 但 似乎没有什么是相同的,尽管我们尝试了在每个建议中提出的各种建议,包括使用 dyn 包。

当我们运行 summary(regression_model) 时,我们继续得到无法识别的结果。我们的主要问题是如何使用典型的汇总统计数据进行回归。第二个问题是回归中的每个自变量是否必须表示为滞后(k=0),正如 dyn 文档所建议的那样。

从更大的两组数据中提取的示例如下:

按日期排列的股票 XYZ 价格数据

Date <- c("1/2/13", "1/3/13", "1/4/13", "1/7/13", "1/8/13", "1/9/13", "1/10/13", "1/11/13", "1/14/13", "1/15/13")
XYZ <- c(65.73, 66.85, 66.92, 66.60, 66.07, 65.90, 66.06, 66.11, 65.12, 65.06)

Nx数据按日期排列,但日期与股价数据略有不同

N.Date <- c("1/2/13", "1/3/13", "1/4/13", "1/6/13", "1/7/13", "1/8/13", "1/10/13", "1/11/13", "1/12/13", "1/14/13")
ACR <- c(50.2, NA, 35.2, 67.9, NA, NA, 42.5, 45.1, 34.0, 61.9)
BCR <- c(14.3, NA, 16.5, 22.1, NA, NA, 18.4, 24.2, 19.8, 15.4)
CCR <- c(00.0, NA, 33.6, 41.2, NA, NA, 25.6, 00.0, 11.3, 32.0)

创建数据帧

stock <- data.frame (Date, XYZ)
Nx <- data.frame (N.Date, ACR, BCR, CCR)

从 data.frames 创建动物园对象

z.stock <- zoo(stock, as.Date(stock[, 1], format = "%m/%d/%y"))
z.Nx <- zoo(Nx, as.Date(Nx[, 1], format = "%m/%d/%y"))

合并动物园对象,从 Nx 动物园对象中消除任何缺失的数据

z.merge <- merge(z.stock, z.Nx, all = c(TRUE, FALSE))

用最后的观察结转替换缺失的数据

nmd <- na.locf(z.merge, maxgap = Inf)

运行回归

mdl <- dyn$lm(nmd$XYZ ~ lag(nmd$XYZ, -1) + lag(nmd$ACR, 0) + lag(nmd$BCR, 0) +lag(nmd$CCR, 0)))
summary(mdl)

最佳答案

问题中的代码将日期同时放在数据和索引中,而不仅仅是放在索引中。

试试这个:

fmt <- "%m/%d/%y"
z.stock <- zoo(cbind(XYZ), as.Date(Date, fmt))
z.Nx <- zoo(cbind(ACR, BCR, CCR), as.Date(N.Date, fmt))

z.merge <- merge(z.stock, z.Nx, all = c(TRUE, FALSE))
nmd <- na.locf(z.merge)

dyn$lm(XYZ ~ lag(XYZ, -1) + ACR + BCR + CCR, nmd)

关于r - 为什么使用 Zoo 对象进行回归会产生无法识别的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22533395/

相关文章:

python - 没有预测器的 Sklearn 回归

r - 从 R Forge 安装包时出现安装错误

r - 用索引将xts/zoo对象写入csv

R:如何将结果合并为唯一的输出?

r - 大数据如何使用zoo或xts?

r - 从 ggplot 中提取数据

r - 使用 ggplot2 组合 facet_wrap 和 95% 面积的密度图

r - 故意用不起作用的 R 代码编写 Markdown 文档

r - 样本在 R 中的组内具有相同数量的每个性别

machine-learning - 有没有办法快速决定使用哪些变量进行模型拟合和选择?