반응형

Data Analysis & ML/시계열분석 30

[시계열분석] 시계열 알고리즘 - 적분 선형확률 과정(1) - ARIMA

ARIMA(Auto-Regressive Integrated Moving Average) ARIMA(p,d,q): 1이상의 차분이 적용하여 알고리즘의 차수(p and q)가 유한한 AR(p)와 MA(q)의 선형조합"** 비정상성인 시계열 데이터 Y_t를 차분한 결과로 만들어진 위 식이가 정상성인 데이터이고 ARMA 모형을 따르면 원래의 Y_t를 ARIMA 모형이라고 함 => d ≥ 1 : Y_t는 비정상성 시계열 데이터이다(단위근을 갖는다) d번 차분한 시계열이 정상성인 데이터이고 ARMA(p,q) 모형을 따른다면 적분차수(Order of Integrarion)가 d인 ARIMA(p,d,q)로 표기함 p=0: ARIMA(0,d,q) = IMA(d,q) q=0: ARIMA(p,d,0) = ARI(p,d) A..

[시계열분석] 시계열 알고리즘 - 일반 선형확률 과정(4) - ARMAX / SARMAX

ARMAX ARMA모델에 X값을 추가한 모델 아래와 같은 시간에 따른 두가지 feature가 있고 최종적으로 consump을 예측하고자 할때, m2도 독립변수로서 사용하는 모델. # 모델링 ## ARIMAX fit = sm.tsa.ARMA(raw_using.consump, (1,1), exog=raw_using.m2).fit() display(fit.summary()) ## 잔차 확인 fit.resid.plot() plt.show() ## 잔차 ACF/PACF plt.figure(figsize=(10, 8)) sm.graphics.tsa.plot_acf(fit.resid, lags=50, ax=plt.subplot(211)) plt.xlim(-1, 51) plt.ylim(-1.1, 1.1) plt.tit..

[시계열분석] 시계열 알고리즘 - 일반 선형확률 과정(3) - ARMA(자기회귀이동평균)

MA와 AR의 관계 가역성 조건 : MR과 AR는 서로 반대의 특징을 가지고 있음 1) MA(q) -> AR(∞): 변환 후 AR 모형이 Stationary Condition이면 "Invertibility" 2) AR(p) -> MA(∞): 여러개 모형변환 가능하지만 "Invertibility" 조건을 만족하는 MA 모형은 단 1개만 존재 ARMA(Auto-Regressive Moving Average) (자기회귀이동평균 ) ARMA(p,q): 알고리즘의 차수(p & q)가 유한한 AR(p)와 MA(q)의 선형조합 p: 자기회귀 다항식의 차수 q: 이동평균 다항식의 차수 AR과 MA의 정상성 조건과 가역성 조건이 동일하게 ARMA 알고리즘들에 적용 종속변수 Y_t는 종속변수 Y_t와 백색잡음 차분들(La..

[시계열분석] 시계열 알고리즘 - 일반 선형확률 과정(2) - AR(자기회귀)

AR(Auto-Regressive) AR(p) : 알고리즘의 차수(p)가 유한한 자기자신의 과거값들의 선형조합 변수의 과거 값의 선형 조합을 이용하여 관심 있는 변수를 예측 필요성 : ACF가 시차(Lag)가 증가해도 0이 되지 않고 오랜시간 남아있는 경우에 MA모형을 사용하면 차수가 무한대로 감 차수 p의 자귀회귀 모델 yt=c+ϕ1yt−1+ϕ2yt−2+⋯+ϕpyt−p+εt (εt는 백색잡음(white noise)) AR모형은 MA 모형과 달리 ACF가 기하급수적으로 빠르게 감소하나 0이 되지는 않음 AR(1) 모델의 특성 Stationarity Condition : −1 0 일때 부호를 바꿔가며(진동하며) 지속적으로 감소 1까지만 correlation이 있음 AR(2) 모델의 특성 yt=ϕ1yt−1+..

[시계열분석] 시계열 알고리즘 - 일반 선형확률 과정(1) - MA(이동평균)

일반 선형확률과정(General Linear Process) "시계열 데이터가 가우시안 백색잡음의 현재값과 과거값의 선형조합" 세부 알고리즘: WN(White Noise) MA(Moving Average) AR(Auto-Regressive) ARMA(Auto-Regressive Moving Average) ARIMA(Auto-Regressive Integrated Moving Average) SARIMA(Seasonal ARIMA) WN(White Noise) 1) 잔차들은 정규분포이고, (unbiased) 평균 0과 일정한 분산을 가져야 함:** 2) 잔차들이 시간의 흐름에 따라 상관성이 없어야 함:** - 자기상관함수(Autocorrelation Fundtion(ACF))를 통해 Autocorrela..

