为什么这个拟合模型每条 df 线给出 1 个模型

Why is this fitting model giving 1 model per df line

在适合数据集的正常模型中,看起来像这样:

> head(total)
# A tsibble: 6 x 15 [1D]
# Key:       id [6]
  Date       Close Interest_Rate Consumer_Inflation `CPI(YOY)` `Wage_Index(QoQ)` `Wage_Index(YoY)` AiG_idx TD_Inflation CFTC_AUD_net_positions `RBA_Mean_CPI(Yo~ Commonwealth_Ba~
  <date>     <dbl>         <dbl>              <dbl>      <dbl>             <dbl>             <dbl>     <dbl>        <dbl>                  <dbl>             <dbl>            <dbl>
1 2009-04-01  69.4             0                  0          0                 0                 0         0            0                      0                 0                0
2 2009-04-02  71.6             0                  0          0                 0                 0         0            0                      0                 0                0
3 2009-04-03  71.0             0                  0          0                 0                 0         0            0                      0                 0                0
4 2009-04-06  71.0             0                  0          0                 0                 0         0            0                      0                 0                0
5 2009-04-07  71.6             3                  0          0                 0                 0         0            0                      0                 0                0
6 2009-04-08  71.1             3                  0          0                 0                 0         0            0                      0                 0                0

训练模型:

fit <- total_axy %>%
  model(
    fable::TSLM(Close)
    )

report(axy_fit)

正在训练

1-10 of 3,409 rows | 1-10 of 16 columns

每行 1 个模型!我该如何解决这个问题? 我只想为所有行使用 1 个模型!!!

你每行得到一个模型,因为你的 key 设置为 id,我猜它每行设置为一个唯一值。可以看到 id.

有 6 行和 6 个唯一值

根据 package websitetsibble 有一个 key 属性,应该是:

a set of variables that define observational units over time

要修复它,请尝试更改密钥或删除它。

一个例子:

library(dplyr)
library(tsibble)
library(fpp3)

total <- 
  tibble(
  Date = seq.Date(from = as.Date("2009-04-01"), to = as.Date("2009-04-08"), by = 1),
  Close = rnorm(length(Date))
) %>% 
  # Make a tsibble with no key
  as_tsibble(index = Date)

fit <- 
  total %>% 
  model(
    fable::TSLM(Close)
  )

report(fit)

这只给出了一个模型。