본문 바로가기

김성범 교수님 유튜브 강의/파이썬 시계열 분석

시계열 분석 기초(Time Series Regression) - Part 3

728x90

 Topic : 계절적 변동을 어떻게 모델에 포함시킬까?

 

1. Modeling Seasonal Variations

  • Trend와 Seasonal 변동이 있을 때 yt 는 위와 같이 나타낼 수 있다.

2. Binary 방식을 통한 모델링

  • 원핫인코딩 벡터처럼 binary 방식으로 해당하는 season의 값만 가진다.  

  • t 시점이 1월이면 M1 = 1이고 나머지 M = 0. 12월이면 그냥 다 0.
  • M1~11 만으로 12월을 표현할 수 있음. 
  • Trend 는 Linear Trend를 가정. 

정리

  • 참고로 Increasing seasonal variation이 관찰되어 yt*은 yt 를 자연로그변환한 것. 
  • 모든 M=0 일 때 12월을 나타내므로, 12월이 기준이다.
  • 따라서 beta2 는 12월과 1월에서의 y 값이 얼마나 차이나는지를 보여준다.

[실제 적용]

  • beta(계수) 를 보면 12월에 비해서 투숙객이 많은지 적은지 알 수 있다. 
  • 구한 가중치들을 이용해 회귀식을 만들 수 있고 169번째 달의 투숙객을 예상할 수 있다.
    • 나온 값을 다시 e의 지수로 넣어서 실제 예측값을 구한다.

3. Trigonometric 방식을 통한 모델링

  • 사인과 코사인의 순환적인 특성을 이용해 모델링한 것.
  • model1 은 사인 하나, 코사인 하나로 표현
  • model2 는 사인 2개, 코사인 2개로 표현
  • 복잡할 수록 여러개 사용하는 것. 
  • L 은 주기이며 1~12월로 할 경우 L=12. 그렇게 되면 사인, 코사인의 주기도 12가 되겠지?

[ 실제 적용 ]

이제 이걸로 다중선형회귀 만들면 됨. 

  • 이렇게 만들면 되는데, binary 방식과는 달리 계수 자체에 어떤 직관적인 의미를 부여하긴 힘들다.

 

4. Growth Curve Models 방식(계절변동이랑 연관 x)

1) 기본 공식

  • 파라미터들이 비선형 결합됨.
  • 먼저 곱으로 결합된걸 로그변환해서 선형결합으로 바꿈.

2) 그래프

3) 예시

  • 기존 회귀식에서의 자연로그변환은 y 값을 log를 적용한 y 값으로 대체하여 예측을 수행한 것.
  • Growth Curve는 양변에 자연로그를 취하여 학습을 시키고, 다시 양변을 exponential 해서 최종 회귀식은 비선형식을 만든다.

5. 그냥 Regression Model

Autocorrelation이 있음을 감안해서 만드는 모형

 

1) error term

 

 

  • 오차(epsilon)이 위와 같은 식으로 표현된다는 것은 오차간에 독립성이 보장되지 않는다는 말과 같다.
  • a_t는 autocorrelation을 모델링하는 모델의 error term
    • 요것이 머선 말인지 고민을 해보니, a_t는 어찌됐든 평균이 0이고 일정한 분산을 갖고 독립성과 정규성이 보장되는 변수로서 epsilon에 error 을 일으키는 term 이다. 즉, 관찰된 데이터에서 pi_1에 따라서 e_t가 e_t-1에 의해 무조건적으로 결정되지는 않으므로(쭉 epsilon(=error) 가 양수이거나 음수이지는 않으므로) 그것을 수식으로 반영하기 위한 변수라고 생각하면 된다. 말로 표현하기 어려운데 noise라고 생각하니 편하더라. 그래서 또 다른 error term 이라고 정의한 것이겠지.
  • pi_1한 시점 차이의 auto correlation의 크기
    • 요것이 머선 말인지는 수식을 자세히 보면 알 수 있다. pi_1 이 양수라면 높은 확률로 e_t가 e_t-1 의 부호를 따라갈 것이며, 낮은 확률로 a_t에 의해 부호가 바뀔 것이다. 
    • 음수라면 계속 부호가 바뀔 가능성이 높겠지?
    • 따라서 pi_1이 크면 positive, 작으면 negative이므로 pi_1는 1th-order autocorrelation에서의 autocorrelation의 크기를 나타낸다.
  • 여하튼간에 error term 이 저런 관계를 가진 이상 그냥 냅다 회귀식을 적용할 수는 없다 이말이야~
  • 정리하자면 다음과 같다.