[시계열분석] 항공사 승객수요 스케일 및 정상성 변환

항공사 승객수요 스케일 변환(Log / Box-Cox) # 라이브러리 호출 import numpy as np import matplotlib.pyplot as plt import statsmodels.api as sm import scipy as sp %reload_ext autoreload %autoreload 2 from module import stationarity_adf_test, stationarity_kpss_test # 데이터 준비 data = sm.datasets.get_rdataset("AirPassengers") raw = data.data.copy() # Box-Cox 변환 모수 추정 # 정규분포의 특정 범위(x)에서 lambda를 바꿔가며 정규성(measure:y)이 가장 높은 l..

[시계열분석] 정상성 변환 방법론

비정상성(Non-stationary)의 정상성(Stationary) 변환 목적: 정상성 확보를 통해 안정성이 높아지고 예측력 향상 장점: 절약성 원칙(Principle of Parsimony)(파라미터를 적게 써도됨)에 따라 적은 모수만으로 모델링 가능하기에 과적합 확률이 줄어듬 방법: 제곱, 루트, 로그, 차분 등 비정상 데이터는 범위가 무제한, 하지만 정상성데이터는 범위가 제한되기 때문에 예측이 더 쉬워지지만 무조건 정상성이 필요한 것은 아님. 정상성 변환을 하면 모델이 단조로워지기 때문에 과적합이 일어날 확률이 낮아짐 Trend: a/c/e/f/i Seasonality: d/h/i Cycle: g Non-constant Variance: i 정상성 만족 : b 1) 로그변환 시간흐름에 비례하여 값이..

[시계열분석] 정상성이란

정상성 시계열 시계열이 정상성이다 => 시간의 흐름에 따라 "통계적 특성(Statistical Properties)"이 변하지 않음 통계적 특성(Statistical Properties): 주로 평균(Mean)과 분산(Variance)/공분산(Covariance)를 얘기하지만 이를 포함한 모든 분포적 특성을 총칭함 Homoscedasticity(등분산성): 일정한(유한한, 발산하지않는) 분산을 가짐을 의미 ↔ Heteroscedasticity(이분산성): 발산하는 분산을 가짐을 의미 약정상(Weak Stationarity, Wide-sense Stationary Process): (비수학적 이해) 1)특정 시점의 값들이 같은 분포를 가지고 있다. 2) 랜덤하게 두개를 뽑았을 때 결합확률분포(joint d..

[시계열분석] 시계열 데이터 전처리 실습(Python)(2) - 다중공선성 제거

[시계열분석] 시계열 데이터 전처리 방향 - 시간현실 반영, Scaling, 다중공선성 처리 :ysyblog.tistory.com/217 해당 포스팅은 위 포스팅에 이어 진행되는 실습입니다. 데이터 코딩은 아래 포스팅에 이어 진행됩니다. [시계열분석] 시계열 변수 추출 실습(Python)(1) - 시계열 분해 (bike-sharing-demand dataset) :ysyblog.tistory.com/209 [시계열분석] 시계열 변수 추출 실습(Python)(2) - 이동평균/지연값/증감폭/그룹화 (bike-sharing-demand dataset) :ysyblog.tistory.com/210 [시계열분석] 시계열 변수 추출 실습(Python)(3) - 종속변수들과 독립변수들과의 관계를 파악하기 위한 시각..

[시계열분석] 시계열 데이터 전처리 실습(Python)(1) - 시간현실반영 및 Scaling

[시계열분석] 시계열 데이터 전처리 방향 - 시간현실 반영, Scaling, 다중공선성 처리 : ysyblog.tistory.com/217 해당 포스팅은 위 포스팅에 이어 진행되는 실습입니다. 데이터 코딩은 아래 포스팅에 이어 진행됩니다. [시계열분석] 시계열 변수 추출 실습(Python)(1) - 시계열 분해 (bike-sharing-demand dataset) :ysyblog.tistory.com/209 [시계열분석] 시계열 변수 추출 실습(Python)(2) - 이동평균/지연값/증감폭/그룹화 (bike-sharing-demand dataset) :ysyblog.tistory.com/210 [시계열분석] 시계열 변수 추출 실습(Python)(3) - 종속변수들과 독립변수들과의 관계를 파악하기 위한 시..

반응형