R chuỗi thời gian theo mùa


9

Tôi sử dụng decomposechức năng trong Rvà đưa ra 3 thành phần trong chuỗi thời gian hàng tháng của mình (xu hướng, theo mùa và ngẫu nhiên). Nếu tôi vẽ biểu đồ hoặc nhìn vào bảng, tôi có thể thấy rõ rằng chuỗi thời gian bị ảnh hưởng bởi tính thời vụ.

Tuy nhiên, khi tôi hồi quy chuỗi thời gian vào 11 biến giả theo mùa, tất cả các hệ số đều không có ý nghĩa thống kê, cho thấy không có tính thời vụ.

Tôi không hiểu tại sao tôi lại đưa ra hai kết quả rất khác nhau. Điều này đã xảy ra với bất cứ ai? Tôi có làm điều gì sai?


Tôi thêm vào đây một số chi tiết hữu ích.

Đây là chuỗi thời gian của tôi và thay đổi hàng tháng tương ứng. Trong cả hai biểu đồ, bạn có thể thấy có tính thời vụ (hoặc đây là những gì tôi muốn đánh giá). Đặc biệt, trong biểu đồ thứ hai (là thay đổi hàng tháng của chuỗi) tôi có thể thấy một mô hình lặp lại (điểm cao và điểm thấp trong cùng một tháng trong năm).

Chuỗi thời gian

Thay đổi hàng tháng

Dưới đây là đầu ra của decomposehàm. Tôi đánh giá cao điều đó, như @RichardHardy đã nói, chức năng này không kiểm tra xem có tính thời vụ thực tế hay không. Nhưng sự phân rã dường như xác nhận những gì tôi nghĩ.

Phân hủy

Tuy nhiên, khi tôi hồi quy chuỗi thời gian trên 11 biến giả theo mùa (từ tháng 1 đến tháng 11, ngoại trừ tháng 12), tôi thấy như sau:

    Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 5144454056  372840549  13.798   <2e-16 ***
    Jan     -616669492  527276161  -1.170    0.248    
    Feb     -586884419  527276161  -1.113    0.271    
    Mar     -461990149  527276161  -0.876    0.385    
    Apr     -407860396  527276161  -0.774    0.443    
    May     -395942771  527276161  -0.751    0.456    
    Jun     -382312331  527276161  -0.725    0.472    
    Jul     -342137426  527276161  -0.649    0.520    
    Aug     -308931830  527276161  -0.586    0.561    
    Sep     -275129629  527276161  -0.522    0.604    
    Oct     -218035419  527276161  -0.414    0.681    
    Nov     -159814080  527276161  -0.303    0.763

Về cơ bản, tất cả các hệ số theo mùa không có ý nghĩa thống kê.

Để chạy hồi quy tuyến tính, tôi sử dụng hàm sau:

lm.r = lm(Yvar~Var$Jan+Var$Feb+Var$Mar+Var$Apr+Var$May+Var$Jun+Var$Jul+Var$Aug+Var$Sep+Var$Oct+Var$Nov)

trong đó tôi thiết lập Yvar dưới dạng biến chuỗi thời gian với tần suất hàng tháng (tần số = 12).

Tôi cũng cố gắng tính đến thành phần xu hướng của chuỗi thời gian bao gồm một biến xu hướng cho hồi quy. Tuy nhiên, kết quả không thay đổi.

                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 3600646404   96286811  37.395   <2e-16 ***
    Jan     -144950487  117138294  -1.237    0.222    
    Feb     -158048960  116963281  -1.351    0.183    
    Mar      -76038236  116804709  -0.651    0.518    
    Apr      -64792029  116662646  -0.555    0.581    
    May      -95757949  116537153  -0.822    0.415    
    Jun     -125011055  116428283  -1.074    0.288    
    Jul     -127719697  116336082  -1.098    0.278    
    Aug     -137397646  116260591  -1.182    0.243    
    Sep     -146478991  116201842  -1.261    0.214    
    Oct     -132268327  116159860  -1.139    0.261    
    Nov     -116930534  116134664  -1.007    0.319    
    trend     42883546    1396782  30.702   <2e-16 ***

