Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
r中id的autoarima_R_Time Series_Arima - Fatal编程技术网

r中id的autoarima

r中id的autoarima,r,time-series,arima,R,Time Series,Arima,我有一个带有ID的df,一个月的日期和该月的值。下面是一个例子: df<-tibble::tribble( ~ID, ~MonthlyDate, ~value, 1L, "2018-09-01", -29.884, 1L, "2018-10-01", 16.143, 1L, "2018-11-01", 3.785, 1L, "2018-12-01", -264,

我有一个带有ID的df,一个月的日期和该月的值。下面是一个例子:

df<-tibble::tribble(
  ~ID,       ~MonthlyDate, ~value,
       1L, "2018-09-01",     -29.884,
       1L, "2018-10-01",      16.143,
       1L, "2018-11-01",       3.785,
       1L, "2018-12-01",        -264,
       1L, "2019-01-01",        -308,
       1L, "2019-02-01",         712,
       1L, "2019-03-01",        -260,
       1L, "2019-04-01",        -300,
       1L, "2019-05-01",        -149,
       1L, "2019-06-01",        -291,
       1L, "2019-07-01",        -284,
       1L, "2019-08-01",        -158,
       1L, "2019-09-01",        -272,
       1L, "2019-10-01",        -289,
       1L, "2019-11-01",      -1.268,
       2L, "2016-12-01",        -489,
       2L, "2017-01-01",       7.606,
       2L, "2017-02-01",        -458,
       2L, "2017-03-01",       8.603,
       2L, "2017-04-01",       6.298,
       2L, "2017-05-01",       2.598,
       2L, "2017-06-01",        9.14,
       2L, "2017-07-01",       6.004,
       2L, "2017-08-01",       3.684,
       2L, "2017-09-01",      -1.815,
       2L, "2017-10-01",      12.487,
       2L, "2017-11-01",      -1.288,
       2L, "2017-12-01",       3.213,
       3L, "2018-01-01",       3.447,
       3L, "2018-02-01",       3.986,
       3L, "2018-03-01",     8.08201,
       3L, "2018-04-01",       2.033,
       3L, "2018-05-01",       4.401,
       3L, "2018-06-01",       3.482,
       3L, "2018-07-01",        4.04,
       3L, "2018-08-01",       1.607,
       3L, "2018-09-01",         694,
       3L, "2018-10-01",       4.026,
       3L, "2018-11-01",        -176,
       3L, "2018-12-01",         -41,
       3L, "2019-01-01",         815,
       3L, "2019-02-01",       1.743,
       3L, "2019-03-01",      -3.433,
       3L, "2019-04-01",       4.167,
       3L, "2019-05-01",       3.792,
       3L, "2019-06-01",        -293,
       3L, "2019-07-01",      -4.666,
       3L, "2019-08-01",         835,
       3L, "2019-09-01",       5.434,
       3L, "2019-10-01",       4.636,
       3L, "2019-11-01",       2.731
  )
df
# A tibble: 51 x 3
#      ID MonthlyDate   value
#   <int> <chr>         <dbl>
 #1     1 2018-09-01   -29.9 
 #2     1 2018-10-01    16.1 
 #3     1 2018-11-01     3.78
 #4     1 2018-12-01  -264   
 #5     1 2019-01-01  -308   
 #6     1 2019-02-01   712   
 #7     1 2019-03-01  -260   
 #8     1 2019-04-01  -300   
 #9     1 2019-05-01  -149   
#10     1 2019-06-01  -291 
但我犯了个错误 as.ts(x)中的错误:参数“y”不存在,没有默认值
我不知道如何将它按id分组,然后转换为ts并应用auto.arima。有人知道怎么做吗?谢谢

这正是
fable
包的设计目的

库(tidyverse)
图书馆(TSIBLE)
图书馆(寓言)
df%
变异(
MonthlyDate=年月(MonthlyDate)
) %>%
as_tsible(索引=月日,键=ID)%>%
填补空白()
df
#>#一个气泡:51 x 3[1M]
#>#Key:ID[3]
#>ID月值
#>              
#>2018年9月1日至9月29日
#>2018年10月16日
#>3.1 2018年11月3日78
#>2018年12月4日至264日
#>5.1 2019年1月-308日
#>6.1 2019年2月712日
#>7.1 2019年3月-260日
#>8.1 2019年4月-300日
#>9.1 2019年5月-149日
#>2019年6月10日至291日
#>#……还有41行
df%>%
模型(arima=arima(值~PDQ(P=0,Q=0,D=0)))%>%
预测(h=“12个月”)
#>#寓言:36 x 5[1M]
#>#Key:ID、.model[3]
#>ID.模型月份值.分布
#>                       
#>1 arima 2019年12月-125日。N(-12569007)
#>2.1 arima 2020年1月-125日。N(-12569007)
#>3.1 arima 2020年2月-125日。N(-12569007)
#>4.1 arima 2020年3月-125日。N(-12569007)
#>5.1 arima 2020年4月-125日。N(-12569007)
#>6.1 arima 2020年5月-125日。N(-12569007)
#>7.1 arima 2020年6月-125日。N(-12569007)
#>8.1 arima 2020年7月-125日。N(-12569007)
#>9.1 arima 2020年8月-125日。N(-12569007)
#>10.1 arima 2020年9月-125日。N(-12569007)
#>#…还有26行
由(v0.3.0)于2020年3月22日创建


请参阅以了解更多信息,或者。

如何在不按组应用的情况下直接应用
auto.arima()
!只是一个问题,模型(arima=arima(value~PDQ(P=0,Q=0,D=0))和auto.arima做的一样吗?下面是相同的代码
ARIMA(值~PDQ(P=0,Q=0,D=0))
相当于
auto.ARIMA(值,季节性=FALSE)
。我只关闭了季节性,以防止样本数据出现错误。有了真实数据,它可能在季节性开启的情况下正常工作。
df2<-split(df,df$ID)
lapply(df2,auto.arima())