R 계절 시계


9

decompose기능을 사용하고 R월별 시계열의 3 가지 구성 요소 (추세, 계절 및 랜덤)를 생각해 냈습니다. 차트를 작성하거나 표를 보면 시계열이 계절성에 영향을 받는다는 것을 분명히 알 수 있습니다.

그러나 시계열을 11 계절 더미 변수에 회귀하면 모든 계수가 통계적으로 유의하지 않으므로 계절성이 없음을 나타냅니다.

왜 내가 두 가지 매우 다른 결과를 내는지 이해하지 못합니다. 누구에게 이런 일이 있었습니까? 내가 뭔가 잘못하고 있습니까?


유용한 정보를 여기에 추가합니다.

이것은 나의 시계열과 해당 월간 변화입니다. 두 차트 모두 계절성이 있음을 알 수 있습니다 (또는 이것이 내가 평가하고 싶은 것임). 특히 두 번째 차트 (매월 시리즈 변경)에서 반복 패턴 (연도 같은 달에 높은 점수와 낮은 점수)을 볼 수 있습니다.

시계열

월간 변경

아래는 decompose함수 의 출력입니다 . @RichardHardy가 말했듯이 함수는 실제 계절성이 있는지 테스트하지 않습니다. 그러나 분해는 내가 생각하는 것을 확인하는 것 같습니다.

분해

그러나 11 개의 계절 더미 변수 (12 월을 제외하고 1 월에서 11 월까지)에 대한 시계열을 회귀하면 다음과 같은 결과를 얻습니다.

    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

기본적으로 모든 계절 계수는 통계적으로 유의하지 않습니다.

선형 회귀를 실행하려면 다음 함수를 사용하십시오.

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)

여기서 Yvar를 월간 빈도 (주파수 = 12)의 시계열 변수로 설정했습니다.

또한 회귀에 대한 추세 변수를 포함하여 시계열의 추세 구성 요소를 고려하려고합니다. 그러나 결과는 변경되지 않습니다.

                  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 ***

따라서 내 질문은 : 회귀 분석에서 뭔가 잘못하고 있습니까?


1
@forecaster, 여기 에 귀하의 질문에 대한 답변이 있습니다 (OP는 decompose함수 R가 사용됨을 나타냅니다).
Richard Hardy

1
decompose함수 의 도움말 파일을 읽으면 함수가 계절성이 있는지 테스트하지 않는 것 같습니다. 대신, 그것은 단지 각 계절에 대한 평균을 얻고 평균을 빼고 이것을 계절 성분이라고 부릅니다. 따라서 실제 기본 계절 구성 요소가 있는지 또는 소음 만 발생하는지에 관계없이 계절 구성 요소를 생성합니다. 그럼에도 불구하고 이것은 계절성이 데이터 플롯에서 볼 수 있다고 말하지만 왜 인형이 중요하지 않은지 설명하지 않습니다. 표본이 너무 작아서 상당한 계절별 인형을 얻을 수 없었습니까? 그들은 공동으로 중요합니까?
Richard Hardy

3
계절 차트는 계절 변동이 -0.02와 +0.04 사이 인 반면 실제 값의 범위는 40 억에서 60 억 사이 인 척도를 확인해야합니다. 분해 함수는 데이터가 일부 계절성을 나타내도록 강요하므로 무시할 수있는 값을 표시합니다. 데이터에 계절성이 없습니다.
예측 자

1
나는 계절성이 운동의 규모보다는 특정한 "고정 된"주파수를 가진 움직임에 관한 것이라고 생각했다. 첫 번째 차트는 균형 (파운드 단위로)을 표시하고 두 번째는 변경 (백분율 단위로 표시됨)로 스케일이 다릅니다. 방금 회귀를 다시 실행하려고했습니다. 다항식 추세를 고려하면 일부 계수가 중요해지기 시작합니다. @danno가 제안했듯이 트렌드는 매우 중요합니다.
mattiace

1
Canova 및 Hansen 테스트는 데이터에서 계절 패턴의 존재 및 안정성에 대한 추가 정보를 제공 할 수 있습니다. 이 테스트의 일부 응용 프로그램은 예를 들어이 게시물을 참조하십시오. 이 게시물 은 원본 용지와 샘플 코드에 대한 링크도 제공합니다.
javlacalle

답변:


1

