我有大约500家商店的每日销售数据。我试图使用R中的auto.arima函数来拟合ARIMA模型。但是每次运行代码时,我都会得到高达4000+或无穷大的MAPE。请帮我弄清楚我在哪里提交错误。
下面提到的是代码的片段
# SALES DATA
# Import the Raw Data
raw <- read.delim('clipboard', header=T)
raw.copy <- raw
class(raw) # data.frame
names(raw) # imported properly
sapply(raw, class)
# Separate out the Dates column
dates <<- as.Date(raw$Dates, format="%m/%d/%y")
raw$Date <- NULL
# Put store sales in a list
storeSales <- lapply(raw, function(x) data.frame(Date=dates, Sales=ts(x, start=c(2012, 3), frequency=365)))
# Accessing data in the list
stats::plot.ts(storeSales[[1]]$Sales)
# -------------------------------------------------------------------
# AUTO ARIMA
# Write the function to retrieve autoArima predictions and MAPE values
wmArima <- function(df){
modArima <- auto.arima(df$Sales)
p <- predict(modArima, n.ahead=365)
m <- accuracy(modArima)[,'MAPE']
return(list(Predicted=p$pred, MAPE=m))
}
# Call the function and retrieve list of predictions + MAPE scores
ArimaResults <- lapply(storeSales[1:15], wmArima)
答案 0 :(得分:1)
您是否尝试将结果可视化或查看真实/预测的销售额值?
这个问题可能有两种可能性:
最好首先消除第一种可能性,然后在第二种情况下来SO寻求帮助,一个可重复的小例子将非常有用。