Do đó, câu hỏi của tôi là: tôi có làm gì sai trong phân tích hồi quy không?


1
@forecaster, đây là câu trả lời cho câu hỏi của bạn (OP cho biết decomposechức năng trong Rđược sử dụng).
Richard Hardy

1
Đọc tệp trợ giúp của decomposehàm, có vẻ như hàm này không kiểm tra xem có tính thời vụ hay không. Thay vào đó, nó chỉ đạt được mức trung bình cho mỗi mùa, trừ đi giá trị trung bình và gọi đây là thành phần theo mùa. Vì vậy, nó sẽ tạo ra một thành phần theo mùa bất kể có thành phần cơ bản theo mùa thực sự hay chỉ là tiếng ồn. Tuy nhiên, điều này không giải thích lý do tại sao các hình nộm của bạn không đáng kể mặc dù bạn nói tính thời vụ có thể nhìn thấy từ một biểu đồ của dữ liệu. Có thể là mẫu của bạn quá nhỏ để có được các hình nộm đáng kể theo mùa? Họ có ý nghĩa chung?
Richard Hardy

3
Bạn cần nhìn vào thang đo, biểu đồ theo mùa cho thấy sự thay đổi theo mùa nằm trong khoảng -0,02 đến + 0,04, trong khi các giá trị thực tế dao động từ 4 tỷ đến 6 tỷ. Hàm decompose buộc dữ liệu của bạn hiển thị một số tính thời vụ, đó là lý do tại sao nó hiển thị một giá trị không đáng kể. Không có tính thời vụ trong dữ liệu của bạn.
dự báo

1
Tôi nghĩ tính thời vụ là về các chuyển động với tần số "cố định" nhất định hơn là độ lớn của chuyển động. Các thang đo khác nhau khi biểu đồ đầu tiên cho thấy sự cân bằng (tính theo bảng Anh) và biểu đồ thứ hai là sự thay đổi (tính theo tỷ lệ phần trăm). Tôi vừa thử chạy lại hồi quy: nếu tôi tính đến xu hướng đa thức, một số hệ số bắt đầu có ý nghĩa. Tôi đoán, như @danno đề xuất, xu hướng rất đáng kể.
mattiace

1
Thử nghiệm Canova và Hansen có thể cung cấp cho bạn một số thông tin thêm về sự hiện diện và tính ổn định của mẫu theo mùa trong dữ liệu của bạn. Đối với một số ứng dụng của bài kiểm tra này, hãy xem ví dụ bài đăng này , bài viết này cũng cung cấp liên kết đến bài báo gốc và mã mẫu.
javlacalle

Câu trả lời:


1

Bạn đang thực hiện hồi quy dữ liệu sau khi bạn đã loại bỏ xu hướng? Bạn có xu hướng tích cực và chữ ký theo mùa của bạn có thể bị che khuất trong hồi quy của bạn (phương sai do xu hướng hoặc lỗi, lớn hơn so với tháng), trừ khi bạn đã tính đến xu hướng trong Yvar ...

Ngoài ra, tôi không tự tin lắm với chuỗi thời gian, nhưng mỗi lần quan sát không được chỉ định một tháng và hồi quy của bạn trông giống như thế này?

lm(Yvar ~ Time + Month)

Xin lỗi nếu điều đó không có ý nghĩa ... Liệu hồi quy có ý nghĩa nhất ở đây không?


Time+VarFeb+...+Var

Nó sẽ giúp để xem một vài dòng dữ liệu của bạn. Nhưng, tôi tưởng tượng rằng bạn đã có ba cột, Thời gian, Yvar, Tháng. Các hàng là quan sát. Vì vậy, tôi nghĩ các yếu tố trong lm () của bạn sẽ là Thời gian và Tháng (không phải là các yếu tố của Tháng). Ngoài ra, tôi nghĩ rằng có một số vấn đề với chuỗi thời gian lm () ... việc quan sát không độc lập - tự động theo thời gian.
danno

