Tôi đang cố gắng phân tích chuỗi thời gian và mới đối với lĩnh vực này. Tôi có số lượng sự kiện hàng ngày từ 2006-2009 và tôi muốn điều chỉnh mô hình chuỗi thời gian cho nó. Đây là tiến bộ mà tôi đã thực hiện:
timeSeriesObj = ts(x,start=c(2006,1,1),frequency=365.25)
plot.ts(timeSeriesObj)
Cốt truyện tôi nhận được là:
Để xác minh xem có tính thời vụ và xu hướng trong dữ liệu hay không, tôi làm theo các bước được đề cập trong bài đăng này :
ets(x)
fit <- tbats(x)
seasonal <- !is.null(fit$seasonal)
seasonal
và trong blog của Rob J Hyndman :
library(fma)
fit1 <- ets(x)
fit2 <- ets(x,model="ANN")
deviance <- 2*c(logLik(fit1) - logLik(fit2))
df <- attributes(logLik(fit1))$df - attributes(logLik(fit2))$df
#P value
1-pchisq(deviance,df)
Cả hai trường hợp chỉ ra rằng không có tính thời vụ.
Khi tôi vẽ ACF & PACF của loạt bài, đây là những gì tôi nhận được:
Câu hỏi của tôi là:
Đây có phải là cách để xử lý dữ liệu chuỗi thời gian hàng ngày? Đây trang gợi ý rằng tôi nên nhìn vào cả hai mô hình hàng tuần và hàng năm nhưng phương pháp này là không rõ ràng với tôi.
Tôi không biết cách tiến hành khi tôi có các lô ACF và PACF.
Tôi chỉ có thể sử dụng chức năng auto.arima?
phù hợp <- arima (myts, order = c (p, d, q)
***** Cập nhật kết quả Auto.Arima ******
Khi tôi thay đổi tần số của dữ liệu thành 7 theo nhận xét của Rob Hyndman tại đây , auto.arima chọn mô hình ARIMA theo mùa và xuất ra:
Series: timeSeriesObj
ARIMA(1,1,2)(1,0,1)[7]
Coefficients:
ar1 ma1 ma2 sar1 sma1
0.89 -1.7877 0.7892 0.9870 -0.9278
s.e. NaN NaN NaN 0.0061 0.0162
sigma^2 estimated as 21.72: log likelihood=-4319.23
AIC=8650.46 AICc=8650.52 BIC=8682.18
****** Kiểm tra tính thời vụ cập nhật ******
Khi tôi kiểm tra tính thời vụ với tần số 7, nó xuất ra True nhưng với tính thời vụ 365.25, nó cho kết quả sai. Điều này có đủ để kết luận thiếu tính thời vụ hàng năm?
timeSeriesObj = ts(x,start=c(2006,1,1),frequency=7)
fit <- tbats(timeSeriesObj)
seasonal <- !is.null(fit$seasonal)
seasonal
trả về:
True
trong khi
timeSeriesObj = ts(x,start=c(2006,1,1),frequency=365.25)
fit <- tbats(timeSeriesObj)
seasonal <- !is.null(fit$seasonal)
seasonal
trả về:
False
R
đơn giản không có khả năng xử lý nó. Tôi sẽ tìm kiếm các giải pháp thương mại nếu có hàng tồn kho / chi phí sản xuất cao liên quan đến sản phẩm mà bạn đang cố gắng dự báo. R
có những hạn chế nghiêm trọng đối với nhiệm vụ dự báo như của bạn. Nhìn vào các câu hỏi về dự báo hàng ngày khác ở đâu trong trang web này.
str(x)
mang lại?