시계열 회귀분석 과정
아래와 같은 process를 가지는 시계열 회귀분석 및 머신러닝 과정을 정리한다.

1. 변수추출
가용변수들을 이용해서 시간변수를 년, 월, 일, 요일, 시, 분, 초 등으로 분해하거나, 추세,계절성,잔차로 분해하여 파생변수를 만드는 행위
각종 feature engineering후 시계열 회귀분석 하기
각종 feature engineering을 수행한 후 회귀분석을 통해 시계열데이터를 분석해 본다 non_feature engineering과의 차이도 알아본다. 1. 필요한 라이브러리 다운 # Ignore the warnings # 버전이 바뀌었을때 발생..
sosoeasy.tistory.com
2. 데이터 분할
시계열 데이터를 train set, test set으로 나누기
시계열데이터와 비시계열데이터의 데이터셋 분할하는 법
1. 비시계열데이터 (1) 설명 데이터셋을 보통 (훈련셋:검증셋:테스트셋=6:2:2)로 나눈다. 이때 데이터는 보통 랜덤으로 추출한다. (2) 코드 from sklearn.model_selection import train_test_split # test_set의..
sosoeasy.tistory.com
3. 스케일링
과적합 방지 및 최적화 시키기 위해서 스캐일링 수행
스케일링(scaling) 및 인버스스케일링 종류와 코드 (정규화, 역정규화)
스케일링은 컬럼별 단위차이를 줄여서 연산속도를 빠르게 하고 조건수를 줄여서 최적화 성능을 향상시킨다. standar scaler 평균을 빼고 표준편차로 나누는 변환. 각 변수가 정규분포를 따른다는
sosoeasy.tistory.com
4. 다중공산성 제거
다중공선성 있는 변수들 확인 및 삭제
(1) 다중공선성을 확인하는 condition number
회귀분석에서 조건수(Condition Number)
1. 식 2. 의미 변수들간에 상관성을 나타낸다. 조건수가 낮다 => 변수들이 서로 독립이다 => 오버피팅 할 확률이 낮다. => 오차에 강건하다 조건수가 높다 => 변수들이 서로 상관성이 많다 => 오버피
sosoeasy.tistory.com
(2) VIF기법을 이용한 다중공선성 제거
VIF를 이용한 변수선택 (다중공선성 제거)
독립변수간에 상관성이 있으면 과적합되거나 정확한 분석이 되지 않을 수 있다. 따라서 변수들간에 상관성을 확인하고 상관이 있는 변수들은 제거한다. 변수를 제거하는 방법은 VIF, PCA 2가지가
sosoeasy.tistory.com
5. 정상성 제거
(1) 정상성의 의미
시계열에서 정상성의 의미
1. 의미 정상성(Stationarity Process)이란? => 평균, 분산, 공분산 및 기타 모든 분포적 특성이 일정함을 의미. 시계열이 정상적이다? => 시간의 흐름에 따라 "통계적 특성(평균, 분산, 공분산)"이 변하지
sosoeasy.tistory.com
(2) 정상성 테스트 및 정상성 제거
정상성 테스트 및 비정상성 제거 실습
0. 정상성의 의미 정상성의 의미와 예시에 대해서 아래의 글에 정리했다. sosoeasy.tistory.com/387 평균, 분산, 공분산 및 기타 모든 분포적 특성이 일정함을 의미. 시계열이 정상적이다? => 시간의 흐름
sosoeasy.tistory.com
6. 전통적 회귀분석 (OLS)
OLS기법을 이용하여 선형회귀분석 수행
(1. feature engineering 에서 링크한 글 참조)
7. 정규화 회귀분석
정규화 선형회귀 릿지(ridge), 라쏘(lasso), elastic net
0. 정규화 선형회귀? (1) 선형회귀 계수(Weight)에 대한 제약 조건을 추가함으로써 모형이 과도하게 최적화되는 현상인 과최적화를 막는 방법 (2) 계수의 크기가 커지면 과적합됨. => 계수의 크기를
sosoeasy.tistory.com
8. 앙상블 기법
앙상블기법 배깅(bagging)과 부스팅(boosting)
0. 앙상블 머신러닝에서 여러개의 모델을 학습시켜 모델의 예측결과를 이용해 하나의 모델보다 더 나은 값을 예측하는것 1. 배깅(bagging) 높은 variance를 낮추는 것 (과적합 된 모델을 샘플링을 통
sosoeasy.tistory.com
9. SARIMAX
(1) AR, MA, ARMA, ARMAX
AR, MA, ARMA, ARMAX
시계열 회귀분석의 종류인 AR, MA, ARMA 분석에 대해서 알아보고 실습을 진행해 본다. 1. AR, MA (1) AR(p) model Y_t가 Y_t의 p기 이전까지의 값에 의해 설명되는 모델 (2) MA(q) model Y_t가 현재영향(e_t)으로..
sosoeasy.tistory.com
(2) ARIMA
적분선형확률과정 ARIMA
1. ARIMA 분석 ARMA분석은 데이터에 추세가 있고 이 추세를 없애기 위해 ARMA에 (추세)차분을 추가로 적용한 상태를 말한다. (ARIMA = ARMA+차분) 즉 ARIMA(p,d,q)모델은 Y_t대신 (1-L)^d*Y_t 가 대입된 형태이..
sosoeasy.tistory.com
(2) SARIMA
SARIMAX
1. SARIMAX의 의미 ARIMAX 모형에서 계절성 패턴을 추가한 모델. trend에 대하여 ARIMA를 수행하고, 계절성에 대해서 추가적으로 ARIMA를 수행한것으로 해석하면 된다. 2. 파라미터 (1) 파라미터 설명 총 7
sosoeasy.tistory.com
10. Prophet 라이브러리
fbprophet 라이브러리를 이용한 시계열 분석
페이스북에서 개발한 fbprophet을 이용하여 시계열 분석을 수행한다. 1. 필요 라이브러리 임포트 import timeit start = timeit.default_timer() from fbprophet import Prophet from fbprophet.plot import plot_..
sosoeasy.tistory.com
11.검증지표
회귀분석 수행 후 오차 및 독립변수별 종속변수에 대한 설명력을 확인
<example>



12.잔차진단
잔차를 분석하여 결과에 대한 신뢰도를 확인
* 출처 : 패스트캠퍼스 파이썬을 활용한 시계열 데이터분석 A-Z