추세를 제거한 후 데이터에 대해 회귀 분석을 수행하고 있습니까? Yvar의 추세를 고려하지 않는 한 긍정적 인 추세가 있으며 계절적 특성이 회귀에서 가려 질 수 있습니다 (트랜드 또는 오류로 인한 차이가 월으로 인해보다 큽니다).

또한 시계열에 대해 확신이 없지만 각 관측치에 한 달을 할당해서는 안되며 회귀 분석은 다음과 같습니다.

lm(Yvar ~ Time + Month)

그게 말이 안된다면 사과 ... 회귀가 가장 의미가 있습니까?


Econometrics 교재 (Wooldridge)에서 회귀 분석에 "시간"요소를 도입하면 원래 시계열의 추세를 낮추는 것과 같습니다. "시간"계수의 경우, n = 관측치 수와 함께 [1, 2, ..., n]과 같은 벡터를 의미합니다. 나는 당신의 두 번째 요점을 정말로 얻지 못합니다. 두 번째 회귀 분석은 다음과 같습니다. lm.r = lm (Yvar ~ VarTime+Var1 월 + 바Feb+...+Var11 월). 이것이 당신이 의미 한 것입니까?
mattiace

몇 줄의 데이터를 보는 것이 도움이됩니다. 그러나 Time, Yvar, Month의 세 열이 있다고 상상합니다. 행은 관측치입니다. 따라서 lm ()의 요인은 시간 및 월 (요인의 요인 수준이 아님)이라고 생각합니다. 또한 시계열에 lm ()에 문제가 있다고 생각합니다 ... 관찰은 독립적이지 않습니다-시간적으로 자기 상관.
danno

1

시계열을 그래픽으로 묘사 할 때, 시간의 선형 성분 인 "추세"가 실현에 가장 큰 기여를하는 것은 분명합니다. 우리는이 시계열의 가장 중요한 측면이 매달 안정적인 상승이라고 말합니다.

그 후, 나는 계절에 따른 변동이 아주 작은 것이라고 언급하고 싶습니다. 따라서 6 년에 걸쳐 월 단위로 측정 된 총 측정치 (총 72 개의 관측치)에서 선형 회귀 모형 은 11 개월 대비를 통계적으로 유의 한 것으로 식별 할 수있는 정밀도 를 갖지 못합니다 . 또한 시간 효과 계절적 영향에 따라 72 개의 모든 관측치에서 발생하는 거의 일관된 선형 증가이기 때문에 시간 효과 통계적 유의성을 달성 한다는 것은 놀라운 일이 아닙니다 .

11 개월간 대조에 대한 통계적 유의성 이 없다고해서 계절적 영향이 없음을 의미 하지는 않습니다 . 실제로 회귀 모형을 사용하여 계절성이 있는지 여부를 결정하는 경우 적절한 검정은 매월 대비의 통계적 유의성을 동시에 평가하는 중첩 된 11 자유도 검정입니다. 분산 분석, 우도 비율 테스트 또는 강력한 Wald 테스트를 수행하여 이러한 테스트를 얻을 수 있습니다. 예를 들어 :

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

그것이 당신의 경우인지 모르겠지만, R에서 시계열 분석을 시작했을 때 나에게 일어 났으며 문제는 시계열 객체를 분해 할 때 시계열 기간을 올바르게 언급하지 않았다는 것입니다. 시계열 기능에는 주파수를 지정할 수있는 매개 변수가 있습니다. 그렇게하면 계절 추세를 올바르게 분해합니다.


jmnavarro, 분해 함수에서 빈도를 올바르게 정의했습니다 (매월 데이터가있을 때 12). 실제로이 기능의 결과에 만족합니다. 내 질문은 더미 변수를 사용하여 선형 회귀를 수행 할 때 동일한 결과를 찾지 못하는 이유입니다 (계절이 중요합니다). 나는 R과 Excel 모두로 그것을했고 그 결과는 동일합니다 : 더미 계수는 통계적으로 중요하지 않습니다. 이것은 이전에 분해 기능에서 찾은 것과 반대입니다. 여기에 뭔가 빠진 것이 있는지 이해가되지 않습니다
mattiace

사실, 죄송합니다. 귀하의 질문을 완전히 이해하지 못했습니다. 코드를 게시 할 수 있다면 도움이 될 것입니다.
jmnavarro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.