1

Trong mô tả đồ họa của bạn về chuỗi thời gian, rõ ràng "xu hướng" - một thành phần tuyến tính theo thời gian - là đóng góp đáng kể cho việc thực hiện. Chúng tôi sẽ nhận xét rằng khía cạnh quan trọng nhất của chuỗi thời gian này là sự gia tăng ổn định mỗi tháng.

Sau đó, tôi sẽ nhận xét rằng sự thay đổi theo mùa là rất nhỏ bằng cách so sánh. Do đó, không có gì đáng ngạc nhiên, với các biện pháp hàng tháng được thực hiện trong 6 năm (tổng cộng chỉ có 72 quan sát), mô hình hồi quy tuyến tính không có độ chính xác để xác định bất kỳ sự tương phản nào trong 11 tháng là có ý nghĩa thống kê. Nó được hơn nữa không ngạc nhiên rằng hiệu ứng thời gian không đạt được ý nghĩa thống kê, bởi vì nó là xấp xỉ phù hợp cùng sự gia tăng tuyến tính xảy ra trên khắp 72 quan sát, có điều kiện thuận hiệu lực thi hành theo mùa của họ.

Việc thiếu ý nghĩa thống kê đối với bất kỳ sự tương phản nào trong 11 tháng không có nghĩa là không có tác động theo mùa. Trong thực tế, nếu bạn sử dụng mô hình hồi quy để xác định xem có bất kỳ tính thời vụ nào không, thì thử nghiệm thích hợp là thử nghiệm tự do 11 độ lồng nhau, đồng thời đánh giá ý nghĩa thống kê của độ tương phản mỗi tháng. Bạn sẽ có được bài kiểm tra như vậy bằng cách tiến hành ANOVA, kiểm tra tỷ lệ khả năng hoặc kiểm tra Wald mạnh mẽ. Ví dụ:

library(lmtest) model.mt <- lm(outcome ~ time + month) model.t <- lm(outcome ~ time) aov(model.mt, model.t) lrtest(model.mt, model.t) library(sandwich) ## autoregressive consistent robust standard errors waldtest(lrtest, lmtest, vcov.=function(x)vcovHAC(x))


0

Tôi không biết đó có phải là trường hợp của bạn không, nhưng điều đó đã xảy ra với tôi khi tôi bắt đầu phân tích chuỗi thời gian trong R và vấn đề là tôi đã không nêu chính xác khoảng thời gian chuỗi khi tạo đối tượng chuỗi thời gian để phân tách nó. Có một tham số trong hàm chuỗi thời gian cho phép bạn chỉ định tần số của nó. Làm như vậy, nó phân hủy chính xác xu hướng theo mùa của nó.


jmnavarro, tôi đã xác định chính xác tần số trong hàm phân tách (= 12 vì tôi có dữ liệu hàng tháng). Trong thực tế, tôi hài lòng với kết quả của chức năng này. Câu hỏi của tôi là tại sao tôi không tìm thấy kết quả tương tự (tính thời vụ là đáng kể) khi tôi thực hiện hồi quy tuyến tính bằng các biến giả. Tôi đã làm cả hai với R và excel và kết quả là như nhau: hệ số giả không có ý nghĩa thống kê. Điều này trái với những gì tôi đã tìm thấy trước đây trong chức năng phân hủy. Tôi không hiểu nếu tôi bỏ lỡ điều gì ở đây
mattiace

Đúng, xin lỗi, tôi không hoàn toàn hiểu câu hỏi của bạn. Nó sẽ giúp nếu bạn có thể đăng mã của mình, vì vậy chúng tôi có thể thử và sao chép nó.
jmnavarro
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.