목록데이터분석/시계열 분석 (9)
Hyunwoo's DATA

벡터 자기회귀 모델(VAR) 지금까지 다룬 모델들은 단 방향 관계만 있다는 것입니다. SARIMAX 예시에서 예상변수 Y_t가 외생 예측변수의 영향은 받았지만, 반대의 경우는 적용되지 않았습니다. 하지만 변수가 쌍방향으로 영향을 주는 경우가 존재합니다. VAR은 이러한 다변량 예측에 사용됩니다. VAR의 시계열 변수는 서로 영향을 주며 이를 고려해 각 변수의 미래값을 전체 시계열 변수의 과거값으로부터 예측하므로 양방향 모델입니다. 방적식은 위와 같습니다. y1t는 변수 y1의 t번째 관측값을 뜻합니다. e1,t 와 e2,t은 동시에 상관관계를 가질 수 있는 백색 잡음 과정입니다. 계수ϕij,ℓℓ는 yi에 대한 변수 yi의 ℓℓ번째 시차의 영향을 잡아내고, 계수 ϕii,ℓℓ는 변수 yi의 ℓℓ번째 시차의 ..

prophet은 페이스북에서 만든 시계열 예측 라이브러리이다. prophet은 계절효과가 강하면서 여러 시즌의 과거 데이터가 있는 경우에 가장 잘 작동한다고 하는데, 실제로 해보니 트렌드를 정말 잘 반영하여 예측하는 것을 볼 수 있었다. prophet의 구성 요소는 g(t) : Growth, 반복적이지 않은 트렌드 s(t) : Seasonality, 주기를 가지고 있는 계절성 h(t) : Holiday, 규칙적이지 않은 영향이 있는 이벤트 오차 : 정규분포라고 가정 라이브러리 불러오기 다른 모델들처럼 데이터프레임에 m.fit()을 해주면 된다. 미래 예측값을 m.make_future_dataframe()을 통해 어느정도의 기간만큼 예측할지 정해줘야한다. forecast = m.predict(future)..

외생변수란? 연구이 대상이 되는 현상과 관련된 실험변수와 결과변수 이외의 기타변수들로써, 결과변수에 영향을 미칠 수 있는 변수들 식당에 과거에 방문자 수를 가지고 미래의 예측하려할 떄 휴일 여부가 해당한다. SARMAX에 외생 변수 적용 다음은 레스토랑 방문자 수에 대한 데이터이다 4개의 레스토랑과 총합 방문자수 그리고 주말 휴일 데이터를 반출한다. 다음 데이터를 플롯팅하면 위와 같이 약간의 계절성을 보인다. ETS분해를 통해 계절성이 있음을 확인할 수 있다. SARIMA와 같은 방식으로 최적의 모델을 찾고 모델을 fit할때 외생변수를 exog = []로 넣어준다. 데이터를 예측할때도 외생변수를 넣어준다. 플롯팅한 결과 결과적으로 외생변수를 넣기전 RMSE 에러는 41에서 30으로 줄어들었다. 모델을 리..

sarima는 (p,d,q)m 매개변수의 영향을 받는다 여기서 p,d,q항은 계절적 회귀,차분,이동평균 계수를 나타내고 m은 각 계절적 사이클에 잇는 데이터 포인트,즉 행의 계소룰 나타낸다. 월간 데이터와 연간 계절성 사이클이 있다면 m은 12가 될 것이다. SARIMA의 구현물을 SARIMAX라고 불리는데 이름에 포함된 X는 외생적 회귀변수도 지원한다는 것을 의미한다. 불러온 시계열 데이터셋은 눈으로봐도 일반적인 계절성과 상승추이를 보인다. ETS분해시 더 확실한 계절성을 확인할 수 있다. auto_arima를 통해 최적의 모델을 찾는다. train,test 데이터를 설정하고 최적의 모델을 fit해준다. 테스트 데이터셋 범위에 대한 예측값을 플롯팅해본다. MSE값의 0.128로 값에 비해 굉장히 적기때..

디키-풀러 테스트 디키풀러 테스트는 시계열 데이터가 정상성을 가지는지 확인할 때 사용하는 가설 검정이다. 귀무가설 검정을 사용해 p값을 반환하여 시계열이 정상인지 비정상인지 수치로 보여준다. p값이 0.05보다 작으면 귀무가설을 기각하고 해당 데이터셋은 정상이라고 추정한다. P-value는 -4.8082이고 귀무가설을 기각하지 못했으므로 데이터는 정상적임을 알 수 있다. AIC(Akaike Information Criterion), BIC(Bayes Information Criterion) AIC = -2log(likelihood) + 2p BIC = -2log(likelihood) + plog(n) p: 변수의 갯수, n: 데이터 갯수 AIC 모델들의 집합을 평가합니다. p,d,q값의 가중치나 순서를 ..

정상성이란 평균,분산이 시간에 따라 일정한 성질이다. 즉 시계열 데이터의 특성이 시간의 흐름에 따라 변하지 않음을 의미한다. 추세나 계절성이 있는 시계열은 비정성 데이터이다. 이렇듯 정상성을 나타내지 않는 데이터는 복잡한 패턴을 모델링하여 분석하기 어렵기 때문에 정상성을 갖도록 로그변환,차분 등 전처리 후 ARIMA 같은 모형에선 분석이 진행된다. 자기상관이란 상관은 두 변수 간의 선형 관계 강도를 의미한다. 자기상관(autocorrelation)은 시계열의 x차 시점간의 상관관계를 보여준다. 자기상관은 본인 단 하나의 시계열만을 사용하며 다른 시계열과 비교되지 않는다. 동일한 데이터 배열에 대해 특정 시간 단위만큼 지연 또는 이동한 시점의 데이터를 비교한다. ACF(자기상관함수) ACF 현재의 관측값과..