0

由于我对 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(<50, 50-55,55-60,...)。pop 代表人口,counts 是每年(2005-2018 年)某个事件的数量。

我添加了一个发病率列

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))

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

也许有人可以帮助我?

提前致谢!

4

1 回答 1

1

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

编辑:但是,由于比率未在聚合中保留,因此比率本身无法轻松调和。

于 2020-05-01T09:19:47.440 回答