2) 예시

  • 변수
    • fconvict(y label) : 여성 유죄판결 비율
    • mconvict : 남성 유죄판결 비율
    • degree : 학력
    • 등등
  • 저런 변수들로 fconvict를 예측해보겠다~

  • 일반적인 다중회귀 적용 결과이다.

  • Auto correlation 여부를 알아보기 위해 Durbin-Watson test를 한 결과이다. 
  • p-value 가 0에 가까우므로 자기상관성이 없다는 귀무가설을 기각하고 대립가설을 채택하게 되며 자기상관성의 크기는 0.6883 으로 매우 강한 것을 알 수 있다.

  • ARMA라는 방법을 통해 앞선 문제점들을 해결할 수 있는데, 우선 이 강의에서는 적용 결과만 알려준다.
  • 큰 차이는 없는데, 기존 모델과는 다르게 mconvict이 fconvict의 영향을 받는다고 알려준다.
    • p-value 가 매우 작다. 
  • 참고로 위의 모델은 단순히 시간만을 변수로 설정한 것이 아닌 혼합모델이다. 
  • 아래를 참조

# 참고

otexts.com/fppkr/data-methods.html

 

Forecasting: Principles and Practice

2nd edition

Otexts.com

예측 변수와 시계열 예측

 예측 변수(predictor variable)는 시계열을 예측할 때 종종 유용합니다. 예를 들어, 여름 기간 동안 더운 지역의 시간당 전기 수요(ED, electricity demand)를 예측하려는 상황을 생각해봅시다. 예측 변수를 고려하는 모델은 이러한 형태일 것입니다.

.

 

 예측 변수로 (완벽하게) 설명할 수 없는 전기 수요량은 항상 변화할 것이기에 이 관계는 정확하지 않습니다. 위의 모델에서 우변에 있는 “오차(error)”항은 무작위 변동과 더불어 모델에 포함하지 않은 관련 변수의 영향까지 고려하는 역할을 합니다. 어떤 것이 전기 수요의 변동을 일으키는지 설명할 때 도움이 되기 때문에 이 모델을 설명 모형(explanatory model)이라고 부릅니다.

 전기 수요 데이터가 시계열이라서, 예측할 때 시계열 모델을 사용할 수도 있습니다. 이 경우에, 적합한 시계열 예측식의 형태는 다음과 같습니다.

 

 여기에서 t는 현재 시간, 은 한 시간 후, t−1은 한 시간 전, t−2는 2시간 전, 나머지도 이와 같습니다. 여기에서는 변수의 과거 값으로 미래 예측을 합니다만, 시스템에 영향을 줄 수 있는 외부 변수는 사용하지 않습니다. 또 다시, 우변의 “오차(error)” 항으로 무작위 변동과 모델에 넣지 않은 관련 변수의 효과를 감안합니다.

 

 위의 두 모델의 특징을 결합한 세 번째 종류의 모델도 있습니다. 예를 들어, 다음과 같이 주어질 것입니다.

 

 

 이러한 종류의 “혼합된 모델(mixed models)”은 분야에 따라 다양한 이름으로 불립니다. 동적 회귀(dynamic regression) 모델, 패널(panel) 데이터 모델, 종단적(longitudinal) 모델, 수송 함수(transfer function) 모델, (f가 선형이라고 가정하는) 선형 시스템(linear system) 모델이라고 알려져 있습니다. 9 장에서 이러한 모델을 다룹니다.

 예측하려는 변수의 과거 값만 다루지 않고 다른 변수에 관한 정보도 포함하기 때문에 설명 모형은 유용합니다. 하지만, 예측하는 사람이 설명 모델이나 혼합된 모델 대신에 시계열 모델을 선택할 수도 있는 몇 가지 이유가 있습니다. 먼저, 시스템을 잘 이해하지 못하거나, 이해하더라도 변수의 행동에 영향을 주는 관계를 측정하기가 아주 어려운 경우입니다. 다음, 관심 있는 변수를 예측할 수 있으려면 다양한 예측 변수의 미래값을 알 필요가 있거나 예측할 필요가 있는 경우입니다. 그리고, 주된 관심이 왜 일어나는지가 아니라 무엇이 일어나는지만 예측하는데 있는 경우입니다. 마지막으로, 시계열 모델이 설명 모델이나 혼합 모델보다 더 정확한 예측값을 내는 경우입니다.

 사용할 수 있는 자원과 데이터, 비교 모델의 정확도, 예측 모델이 사용될 방식에 따라 예측에 사용할 모델이 달라집니다.

 

 

 

 

질문과 비판은 언제나 환영입니다. 많이 꾸짖어주세요.

 

 

728x90