【问题标题】:Rates using Grouped froecasting with fable使用寓言分组预测的费率
【发布时间】:2020-05-01 08:58:47
【问题描述】:

由于我对 R 的寓言很陌生,我想知道是否也可以在分组的时间序列中预测速率而不是计数。

这是我创建的 tsibble 的一个简短示例:

   head(data)
   # A tsibble: 6 x 5 [1Y]
   # Key:       sex, age [1]
   year sex   age   counts      pop
  <dbl> <chr> <chr>  <dbl>    <dbl>
1  2005 m     <50     1294 25986547
2  2006 m     <50     1417 26261652
3  2007 m     <50     1690 25712000
4  2008 m     <50     1827 25385000
5  2009 m     <50     1973 25037000
6  2010 m     <50     2076 24678000

如您所见,有两组:sex(m/f) 和agecategories(

我添加了一个发病率列

data%>%mutate(incidence=(counts/pop))

现在我想为发病率拟合一个 arima 模型:

# Fit model 
+     model(arima = ARIMA(incidene)) %>%
+     # reconcile
+     mutate(mint = min_trace(incidence)) %>%
+     # forecasts
+     forecast(h = 10)

但是,我不知道如何获得顶级系列组的发病率预测?对于计数数据,我会使用:

# create aggregates
+     aggregate_key(sex * age, value = (sum(counts))

但这仅包括不适用于发病率的计数总和...

也许有人可以帮助我?

提前致谢!

【问题讨论】:

    标签: r time-series grouped-table


    【解决方案1】:

    aggregate_key() 是正确的,这是与 fable 进行分层协调的第一步。您可以使用aggregate_key() 计算counts = sum(counts) 和pop = sum(pop) 的聚合,然后使用mutate() 计算incidence = counts / pop。

    编辑:但是,由于比率不会在聚合中保留,因此比率本身不容易协调。

    【讨论】:

    • 但是,当我使用 min_trace 进行调节时,发生率的预测值与没有 min_trace 的“正常”调节有很大不同......我的意思是:查看我的数据/绘制预测的与常规对账相比,值开始远高于最后一个非预测观察值。这是有原因的吗?
    • 观察力不错。分层预测协调适用于通过总和汇总的序列,因此协调发生率并不那么简单(由于比率不可汇总)。您可以改为协调计数和流行,并使用这些预测来计算发生率。
    猜你喜欢
    • 2020-07-19
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2019-07-20
    • 2020-08-22
    • 2021-04-21
    相关资源
    最近更新 更多