2011-11-18 35 views
6

Tôi hiện đang làm việc trong dự án thú cưng để dự báo giá dầu cơ sở trong tương lai từ giá dầu gốc lịch sử. Dữ liệu là hàng tuần nhưng có một số giai đoạn ở giữa nơi giá bị thiếu.Lập mô hình chuỗi thời gian với dữ liệu bất thường

Tôi khá ổn với việc lập mô hình chuỗi thời gian với dữ liệu hoàn chỉnh nhưng khi nói đến những điều không thường xuyên, các mô hình mà tôi đã học có thể không áp dụng được. Tôi có sử dụng lớp xts và tiếp tục với các mô hình ARIMA theo R theo cách thông thường không?

Sau khi xây dựng mô hình để dự đoán giá trong tương lai, tôi muốn nhân tố biến động giá dầu thô, biên lợi nhuận động cơ diesel, doanh số bán xe, tăng trưởng kinh tế và vv (Multivariable?) Ai đó có thể làm sáng tỏ một số cách tôi làm cách này một cách hiệu quả? Trong tâm trí của tôi, nó trông giống như một mê cung.

EDIT: Trimmed Dữ liệu ở đây: https://docs.google.com/document/d/18pt4ulTpaVWQhVKn9XJHhQjvKwNI9uQystLL4WYinrY/edit

Coding:

Mod.fit<-arima(Y,order =c(3,2,6), method ="ML") 

Kết quả: nhắn Cảnh báo: Trong log (s2): Nans sản xuất

cảnh báo này có ảnh hưởng đến tôi độ chính xác của mô hình?

Với dữ liệu bị thiếu, tôi không thể sử dụng ACF và PACF. Có cách nào tốt hơn để chọn các mô hình không? Tôi đã sử dụng AIC (Tiêu chuẩn Thông tin của Akaike) để so sánh các mô hình ARIMA khác nhau bằng cách sử dụng mã này.ARIMA (3,2,6) đã cung cấp AIC nhỏ nhất.

Mã hóa:

AIC<-matrix(0,6,6) 
for(p in 0:5) 
for(q in 0:5) 
{ 
mod.fit<-arima(Y,order=c(p,2,q)) 
AIC[p+1,q+1]<-mod.fit$aic 
p 
} 
AIC 

Kết quả:

   [,1]  [,2]  [,3]  [,4]  [,5]  [,6] 
    [1,] 1396.913 1328.481 1327.896 1328.350 1326.057 1325.063 
    [2,] 1343.925 1326.862 1328.321 1328.644 1325.239 1318.282 
    [3,] 1334.642 1328.013 1330.005 1327.304 1326.882 1314.239 
    [4,] 1336.393 1329.954 1324.114 1322.136 1323.567 1316.150 
    [5,] 1319.137 1321.030 1320.575 1321.287 1323.750 1316.815 
    [6,] 1321.135 1322.634 1320.115 1323.670 1325.649 1318.015 
+1

Chào mừng bạn đến với SO. Đăng một số dữ liệu luôn là một ý tưởng hay, vì đang hiển thị một vài dòng mã trình diễn những gì bạn đã thử. Xem http://stackoverflow.com/q/5963269/602276 để biết một số mẹo viết một câu hỏi hay. – Andrie

+0

Cảm ơn Andrie.I đánh giá cao lời khuyên của bạn. Tôi sẽ đưa mã lên càng sớm càng tốt. – leejy

+0

@Andrie Tôi đã cập nhật câu hỏi bằng mã hóa và cắt dữ liệu. Bạn có thể xem qua nó? Cảm ơn! Có phải tôi đang trên đường ray bên phải không? – leejy

Trả lời

4

Không nói chung bạn không cần phải sử dụng XTS và sau đó làm một ARIMA, có thêm một bước yêu cầu. Các giá trị bị thiếu, được ghi là NA được xử lý bởi arima() và nếu sử dụng method = "ML" thì chúng sẽ được xử lý chính xác; các phương pháp khác có thể không nhận được các cải tiến cho dữ liệu bị thiếu. Điều này hoạt động bởi vì arima() phù hợp với mô hình ARIMA trong một đại diện không gian trạng thái.

Nếu dữ liệu là thông thường nhưng có dữ liệu bị thiếu thì thông tin trên phải ổn.

Lý do tôi nói không được sử dụng chung XTS chỉ rằng arima() đòi hỏi một đối tượng chuỗi thời gian đơn biến ?ts như đầu vào của nó. Tuy nhiên, XTS mở rộng và được thừa hưởng từ sở thú các đối tượng và các sở thú gói không cung cấp một phương pháp as.ts() cho các đối tượng của lớp "zoo". Vì vậy, nếu bạn nhận dữ liệu của mình thành đối tượng zoo() hoặc xts(), thì bạn có thể ép buộc vào lớp "ts" và phải bao gồm NA ở những vị trí thích hợp, trong đó arima() sẽ xử lý nếu có thể (nghĩa là không có quá nhiều giá trị bị thiếu) .

+0

Cảm ơn lời khuyên của bạn! Nó rất súc tích và rõ ràng. Tôi đã sử dụng 'arima() 'như bạn đã nói nhưng nó trả về một cảnh báo. Nó có ảnh hưởng đến chính mô hình không? Ngoài ra, các lựa chọn thay thế khác để chọn mô hình ARIMA cho dữ liệu của tôi vì ACF và PACF không thể hoạt động như thế nào? – leejy

+0

Vậy tại sao chính xác không nên sử dụng xts với arima()? Từ câu trả lời của bạn, tôi thu thập rằng xts hoặc sở thú có thể bị ép buộc với as.ts() theo yêu cầu. –

+0

@NathanGould Thật ra, như tôi giải thích ở trên, các bước bổ sung có liên quan để có được 'arima() 1 những gì nó cần. Có lẽ có một thiếu "cần" trong đoạn cuối. –

Các vấn đề liên quan