【发布时间】:2016-07-19 13:13:22
【问题描述】:
我正在构建一个包含多个日期和数字变量的回归模型。我快速检查了一个日期变量
lm.fit = lm(label ~ Firstday, data = rawdata)
summary(lm.fit)$r.squared
衡量其对模型的预测影响。这占方差的 41%。我现在尝试将日期更改为数字,以便更好地使用该变量。我用了命令
as.numeric(as.POSIXct(rawdata$Firstday, format = "%Y-%m-%d"))
这样做将方差减少到 10% - 这不是我想要的。我做错了什么,我该怎么做?
我看过https://stats.stackexchange.com/questions/65900/does-it-make-sense-to-use-a-date-variable-in-a-regression,但我并不清楚答案。
编辑 1:
我所做的可重现代码示例如下所示:
label = c(0,1,0,0,0,1,1)
Firstday = c("2016-04-06", "2016-04-05", "2016-04-04",
"2016-04-03", "2016-04-02", "2016-04-02","2016-04-01")
lm.fit <- lm(label ~ Firstday)
summary(lm.fit)$r.squared
[1] 0.7083333
更改为数字时:
Firstday = as.numeric(as.POSIXct(Firstday, format="%Y-%m-%d"))
我现在明白了
lm.fit <- lm(label ~ Firstday)
summary(lm.fit)$r.squared
[1] 0.1035539
【问题讨论】:
-
您能否提供数据和/或代码,为我们提供reproducible example ?