当从as.date更改为as.numeric时,日期变量的预测能力降低

当从as.date更改为as.numeric时,日期变量的预测能力降低,r,date,posixct,R,Date,Posixct,我正在用几个日期和数字变量建立一个回归模型。我快速检查了一个日期变量 lm.fit = lm(label ~ Firstday, data = rawdata) summary(lm.fit)$r.squared 评估其对模型的预测影响。这占差异的41%。我现在尝试将日期更改为数字,以便更好地处理变量。我使用了命令 as.numeric(as.POSIXct(rawdata$Firstday, format = "%Y-%m-%d")) 这样做将差异减少到10%

我正在用几个日期和数字变量建立一个回归模型。我快速检查了一个日期变量

    lm.fit = lm(label ~ Firstday, data = rawdata)
    summary(lm.fit)$r.squared   
评估其对模型的预测影响。这占差异的41%。我现在尝试将日期更改为数字,以便更好地处理变量。我使用了命令

    as.numeric(as.POSIXct(rawdata$Firstday, format = "%Y-%m-%d"))
这样做将差异减少到10%,这不是我想要的。我做错了什么?我该怎么做

我已经看过了,但我不清楚答案

编辑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
我现在明白了

 lm.fit <- lm(label ~ Firstday)
 summary(lm.fit)$r.squared

 [1] 0.1035539

lm.fit这是因为原始日期列表实际上只是一个项目列表,没有任何日期序列信息

请参见下面我如何将它们更改为任意字母以获得相同的结果。第三个代码段返回与第一个代码段相同的r2

label <- c(0,1,0,0,0,1,1)
Firstday1<- c("2016-04-06","2016-04-05","2016-04-04","2016-04-03","2016-04-02","2016-04-02","2016-04-01")
str(Firstday1)
lm.fit1 <- lm(label~Firstday1)
summary(lm.fit1)$r.squared
[1] 0.7083333


Firstday2 <- as.numeric(as.POSIXct(Firstday1,format="%Y-%m-%d"))
str(Firstday2)
lm.fit2 <- lm(label ~ Firstday2)
summary(lm.fit2)$r.squared
[1] 0.1035539


Firstday3<- c("a","b","c","d","e","e","f")
str(Firstday3)
lm.fit3 <- lm(label~Firstday3)
summary(lm.fit3)$r.squared
[1] 0.7083333

label这是因为原始日期列表实际上只是一个项目列表,没有任何日期序列信息

请参见下面我如何将它们更改为任意字母以获得相同的结果。第三个代码段返回与第一个代码段相同的r2

label <- c(0,1,0,0,0,1,1)
Firstday1<- c("2016-04-06","2016-04-05","2016-04-04","2016-04-03","2016-04-02","2016-04-02","2016-04-01")
str(Firstday1)
lm.fit1 <- lm(label~Firstday1)
summary(lm.fit1)$r.squared
[1] 0.7083333


Firstday2 <- as.numeric(as.POSIXct(Firstday1,format="%Y-%m-%d"))
str(Firstday2)
lm.fit2 <- lm(label ~ Firstday2)
summary(lm.fit2)$r.squared
[1] 0.1035539


Firstday3<- c("a","b","c","d","e","e","f")
str(Firstday3)
lm.fit3 <- lm(label~Firstday3)
summary(lm.fit3)$r.squared
[1] 0.7083333

label能否请您包括将为我们提供a的数据和/或代码?能否请您包括将为我们提供a的数据和/或代码?非常正确!如果我理解正确的话,这更多的是一个模式识别结果,而不是与日期相关的结果。如果是这样的话,我如何将“日期”项列表转换为仍然能够捕获原始模式的数字格式?听起来你可能想要的是时间序列分析。非常正确!如果我理解正确的话,这更多的是一个模式识别结果,而不是与日期相关的结果。如果是这样的话,我如何将“日期”项列表转换为仍然能够捕获原始模式的数字格式?听起来你可能需要的是时间序列分析。