我在许多子类别中预测时间序列时遇到问题。
我有10个变量和19040年观察的矩阵数据。 (变量:产品类别,子类别,组代码,年份,月份,单位,净销售额)
我已使用此代码将我的矩阵转换为列表中的列表。
datar<-aggregate(`Net Sales`~`01. Product Info 01.02 Subcategory Year+Month,data=BESTDOCFORANALYSIS,FUN=sum)
datal<- datar[order(datar[,1],datar[,2]),]
tskots<-function(x){ts(x,end=c(2017,9),frequency=12)}
ksts<-tapply(datal$`Net Sales`,datal$`01.Product Subcategory `,tskots)
我想在每个子类别中运行一个函数。
for(i in 1:60){
fitarima[i]<-auto.arima(ksts[i])
fitets[i]<-ets(ksts[i])
if (fitarima[i]$AIC>=fitets[i]$AIC)
{fitmodel[i]<-fitarima[i]}
else
{fitmodel[i]<-fitets[i]}
k[i]<-forecast(fitmodel[i],5)
}
为每个子类别选择最佳模型和预测。 但是我收到了这条消息
is.constant(x)中的错误: (list)对象无法强制键入&#39; double&#39;
你打算做什么?