Mô hình ARIMA theo mùa trong R


7

Tôi có dữ liệu giá hàng tháng cho một mặt hàng từ năm 2007 đến 2017. Bạn có thể tìm thấy nó trong liên kết sau: https://drive.google.com/open?id=0BxRCOgKAL4itcUZlOExrUmVOanc Tôi cần dự báo sử dụng mô hình ARIMA theo mùa trong R cho tiếp theo năm. Khi tôi đang sử dụng auto.arimachức năng, nó gợi ý cho tôi mô hình tốt nhất ARIMA(0,1,1)thay vì ARIMA(p,d,q)(P,D,Q)12. Phần theo mùa của một số model(P,D,Q)là mất tích. Tôi không biết tại sao điều này xảy ra. Là dữ liệu của tôi không theo mùa hoặc có gì đó sai trong mã của tôi. Ngoài ra, giá trị dự báo được đưa ra bởi mô hình là không đổi trong những tháng tiếp theo không đáng kể. Xin vui lòng giúp đỡ! Đây là mã:

data <- read.delim("C:/Users/hp/Desktop/heckyl/forecasting model/Soybean_Prices.txt", header=F)
View(data)
summary(data)
summary(data)
ts.data = ts(data, frequency=12, start=c(2007,6))
ts.data
plot(ts.data)

dim(as.matrix(ts.data))
################################################################################

# Training and Testing Dataset
data.train = window(ts.data, start = c(2007,6), end = c(2013,12)) 
plot(data.train)
dim(as.matrix(data.train))
data.test = window(ts.data, start = c(2014,1))
plot(data.test)
dim(as.matrix(data.test))
################################################################################

# Developing an SARIMA model and Analysis of Model
library(forecast)
arima1 = auto.arima(data.train, trace=FALSE, test="kpss",  ic="aic")
summary(arima1)
confint(arima1)

# Residual Diagonostics
plot.ts(arima1$residuals)
Box.test(arima1$residuals,lag=20, type="Ljung-Box")
acf(arima1$residuals, lag.max=24, main="ACF of the Model")
Box.test(arima1$residuals^2,lag=20, type="Ljung-Box")
library(tseries)
jarque.bera.test(arima1$residuals)

arima1.forecast= forecast.Arima(arima1, h=41)
arima1.forecast
plot(arima1.forecast, xlab="Years", ylab="Price for Soybean")

library(TSPred)
plotarimapred(data.test, arima1, xlim=c(2014, 2017), range.percent = 0.05)
accuracy(arima1.forecast, data.test)

tại sao bạn không nêu lên câu trả lời bạn thích và sau đó chấp nhận nó để đóng câu hỏi
IrishStat

Câu trả lời:


1

Bạn có thể "buộc" tính thời vụ bằng cách đặt D = 1 hoặc thêm các biến hồi quy. Nếu bạn nghĩ rằng có tính thời vụ phức tạp hơn, bạn có thể cân nhắc sử dụng thuật ngữ Fourier? Xem liên kết này phức tạp theo mùa Hyndman


0

Cố gắng sử dụng lệnh này thay vì lệnh bạn đang sử dụng để nhận các tham số của ARIMA.

arima1 = auto.arima(data.train, trace=FALSE, test="kpss", ic="aic", 
                    stepwise=FALSE, approximation=FALSE)

Đôi khi sử dụng các lệnh này cho mô hình tốt nhất.


6
Xác thực chéo không được coi là một trang web trợ giúp mã. Chúng tôi là một trang web Q & A thống kê . Bạn có thể giải thích mã này & tại sao nó giúp tìm ra mô hình tốt nhất?
gung - Phục hồi Monica

0

dữ liệu của bạn cho thấy mô hình saunhập mô tả hình ảnh ở đây

với nhập mô tả hình ảnh ở đây. Thực tế, phù hợp và dự báo là ở đây nhập mô tả hình ảnh ở đây. Dữ liệu cho thấy sự thay đổi mức độ (rõ ràng trực quan) và hai chỉ số theo mùa có ý nghĩa tĩnh (tháng 4 và tháng 9) và một số bất thường (6). Tôi đã sử dụng R để làm phân tích. Thật không may auto.arima đưa ra một số giả định quan trọng về hình thức mô hình, tức là không thay đổi cấp độ và không có xung / chỉ số theo mùa và tất nhiên không có bất thường. Nó luôn luôn là tốt để đọc các bản in tốt.

Thực tế là chỉ có hai tháng trong năm trưng bày "tính thời vụ" để giải thích lý do tại sao auto.arima cung cấp một mô hình có "thành phần theo mùa bằng cách nào đó bị thiếu". Ngay cả một chiếc đồng hồ bị hỏng cũng đúng hai lần một ngày và trong trường hợp này, đồng hồ đã "gần như đúng" vì không có thành phần / hiệu ứng theo mùa tự động đáng kể chỉ là một thành phần / hiệu ứng xác định trong tháng 4 và tháng 9.

Dự báo 6 kỳ ...

nhập mô tả hình ảnh ở đây


Cảm ơn đã giúp đỡ. Bạn có thể vui lòng chia sẻ mã R để tôi tham khảo không? Ngoài ra, mô hình của bạn cũng hiển thị các giá trị dự báo không đổi, tại sao lại như vậy? Trong thực tế, giá cả hàng hóa nông nghiệp biến động rất nhiều.
Tarun Bajaj

Tôi đã sử dụng AUTOBOX có sẵn trong R. Thực tế là giá trị kỳ vọng là cùng một khoản tiết kiệm trong hai tháng của năm chỉ có nghĩa là không có sự tăng trưởng vĩnh viễn dự kiến. Tôi đã thêm một dự báo 6 kỳ chỉ để minh họa cho các dự báo (ngắn hạn) không phải là hằng số. Các nhóm tự tin đề xuất (như mong đợi) làm tăng sự không chắc chắn khi bạn tiến lên.
IrishStat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.