Chapter 3에서는
* Supervised Learning이 무엇이며 어떻게 Machine Learning Algorithms Modeling을 하는지
* Time Series Data를 프레임화하는 Sliding Window 방법과 사용 방법
* Multivariates Data, Multiple Steps forecasting Sliding Window를 사용하는 방법에 대해 배운다.
Supervised Machine Learning(지도,지휘 머신러닝)
* Supervised Learning : train data로부터 하나의 함수를 유추해내기 위한 Machine Learning Algorithm
입력 변수 x, 출력 변수 y가 존재하고, Algorithm을 통해 입력에서 출력으로의 mapping 함수를 학습한다
즉, y=f(x)를 구성하고 학습하는 것이다.
* Supervised Machine Learning은 classfication과 Regression으로 나뉜다.
Sliding Window
* Sliding Window : 이전 값을 사용하여 다음 값을 예측함으로써 Time Series dataset을 Supervised Learning으로 재구성가능하게 해준다.
time | measure |
1 | 100 |
2 | 110 |
3 | 108 |
4 | 115 |
5 | 120 |
* 위와 같은 Time Series가 제공 되었을 때, 이를 window width(lag size)=1로 dataset을 변경한다면
X | Y |
? | 100 |
100 | 110 |
110 | 108 |
108 | 115 |
115 | 120 |
120 | ? |
* 이와 같이 변경이 될 것이다. 여기서 첫 째와 마지막 줄은 이전 값, 이후 값을 알 지 못하므로 삭제 가능하다.
* 우리가 예측하고자 하는 값이 obs(2)이면 즉, t=2일때라면 y=f(x)를 y=f(X), 110=f(100)으로 쓸 수 있다.
이는 현재 관측값=f(직전관측값)이 된다.
* dataset 변경 시, 관찰 간의 순서가 유지되어야한다.
* 위에서 말한 window width(lag size)는 이전 시간의 단계의 수를 말한다.
위에서는 y를 구하기위해 이전 시간 data를 하나 사용했기에 window width=1이고, 만약 108이라는 data를 예측하기 위해 두 개의 이전 시간 값 (100,110)을 사용한다면 window width=2가 된다. 이를 표현하면 y=f(x), y=f(X1,X2), 108=f(100,110)이 된다.
Sliding Window with Multivariates
* sliding window문제에서 변수가 두 개 이상인 것이다.
time | measure1 | measure2 |
1 | 0.2 | 88 |
2 | 0.5 | 89 |
3 | 0.7 | 87 |
4 | 0.4 | 88 |
5 | 1.0 | 90 |
* 위와 같은 Time Series를 다시 sliding window를 활용하여 dataset을 변경시키면(window size=1),
X1 | X2 | X3 | Y |
? | ? | 0.2 | 88 |
0.2 | 88 | 0.5 | 89 |
0.5 | 89 | 0.7 | 87 |
0.7 | 87 | 0.4 | 88 |
0.4 | 88 | 1.0 | 90 |
1.0 | 90 | ? | ? |
* 여기서 time 2에서 y=f(x)를 표현한다면 y=f(X1,X2,X3), 89=f(0.2,88,0.5), 현재 관측값2=f(직전관측값1,직전관측값2,현재관측값1)이 된다.
Sliding Window with Multiple Steps
* 앞에서는 시간이 t라고 한다면 t를 활용하여 t+1을 예측했다. 이를 'One-Step Forecast'라고 한다.
* 다단계 예측에서는 t를 이용하여 t+1,t+2 등을 예측한다. 이를 'Multiple-Step Forecast'라고 한다.
X1 | Y1 | Y2 |
? | 100 | 110 |
100 | 110 | 108 |
110 | 108 | 115 |
108 | 115 | 120 |
115 | 120 | ? |
120 | ? | ? |
* 첫 dataset에서 multiple steps에 맞는 예시로 dataset을 변경하면, 한 data로 다음 두 data를 예측할 것이다.
* 하나의 input으로 두 가지의 output을 도출해야돼서 input data가 중요하다는 점을 알 수 있다.
'Study > time series forecasting with python' 카테고리의 다른 글
Chapter 6. Data Visualization (0) | 2021.05.27 |
---|---|
Chapter 5. Basic Feature Engineering (0) | 2021.05.20 |
Chapter 4. Load and Explore Time Series Data (0) | 2021.05.19 |
Chapter 2. What is Time Series Forecasting? (0) | 2021.05.13 |
Chapter 1. Python Environment (0) | 2021.05.13 |