Tôi đang làm việc trên một alogorithm trong R để tự động hóa tính toán dự báo hàng tháng. Tôi đang sử dụng, trong số những người khác, hàm ets () từ gói dự báo để tính toán dự báo. Nó đang làm việc rất tốt.
Thật không may, đối với một số chuỗi thời gian cụ thể, kết quả tôi nhận được là kỳ lạ.
Xin vui lòng, tìm bên dưới mã tôi đang sử dụng:
train_ts<- ts(values, frequency=12)
fit2<-ets(train_ts, model="ZZZ", damped=TRUE, alpha=NULL, beta=NULL, gamma=NULL,
phi=NULL, additive.only=FALSE, lambda=TRUE,
lower=c(0.0001,0.0001,0.0001,0.8),upper=c(0.9999,0.9999,0.9999,0.98),
opt.crit=c("lik","amse","mse","sigma","mae"), nmse=3,
bounds=c("both","usual","admissible"), ic=c("aicc","aic","bic"),
restrict=TRUE)
ets <- forecast(fit2,h=forecasthorizon,method ='ets')
Xin vui lòng, bạn sẽ tìm thấy bên dưới bộ dữ liệu lịch sử liên quan:
values <- c(27, 27, 7, 24, 39, 40, 24, 45, 36, 37, 31, 47, 16, 24, 6, 21,
35, 36, 21, 40, 32, 33, 27, 42, 14, 21, 5, 19, 31, 32, 19, 36,
29, 29, 24, 42, 15, 24, 21)
Ở đây, trên biểu đồ, bạn sẽ thấy dữ liệu lịch sử (màu đen), giá trị được trang bị (màu xanh lá cây) và dự báo (màu xanh). Dự báo chắc chắn không phù hợp với giá trị được trang bị.
Bạn có bất cứ ý tưởng nào về cách "ràng buộc" forecat để "phù hợp" với doanh số lịch sử không?
ets
. Giá trị trung bình / mức của dữ liệu lịch sử là khoảng 20 và giá trị trung bình / mức của dự báo là khoảng 50. Không chắc tại sao điều này sẽ xảy ra? bạn có thể chạy một cơ bảnets
và xem nếu bạn nhận được kết quả tương tự?