0

我正在尝试使用与趋势一起添加的不同时间 t 预测变量来拟合和预测 TSLM 模型......由于我不明白的原因,即使输入测试数据看起来不同,其中几个模型也会产生相同的预测,并且模型本身的系数看起来不同。几乎可以肯定这是我的错误..让我知道出了什么问题!

代表数据

suppressPackageStartupMessages({
    library(tidyverse)
    library(tsibble)
    library(fable)
    library(feasts)
})

proj_tract <- read_csv("path_to_reprexdata")

proj_tract <- as_tsibble(proj_tract, key = tractid, index = year)

train <- proj_tract %>%
    filter(year < 2019) 

test <- proj_tract %>%
    filter(year >= 2019) 

fit <- train %>%
    model(
        trend_only = TSLM(log(chh) ~ trend()),
        trend_w_dar = TSLM(log(chh) ~ trend() + log(ig_count_imptd)),
        trend_w_da1 = TSLM(log(chh) ~ trend() + log(prd_1)),
        trend_w_da2 = TSLM(log(chh) ~ trend() + log(prd_2)),
        trend_w_da3 = TSLM(log(chh) ~ trend() + log(prd_3)),
        trend_w_da4 = TSLM(log(chh) ~ trend() + log(prd_4)),
        trend_w_da5 = TSLM(log(chh) ~ trend() + log(prd_glmnet))
    )

fc <- forecast(
    fit,
    new_data = test
) %>% 
    hilo(.95)

res <- fc %>% 
    as_tibble() %>%
    rename("proj" = ".mean", "model" = ".model") %>%
    select(model, proj, lchh) %>%
    pivot_wider(names_from = model, values_from = proj)
head(res)

这些模型的一个子集产生相同的预测——帮助我理解为什么!

4

0 回答 0