ํด๋น ๋ด์ฉ๋ถํฐ๋ ์ํ์ ์ธ ๋ด์ฉ๋ค์ด ๋ง์ด ๋์ค๋๋ฐ ์์์ ๋ํ ๊น์ ์ดํด๋ณด๋จ ์ฌ์ฉํ๋ ์ฝ๋ ์์ฃผ๋ก ์ ๋ฆฌํด๋ณด์๋ค.
2-1. ETS-Decomposition
์๊ณ์ด ๋ฐ์ดํฐ๋ ํน๋ณํ ์์ฑ๋ค - ์์๋ค์ ๊ฐ์ง๋ค
- ์ฒซ๋ฒ์งธ ์์๋ ํธ๋ ๋, ์ถ์ธ์ด๋ค.ํ๋์ ๋ฐ์ดํฐ์์ ํ๊ฐ์ง ์ถ์ธ๋ง์ ๋ณด์ด๊ฑฐ๋ ์ฌ๋ฌ๊ฐ์ ์ถ์ธ๊ฐ ๋ณด์ผ ์๋ ์๋ค. ์๊ณ์ด ๋ฐ์ดํฐ๋ ์ด๋ค ๋ฐฉํฅ์ผ๋ก๋ ์ถ์ธ๋ฅผ ๊ฐ์ง๋ค.
- ๋ฐ๋ผ์ ๋ถ์ํ๊ณ ์ ํ๋ ์๊ณ์ด ๋ฐ์ดํฐ๊ฐ ์ด๋ค ์ถ์ธ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์๊ฐํํ์ฌ ๋ณด๋ ๊ฒ์ด ์ค์ํ๋ค
- ์๊ณ์ด ๋ฐ์ดํฐ๋ ๊ฒฝํฅ์ฑ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ์๋ก ๊ฐ๋ ์ถ์ธ, ํน์ ์ค๊ฐ์ ์ํ๋ฐฉํฅ์ด๋ ๋ณํ์ง ์๋ ์ถ์ธ, ์๋๋ก ๋ด๋ ค๊ฐ๋ ์ถ์ธ๊ฐ ์๋ค
- ๋๋ฒ์งธ ์์๋ ๊ณ์ ์ฑ์ด๋ค.ํด๋น ๊ฐ์์์๋ ์ค๋
ธ์ฐ๋ณด๋์ ์ค๋
ธ์ฐ๋ณด๋ฉ์ ๊ฒ์ ๊ธฐ๋ก๊ณผ ๊ณ์ ์ ๊ด๊ณ๋ฅผ ์์๋ก ๋ค์๋๋ฐ ๋งค ๊ฒจ์ธ๋ง๋ค ํด๋น ํค์๋์ ๊ฒ์๋์ด ์ฆ๊ฐํ๊ณ ์ฌ๋ฆ๋ง๋ค ๊ฐ์ํ๋ ๊ฒฝํฅ์ ๋ณด์ด๋ ๊ฒ์ ์ ์ ์๋ค.
- ์ด๋ฌํ ๊ฒฝํฅ์ฑ์ ๋ฐ๋ณต์ ์ถ์ธ๋ฅผ ๊ณ์ ์ฑ์ด๋ผ ํ๋ค. ๋ฐ๋ณต์ ์ธ ํจํด ์ธ์๋ ๊ทธ๋ํ ์ ์ฒด์ ์ถ์ธ๊ฐ ์ด๋ ํ์ง๋ ์ ์ ์๋ค.
- ๊ณ์ ์ฑ์ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ๊ณ์ ๋ง๋ค ๋ณํ๊ฐ ์กด์ฌํ๋ ๋๋ ์ผ์ ์ฃผ๊ธฐ๋ฅผ ์ง๋๊ณ ์ ๋ฐ๋ณต์ ์ผ๋ก ๋ณด์ด๋ ์ถ์ธ์ด๋ค.
- ์ธ๋ฒ์งธ ์์๋ ๋ฐ๋ณต์ฑ์ด ์๋ ์์์ธ ์ํ ์์์ด๋ค. ์ด๋ฌํ ์์๋ฅผ ์ํ, ์ํ์ ์์๋ผ ํ๋ฉฐ ํน์ ๊ธฐ๊ฐ๋์ ๋ฐ๋ณต์ ์ถ์ธ๊ฐ ๋ณด์ด์ง ์๋๋ค.
- ์์น์ ํ๋ค๊ฐ ๋ ํ๋ฝ์ ํ๊ธฐ๋ ํ์ง๋ง ๊ณ์ ์ฑ๊ณผ ๊ฐ์ ๋ฐ๋ณต์ ์ถ์ธ๊ฐ ๋ณด์ด์ง ์์ ๋๊ฐ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋งค๋ ํน์ ์ด๋ค ์ฃผ๊ธฐ๋ฅผ ๋ฐํ์ผ๋ก ์์ธกํ๊ธฐ๊ฐ ์ด๋ ต๋ค. ์ฃผ๊ธฐ๊ฐ ๋๋ ทํ๊ฒ ๋ณด์ธ๋ค๋ฉด ๊ทธ๊ฒ์ ๊ณ์ ์ฑ์ด๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ์ด๋ค ๋ฐ์ดํฐ์ ์์๋ ๋๋ ทํ ์ฃผ๊ธฐ๊ฐ ๋ณด์ด์ง ์๊ธฐ๋ ํ๋ค. ํ์ค์ ๋ง์ ๋ฐ์ดํฐ์ ์ด ์ด๋ฐ ๊ฒฝ์ฐ์ ์ํ๋ค.
๋ฐ๋ผ์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ๋ ๋ฐ์ดํฐ์ ์ด๋ค ์๊ณ์ด ์์๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ์ด ์ค์ํ๋ค.
Statsmodels์ ์๋ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํตํด ์์๋ค์ ํ์ธํ๊ณ ๋ถ์ํ ์ ์๋ค. statsmodels๋ ์๊ณ์ด ๋ฐ์ดํฐ์ ์์ ๋ถํด๋ฅผ ์ํ ๊ณ์ ์ฑ ์์ ๋ถํด๋ฅผ ์ ๊ณตํ๋ค.
๋ถํด๋๋ ์์๋ก๋ ๊ณ์ ์ฑ ์์์ ์ค์ฐจ์์, ์ถ์ธ ์์๊ฐ ์๋ค
ETS ๋ชจ๋ธ์ ์ค์ฐจ(E), ์ถ์ธ(T), ๊ณ์ ์ฑ(S) ์ธ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๊ณฑํ๊ฑฐ๋ ํน์ ์ผ๋ถ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ํํํ ํ๋ค
์ด๋ค ์๊ณ์ด ๋ฐ์ดํฐ์ ์ผ๋ฐ์ ํน์ฑ์ ์ดํดํ๊ธฐ ์ํด์๋ ์ค์ฐจ, ์ถ์ธ, ๊ณ์ ์ฑ์ ๊ธฐ๋ฐํด ์๊ฐํ๋ฅผ ํ๋ฉด ์ข๋ค
++ ETS๋ชจ๋ธ์ ์ค์ฐจ(Error) + ์ถ์ธ(Trend) + ๊ณ์ ์ฑ(Seasonality Models)์ ์ค์๋ง๋ก ์ง์ ํํ๋ฒ(Exponential Smoothing)๊ณผ ETS๋ถํด(ETS Decomposition), ์ถ์ธ ๋ชจํ(Trend Methods Models)๊ณผ ๊ฐ์ ๋ค์ํ ๋ชจ๋ธ์ ํฌํจํ๋ ์ผ๋ฐ์ ํํ์ด๋ค.
- ํด๋น ๊ทธ๋ํ๋ 1949๋ ๋ถํฐ 1960๋ ๋ง๊น์ง ์๊ฐ ๋นํ๊ธฐ ์น๊ฐ์๋ฅผ ์ฒ๋ช ๋จ์๋ก ๋ํ๋ธ ๊ทธ๋ํ๋ก ๋จผ์ ์ ์ฒด์ ์ผ๋ก ์ฆ๊ฐํ๋ ์ถ์ธ ์์๋ฅผ ๋ณผ ์ ์๋ค
- ์ด๋ฌํ ์ถ์ธ ์์์๋ ์ ํ ์ถ์ธ์ ์ง์ํ ์ถ์ธ๊ฐ ์์ผ๋ฉฐ ๋๋ค ์ฆ๊ฐ ํน์ ๊ฐ์ํ ์ ์๋ค
- ํด๋น ๊ทธ๋ํ์ ๊ฒฝ์ฐ ์ง์ํ์ ๊ฐ๊น์๋ณด์ด์ง๋ง ์์ ๋ฐ์ดํฐ์ ์์๋ ํ์คํ ๋งํ ์ ์์ผ๋ฏ๋ก ์ถ์ธ ์์๋ฅผ ๋ถ๋ฆฌํ์ฌ ํ์ธํ๋ ์์ ์ด ํ์ํ๋ค
- ์์ ๋ฐ์ดํฐ์์ ์ถ์ธ๊ฐ ์ ํ์ผ๋ก ํน์ ์ง์ํ์ผ๋ก ์์นํ ์ง์ ๋ํด ํ์คํ๊ฒ ์ด๋ ค์ด ์ด์ ๋ก๋ ์ถ์ธ์ ๊ณ์ ์ฑ์ด ๋ํด์ ธ ๋ณด์ด๊ธฐ ๋๋ฌธ์ด๋ค
- ์ฌ์ฉํ ๋ฐ์ดํฐ๋ ๋นํ๊ธฐ ์น๊ฐ์๋ฏ๋ก ์ฌ๋ฆ๊ธฐ๊ฐ ์ฐํด๋์ ์น๊ฐ์ ์๊ฐ ํผํฌ๋ฅผ ์ฐ๋ ํจํด์ด ๋ฐ๋ณต๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค
- ๋ฐ๋ผ์ ์ ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๋ ์ถ์ธ์ ๋งค ํด ๋ฐ๋ณต๋๋ ๊ณ์ ์ฑ์ด ์ถ๊ฐ๋จ์ ์ ์ ์๋ค
from statsmodels.tsa.seasonal import seasonal_decompose
result = seasonal_decompose(airline['Thousands of Passengers'], model='multiplicative') # model='mul' also works
result.plot();
- seasonal_decompose์์ ETS๋ถํด๋ฅผ ํ ๋ ETS ๋ชจ๋ธ์๋ ๋ ์ข
๋ฅ๊ฐ ์๋๋ฐ ํ๋๋ ๋ง์
๋ชจ๋ธ์ด๊ณ ํ๋๋ ๊ณฑ์
๋ชจ๋ธ์ด๋ค
- ๋ง์ ๋ชจ๋ธ์ ๋งค๋ ๋ง๋ช ์ ์น๊ฐ์ด ์ฆ๊ฐํ๋ ๊ฒ๊ณผ ๊ฐ์ด ์ถ์ธ๊ฐ ์ ํ์ ๋ ๊ฐ๊น๊ณ ๊ณ์ ์ฑ์ด ๊ฑฐ์ ์ผ์ ํด๋ณด์ผ ๋ ์ ์ฉํ ์ ์๋ค
- ๊ณฑ์ ๋ชจ๋ธ์ ๋งค๋ ์น๊ฐ์ ์๊ฐ ์ ๋ ๋์ ๋นํด ๋๋ฐฐ๋ก ๋์ด๋๋, ์ง์์ ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ๋ ๋น์ ํ์ ์ผ๋ก ์ฆ๊ฐ ํน์ ๊ฐ์ํ๋ ๊ฒฝ์ฐ์ ๋ ์ ํฉํ๋ค
- ์๋ ETS ๋ถํด์์๋ model='multiplicative', ์ฆ ๊ณฑ์ ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ค. ๋ง์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ค๋ฉด 'additive' ๋๋ 'add'๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค.
- result์๋ ์ฌ๋ฌ ๊ฐ๋ค์ด ๋ด๊ฒจ ์์ผ๋ฉฐ trend๋ก ์ถ์ธ ์์ ๊ฐ๋ค์, ๋๋ ๊ณ์ ์ฑ ์์ ๊ฐ๋ค์ ๋ถ๋ฌ์ฌ ์ ์๋ค. ๋๋ resid๋ก ์์ฐจ๋ ํ์ธํ ์ ์๋ค
- statsmodels์ seasonal_decompose์ ๋ถํดํ๊ธฐ๋ฅผ ์ํ๋ ๊ฐ์ ๋ฃ๊ณ ETS๋ถํด๋ฅผ ํด๋ณด๋ฉด ์๊ฐ์์ ๋ฐ๋ผ ๊ทธ๋ ค์ง 4๊ฐ์ ๊ทธ๋ํ๋ฅผ ๋ฐํํ๋ค.
- ์ฒซ๋ฒ์งธ๋ ์๋ณธ ๊ทธ๋ํ์ด๋ค
- ๋๋ฒ์งธ๋ ์ถ์ธ ๊ทธ๋ํ์ด๋ค. ์ค์ ๋ฐ์ดํฐ ํฌ์ธํธ์ ์ ๋ฐ์ ์ธ ์์น ๋๋ ํ๊ฐ์ธ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ ๋นํ๊ธฐ ์น๊ฐ์ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ์ ๋ฐ์ ์ผ๋ก ์์นํ๋ ์ถ์ธ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ผ๋ฉฐ ๊ทธ๋ํ์ ๋ชจ์์ ๋ณด๊ณ ์ด ์ถ์ธ๊ฐ ์ง์ํ์ธ์ง ์ ํ์ธ์ง ๋ ํ์คํ๊ฒ ํ์ธํ ์ ์๋ค
- ์ธ ๋ฒ์งธ๋ ๊ณ์ ์ฑ ๋ณ๋ ๊ทธ๋ํ์ด๋ค. ํด๋น ๊ทธ๋ํ๋ ๋ฐ๋ณต๋๋ ๊ณ์ ์ฑ ์์๋ค์ ์ง์ ํํ๊ฒ, ์ถ์ธ ์์๋ฅผ ์ ๊ฑฐํ ๊ฒ๊ณผ ๊ฐ๋ค.
- ๋ค ๋ฒ์งธ๋ ์์ฐจ ์์ ๊ทธ๋ํ์ด๋ค. ์์ฐจ ์์๋ ์ถ์ธ๋ ๊ณ์ ์ฑ์ผ๋ก ์ค๋ช
๋์ง ์๋ ๊ฒ๋ค์ ์๋ฏธํ๋ค. ์ถ์ธ๋ ๊ณ์ ์ฑ์ผ๋ก ์ค๋ช
๋์ง ์๋ ์์ฐจ๋ ์ค์ฐจ๋ค์ด ์์ฐจํญ์ ํ์๋๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ก์๊ณผ๋ ๊ฐ๋คํ์ฌ White Nosise๋ผ๊ณ ๋ ํ๋ค.
- ์์ฐจ๋ ๋ฐ์ดํฐ์ ์ ์ด๋ ๋ถ๋ถ์ ๋ ธ์ด์ฆ๊ฐ ๋ง์์ง ์๋์ง๋ฅผ ๋ํ๋ด์ฃผ๋ ์ญํ ์ ํ๊ธฐ๋ ํ๋ค
- ์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ฐ์ดํฐ์ ์ ์๋ถ๋ถ์ด ์ค๊ฐ๋ถ๋ถ๋ณด๋ค ์ก์์ด ๋ ๋ง์, ์ค์ฐจ๋ ์์ฐจ๊ฐ ๋ ํฐ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค
2-2. MA - Moving-Average
(1) SMA - Simple Moving Average
์ผ์ ์ฃผ๊ธฐ๋ฅผ ์ด๋์ํค๋ฉด์ ํ๊ท ๊ฐ์ ๊ตฌํ์ฌ ์๊ณ์ด ๋ฐ์ดํฐ์ ํน์ง์ ๋ถ์ํ๋ ๋ฐฉ๋ฒ, MA(Moving Averages).
์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ด์ ์ ํ๋ค์ค์ rolling์ ์ด์ฉํ์ฌ MA๋ฅผ ์ฌ์ฉํ์๋ค. ํ๋ค์ค์ rolling์ ์ด์ฉํด ์๋์ฐ ์ฐฝ์ ์ด๋ํ๋ฉด์ ํ๊ท ๊ฐ์ ๊ตฌํ๋ ๋จ์ ์ด๋ ํ๊ท ์ ํตํด ์๊ณ์ด ๋ฐ์ดํฐ์ ์ถ์ธ๋ฅผ ์ด๋์ ๋ ๋ณผ ์ ์์์ ํ์ธํ์๋ค.
airline['6-month-SMA'] = airline['Thousands of Passengers'].rolling(window=6).mean()
airline['12-month-SMA'] = airline['Thousands of Passengers'].rolling(window=12).mean()
๋จ์ ์ด๋ ํ๊ท ์ ์ฌ์ฉ์ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ ๋ฐ๋ฅธ ๊ทธ๋ํ ๋น๊ต๋ฅผ ์ํด 6๊ฐ์, 12๊ฐ์์ ๋ฐ๋ฅธ ์ด๋ ํ๊ท ๊ฐ ์ปฌ
๋ผ์ ์์ฑํด์ฃผ์๋ค.
Month | Thousands of Passengers |
6-month-SMA | 12-month-SMA |
1949-01-01 | 112 | NaN | NaN |
1949-02-01 | 118 | NaN | NaN |
1949-03-01 | 132 | NaN | NaN |
1949-04-01 | 129 | NaN | NaN |
1949-05-01 | 121 | NaN | NaN |
1949-06-01 | 135 | 124.500000 | NaN |
1949-07-01 | 148 | 130.500000 | NaN |
1949-08-01 | 148 | 135.500000 | NaN |
1949-09-01 | 136 | 136.166667 | NaN |
1949-10-01 | 119 | 134.500000 | NaN |
1949-11-01 | 104 | 131.166667 | NaN |
1949-12-01 | 118 | 128.833333 | 126.666667 |
1950-01-01 | 115 | 123.333333 | 126.916667 |
1950-02-01 | 126 | 119.666667 | 127.583333 |
1950-03-01 | 141 | 120.500000 | 128.333333 |
- 1000๋ช ๋จ์์ ์น๊ฐ ์ ๋ฐ์ดํฐ์ ์ ๋จ์ ์ด๋ ํ๊ท ํ๋ฉด ์ด๋ ํ๊ท ๊ธฐ๊ฐ(์๋์ฐ ์ฐฝ)์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ๋ฐ์ดํฐ์ ์ ๋ฐ์ ์ธ ํน์ง์ ๋ณผ ์ ์๋ค.
์ด๋ ํ๊ท ๊ธฐ๊ฐ์ 12๊ฐ์๋ก ๊ธธ๊ฒ ์ก๋๋ค๋ฉด ์ ๋ฐ์ ์ธ ์ถ์ธ๋ฅผ ์ป์ ์ ์๊ณ ๋ฐ๋๋ก ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ด ์งง์ ๋๋ ์๋์ ๋ณผ ์ ์๋ฏ์ด ์ด๋์ ๋ ๊ณ์ ์ฑ์ด ํฌํจ๋ ์๊ณ์ด ๋ฐ์ดํฐ์ ํน์ง์ ๋ณผ ์ ์๋ค
=> ์ด๋ ๊ฒ ๋จ์ ์ด๋ ํ๊ท ์ ์ด์ฉํด ๋ถ์ํ๊ณ ์ ํ๋ ์ค์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์ค๋ช
ํ๋ ์ผ๋ฐ์ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๋ค.
- ๋จ์ ์ด๋ ํ๊ท ์ ๋ฌธ์ ์
- ์ ์ฒด ๋ชจ๋ธ์ด ๊ฐ์ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ผ๋ก ์ ํ๋๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ 12๊ฐ์์ด๋ 6๊ฐ์๋ก ์ฃผ๋ ๊ฐ์ ๋ฐ์ดํฐ์ ๋ด์์๋ ์ด๋ํ๋ ํ์๊ฐ ๋์ผํ๋ค๋ ๊ฒ.
- ๋ชจ๋ TimeStamp์ ๋ํด ๊ฐ์ ์ค์๋๋ฅผ ๊ฐ์ง๋ค. ์ต๊ทผ์ ๋ฐ์ดํฐ๋ค์ด ์ค๋๋ ๋ฐ์ดํฐ๋ณด๋ค ๋ฏธ๋์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ํ ํ๋ฅ ์ด ๋์ผ๋ฏ๋ก ์ต์ ๋ฐ์ดํฐ์๊ฒ ์ข ๋ ๋์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ ์ ์์ผ๋ฉด ๋ณด๋ค ๋ ์ ํํ ์์ธก์ด ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
- ๋จ์ ์ด๋ ํ๊ท ์ ํ๊ณ์ ์ผ๋ก ์งง์ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ ์ด์ฉํ๋ฉด (์๋์ฐ ์ฐฝ์ด ์์์ง๋ฉด) ์ ์ฉํ ๋ฐ์ดํฐ์ ์ ๋๋ฌด fitํ๊ฒ ๋์ด ์ ํธ๋ณด๋ค ์ก์์ด ๋ ์ปค์ง ์ ์๋ค๋ ์ ์ด ์กด์ฌํ๋ค.
- ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ด ์งง์์ง์๋ก ์๊ณ์ด ๋ฐ์ดํฐ, ์ ์ฉํ ๋ฐ์ดํฐ์ ๋ํด ๋ ์ ์ค๋ช ํ ์๋ ์์ง๋ง ๊ทธ์ ๋น๋กํ์ฌ ์ก์์ ํฌ๊ธฐ(์ค์ฐจ)๊ฐ ์ปค์ง๊ฒ ๋๋ฏ๋ก ์ ์ ํ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ ์ฐพ๋๊ฒ์ ๊ต์ฅํ ์ด๋ ต๋ค.
- ๋ฟ๋ง ์๋๋ผ ๋จ์ ์ด๋ ํ๊ท ์ ํ๊ฒ๋๋ฉด ์ด๋ ํ๊ท ๊ธฐ๊ฐ๋งํผ์ ์์ฐจ๊ฐ ์๊ธด๋ค.
- ํ๊ท ๊ฐ์ ๊ตฌํจ์ผ๋ก์จ ์๋ ๋ฐ์ดํฐ์ ์ ๊ทน๋, ๊ทน์๊ฐ์๋ ๋ชป ๋ฏธ์น๋ค๋ ๋จ์ ๋ ์กด์ฌํ๋ค. ์ด ์ ์ ๊ทธ๋ํ์์ ๊ทน์ ๊ทน๋๊ฐ์ ๋ชป๋ฏธ์น๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๋ฐ๋๋ก ์ง๋์น๊ฒ ๋๊ฑฐ๋ ๋ฎ์ ์ด์์น๊ฐ ์๋ค๋ฉด ์๊ณก๋ ์ถ์ธ๋ฅผ ๋ณด์ฌ์ค ์๋ ์๋ค.
- ๋จ์ ์ด๋ ํ๊ท ์ ์ ์ฉํ ๋ฐ์ดํฐ์ ์ผ๋ฐ์ ์ถ์ธ๋ง ๋ํ๋ผ๋ฟ ์ค์ ๋ก ๋ฏธ๋์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ์ ์๋๋ค. ๊ณผ๊ฑฐ์ ๋ํ ๋ถ์๋ง ํ ๋ฟ์ด๋ค.
๊ทธ๋์ ์ด๋ฌํ ๋ฌธ์ ์ ๋ค์ ๋ณด์ํ๊ณ ์ ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท , EWMA๊ฐ ๋์ค๊ฒ๋์๋ค.
(2) EWMA - Exponentially Weighted Moving Average
- ๋จ์ ์ด๋ ํ๊ท ์ ํ๊ณ์ , ๋ฌธ์ ์
- ์์ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ด ๋ ํฐ ์ก์์ ์ ๋ฐ
- ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ ๋ฌด๊ดํ๊ฒ ์์ฐจ๊ฐ ์กด์ฌ
- ํ๊ท ์ผ๋ก ์ธํด ๊ทน๋-๊ทน์๊ฐ์ ๋๋ฌํ์ง ๋ชปํจ
- ๋ฏธ๋ ์์์ ๋ํ ์ ๋ณด๋ฅผ ์ฃผ์ง ์๊ณ ๋ฐ์ดํฐ์ ์ ๋ฐ์ ์ถ์ธ๋ง ๋ณด์ฌ์ค
- ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท , EWMA๋ ์ต๊ทผ ๊ฐ๋ค์ ๊ฐ์ค์น๋ฅผ ์ ์ฉํ์ฌ - ์ต๊ทผ์ ๋ฐ์ดํฐ ํฌ์ธํธ์ ๊ณผ๊ฑฐ์ ๋ฐ์ดํฐ ํฌ์ธํธ๋ณด๋ค ๋ ํฐ ๊ฐ์ค์น๋ฅผ ์ค์ผ๋ก์จ ๋จ์ ์ด๋ ํ๊ท ์์์ ์์ฐจ ํจ๊ณผ๋ฅผ ๊ฐ์์ํจ๋ค.
- ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท ์ ์ธ์๋ค
- span : N์ผ ์ด๋ ํ๊ท . N์ผ ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท ์ ํ๊ณ ์ ํ๋ค๋ฉด span์ธ์๋ฅผ ํตํด ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ ์ ํด์ฃผ๋ฉด ์ํ๋ ๊ธฐ๊ฐ๋งํผ ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท ์ ํ ์ ์์
- com (center of mass) : C=(1-s)/2, span๊ณผ ์ญ๊ด๊ณ.
- halfilfe : ๋ฐ๊ฐ๊ธฐ. ์ง์์ ๊ฐ์ค์น๊ฐ ๋ฐ์ผ๋ก ์ค์ด๋๋๋ฐ ๊ฑธ๋ฆฌ๋ ๊ธฐ๊ฐ
- => ์ฌ์ค ์ํ์ ์ธ ์ค๋ช ์๋ ์ดํด๊ฐ ๋ง์ด ๋ถ์กฑํจ. ๊ทธ๋ฌ๋ ๊ฐ์ฅ ์ฌ์ฉํ๊ธฐ ์ฌ์ด span ๋งค๊ฐ๋ณ์๋ฅผ ์์ฃผ๋ก ๋ค๋ฃฐ๊ฑฐ์.
airline['EWMA12'] = airline['Thousands of Passengers'].ewm(span=12,adjust=False).mean()
airline[['Thousands of Passengers','EWMA12','12-month-SMA']].plot(figsize=(12,8)).autoscale(axis='x',tight=True);
- SMA๋ rolling์ ์ด์ฉํด 1๋ ๋จ์๋ก ๊ตฌํ ๊ฐ์ผ๋ก ๊ณ์ ์ฑ์ด ๊ฑฐ์ ๋ฐ์๋์ง ์๊ณ ์๋ค.
- EWMA๋ฅผ ์ ์ฉํ์ฌ ๊ทธ๋ฆฐ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ์์๋ถ๋ถ๊ณผ ๋๋ถ๋ถ์ ์ฐจ์ด๊ฐ ๋๋๋ฌ์ง๋๊ฑธ ํ์ธํ ์ ์๋ค
- ์๋ณธ ๋ฐ์ดํฐ๊ฐ ์ด๋ฐ ๋ถ๋ถ์์๋ ์ฃผ๊ธฐ์ ํญ์ด ์๋ค๊ฐ ๊ฐ์๋ก ๋์ด์ง๋๋ฐ ์ด๋ฌํ ํน์ง์ EWMA์์ ์ ๋ฐ์ํ ๊ฒ์ ๋ณผ ์ ์๋ค. ํ๋ง๋๋ก ๊ณ์ ์ฑ ์ถ์ธ๊ฐ ์์๋ถ๋ถ์์ ๋ ๋ถ๋ถ์ผ๋ก ๊ฐ์๋ก ๋ ์ ๋ณด์ธ๋ค.
- .ewm(span=12)๋ก 1๋ ์ ํด๋นํ๋ 12๊ฐ์ ์ง์ ๊ฐ๋ ์ด๋ ํ๊ท ์ผ๋ก ๊ฐ์ ๊ตฌํด์ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ด 12๊ฐ์์ธ ๋จ์ ์ด๋ ํ๊ท ๊ณผ ๋น๊ต๋ฅผ ํด๋ณด๋ฉด ๊ณ์ ์ฑ์ ๋ฐ์ ์ฐจ์ด๊ฐ ํผ์ ํ์ธํ ์ ์๋ค.
2-3. Holt-Winters-Methods
- ์ด์ ์๋ ๊ฐ๋จํ๊ฒ ํ๋์ ํํ์ธ์, ์ํ๊ฐ์ ์ด์ฉํด ์ง์ ํํ์ ํ๋ ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท , EWMA์ ๋ํด ๋ฐฐ์ ๋ค
- ํ์ง๋ง EWMA๋ ๊ณ์ ์ฑ์ด ๋ฐ์๋๊ธฐ๋ ํ์ง๋ง ์ด๋๊น์ง๋ SMA์ ๋นํด์ ๋น๊ต์ ๋ฐ์๋ ๋ฟ ๊ณ์ ์ฑ๊ณผ ์ ๋ฐ์ ์ถ์ธ๋ฅผ ์ ๋๋ก ๊ณ ๋ คํ์ง ๋ชปํ๋ค. ์ง์ ํํ์ ํ ๋ ํ๋์ ๋งค๊ฐ๋ณ์๋ง์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค
- ํํธ-์ํฐ์ค ๊ณ์ ์ฑ ๊ธฐ๋ฒ์ ์์ธก์์ ๋ํด ์ธ ๊ฐ์ ํํ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค
- ์ฒซ ๋ฒ์งธ๋ ์์ค์ผ๋ก lt๋ฅผ ์ฌ์ฉ, ํํ ๋งค๊ฐ ๋ณ์ ์ํ์ ๋์
- ๋ ๋ฒ์งธ๋ ์ถ์ธ์์๋ก bt๋ฅผ ์ฐ๊ณ , ํํ ๋งค๊ฐ ๋ณ์ ๋ฒ ํ์ ๋์
- ์ธ ๋ฒ์งธ๋ ๊ณ์ ์ฑ ์์๋ก st๋ฅผ ์, ํํ ๋งค๊ฐ ๋ณ์ ๊ฐ๋ง์ ๋์
- ์ฌ๊ธฐ์ lt, bt, st๋ ํํ ๋งค๊ฐ ๋ณ์ ์ํ ๋ฒ ํ, ๊ฐ๋ง์ ๊ฐ์ ์ด๋ ค์ด ๋จ์ด๋ค์ด ์์ง๋ง ์์์ ์ด์ผ๊ธฐํ ์ถ์ธ์ ๊ณ์ ์ฑ ์์๊ฐ ๋ฐ์๋๋๋์ ๋ฐ๋ผ ๋จ์ผ, ์ด์ค, ์ผ์ค ์ง์ ํํ๋ฒ 3๊ฐ์ง๋ก ๋๋ ์ง๋ค๊ณ ๊ฐ๋จํ๊ฒ ์ดํดํด๋ ์ถฉ๋ถํ๋ค
- ์ด ๋ฐฉ๋ฒ์ ๊ณ์ ์ฑ ์์์ ์ฑ์ง์ ๋ฐ๋ผ ๋๊ฐ์ง๋ก ๋ฐ๋๋ค. ์์์ ETS ๋ถํด์์ ๋ง์
๊ธฐ๋ฒ๊ณผ ๊ณฑ์
๊ธฐ๋ฒ ๋๊ฐ์ง๊ฐ ์ฌ์ฉ๋ ๊ฒ์ ๊ธฐ์ตํ๋ฉด ๋๋ค. ๊ณ์ ์ฑ ์์๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก
- ์ฒซ ๋ฒ์งธ๋ ๋ง์ ๊ธฐ๋ฒ. ๊ณ์ ์ฑ ์์๊ฐ ์ ์ฒด ๋ฐ์ดํฐ์์ ์ผ์ ํ ํญ์ผ๋ก ๋ํ๋ ๋ ์ด์ฉ (ETS์์๋ ์ ํ์ ์ผ๋)
- ๋ ๋ฒ์งธ๋ ๊ณฑ์ ๊ธฐ๋ฒ. ๊ณ์ ์ ๋ณ๋ํญ์ด ๋ฐ์ดํฐ์ ์์ค์ ๋น๋กํด ๋ํ๋ ๋ ์ฌ์ฉ๋จ. (ETS์์๋ ์ง์์ ์ผ๋)
(1) Simple Exponential Smoothing
- ๋จ์ผ ์ง์ ํํ๋ฒ. SimpleExpSmoothing์ด ์๊ณ ๋ ์ด์ ์ ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท ๋ฒ๊ณผ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค. ์ค์ ๋ก ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณด๋ฉด ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท , EWMA๊ณผ ๊ฑฐ์ ํก์ฌํ๊ฒ ๊ทธ๋ ค์ง๋ค.
- ์ด ์์์ ์ถ์ธ๋ฅผ ๋ํ๋ด๋ ์๋ก์ด ํํ ๋งค๊ฐ๋ณ์ ๋ฒ ํ๋ฅผ ์ถ๊ฐํ์ฌ ์ด์ค ์ง์ ํํ๋ฒ(ํํธ ๊ธฐ๋ฒ)์ผ๋ก ์ ๊ฐํ๋ค.
- ์ง๊ธ์ ๋จ์ ์ด๋ ํ๊ท ๋ฒ์ผ๋ก ๋ชจ๋ธ์ด ๊ฐ๋จํ์ง๋ง ์๊ณ์ด ์์๋ค์ด ํ๋์ฉ ์ถ๊ฐ๋ ์๋ก ๋ชจ๋ธ์ ๋ณต์ก๋๊ฐ ์ฌ๋ผ๊ฐ๋ค
from statsmodels.tsa.holtwinters import SimpleExpSmoothing
span = 12
alpha = 2/(span+1)
# ์ span์ด 1๋ณด๋ค ๊ฐ๊ฑฐ๋ ์ปค์ผํ๊ณ ์ํ ๊ฐ์ด 2/(span+1)์ธ์ง๋ ์ด์ ๊ฐ์ ์ฐธ๊ณ .
df['EWMA12'] = df['Thousands of Passengers'].ewm(alpha=alpha,adjust=False).mean()
df['SES12']=SimpleExpSmoothing(df['Thousands of Passengers']).fit(smoothing_level=alpha,optimized=False).fittedvalues.shift(-1)
# optimized=False๋ก ์ค์ ํ๋ฉด fitted_model ๊ฒฐ๊ณผ๊ฐ์ด ํ์นธ์ฉ ์๋๋ก ๋ฐ๋ ค์ shitf(-1) ํด์ค
SimpleExpSmoothing์ SES12๋ก, ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท ์ EWMA12๋ก ๋์ด ๊ฑฐ์ ์์ ํ ๊ฒน์ณ ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
(2) Double Exponential Smoothing
- ํํธ ๊ธฐ๋ฒ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ค ์ง์ ํํ์์ผ๋ก ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท (EWNA)์์ ์ํ ๋งค๊ฐ๋ณ์์ ์์ค ์์์ ์ถ์ธ ์์๋ฅผ ํํํ๋ ๋ฒ ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค(trend)
- ์์ค ์์๋ง ์ฌ์ฉํ๋ฉด Simple Exponential Smoothing
- ์์ค + ์ถ์ธ ์์๋ฅผ ์ฌ์ฉํ๋ฉด Double Exponential Smoothing
- ํํธ ๊ธฐ๋ฒ์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์ค์ง์ ์ธ ๊ฐ์ธ ์์ค ์์์ ์ถ์ธ ๋๊ฐ์ง๋ก ๋ถ๋ฆฌํ๋ ๊ฐ๋ ์ด๋ค.
- ์ด์ค ์ง์ ํํ๋ฒ์์ ์ถ์ธ ๋ณ์๋ฅผ ์ค์ ํ ๋ ๋ฐ์ดํฐ๊ฐ ๊ธฐ์ธ์ด์ง ์ง์ ๋ชจ์์ ์ถ์ธ(์ ํ์ )๋ฅผ ๋ณด์ฌ์ค๋ค๋ฉด ๋ง์ ๋ชจํ(add)๋ฅผ, ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๊ฑฐ๋ ๊ณก์ ํ ์ถ์ธ๋ฅผ ๋ณด์ธ๋ค๋ฉด ๊ณฑ์ ๋ชจํ(mul)์ ์ฌ์ฉํ๋ค.
from statsmodels.tsa.holtwinters import ExponentialSmoothing
df['DESadd12'] = ExponentialSmoothing(df['Thousands of Passengers'], trend='add').fit().fittedvalues.shift(-1)
df[['Thousands of Passengers','EWMA12','DESadd12']].iloc[:24].plot(figsize=(12,6)).autoscale(axis='x',tight=True);
- 1949-1950๋ ์ ๋ฐ์ดํฐ์ ์ ๋งจ ์ฒ์ 2๋ ๋ฐ์ดํฐ์ด๊ณ 1959-1960๋ ์ ๋ฐ์ดํฐ์ ์ ๋งจ ๋์์ 2๋ ๊ฐ์ ๋ฐ์ดํฐ์ด๋ค.
- ๋จ์ผ ์ง์๋ฅผ ์ฌ์ฉํ๋ ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท (EWMA)๊ณผ ์ด์ค ์ง์ ํํ๋ฒ(DES; Double Exponential Smoothing ) ๊ทธ๋ํ๋ฅผ ๋น๊ตํ์์ ๋ ์ถ์ธ๋ผ๋ ํญ์ด ์ถ๊ฐ๋์์ ๋ ๋จ์ผ ์ง์ ํํ๋ฒ์ ๊ณก์ ๋ณด๋ค ์๋ณธ์ ํจ์ฌ ๋ ์ ์์ธกํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค
- ๋ฐ์ดํฐ์ ์ถ์ธ๊ฐ ์ ํ์ ์ธ์ง(๋ง์ ๋ชจ๋ธ) ์ง์์ ์ธ์ง(๊ณฑ์ ๋ชจ๋ธ) ๋น๊ตํ๊ธฐ ์ํด ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ธ์ผ๋ ์ ์ฒด์ ์ผ๋ก ๋ดค์ ๋ ๋ ๋ค ์์ธก์ ์ ํ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ์ด๋ด ๋ ์ผ๋ถ๋ฅผ ์๋ผ์ ํ๋ํด์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ์ด ์ข๋ค
- ์ด๋ ๊ฒ ์์์ 2๋ ๋จ์๋ก ์งค๋ผ์ ํ๋ํด๋ดค์ ๋ ๊ณฑ์ ๋ชจํ์ด ๋ง์ ๋ชจํ์ ๋นํด ๋ ์ ๋ง๋๊ฒ์ ์ ์ ์๋ค
(3) Triple Exponential Smoothing
- ์ผ์ค ์ง์ ํํ๋ฒ์์๋ ์ถ์ธ ๋ฟ ์๋๋ผ ๊ณ์ ์ฑ ์์๊น์ง ๋ฐ์ํ๊ธฐ์ seasonal๋ผ๋ ํ๋ผ๋ฏธํฐ๊ฐ ์ถ๊ฐ๋๋ค.
- ๋ฐ๋ผ์ ์ถ์ธ ์์๊ฐ ์ ํ์ , ์ง์์ ์ฆ๊ฐ์ธ์ง์ ๋ํด ๊ณ์ ์ฑ ์์๊ฐ ์๊ฐ์ ์ง๋จ์ ๋ฐ๋ผ ์ ํ์ ์ธ์ง ํน์ ๋ณํํ๋์ง ํ์ธ์ด ํ์ํ๋ค
- ์์ ๋ฐ์ดํฐ๋ง์ผ๋ก๋ ๋ง์ ๋ชจ๋ธ๊ณผ ๊ณฑ์ ๋ชจ๋ธ ์ค ์ด๋ค ๊ฒ์ด ๋ ์ ํฉํ ์ง ์์ ์์ผ๋ฏ๋ก ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฐ๋ค์ ๋น๊ตํ์ฌ ๋ ์ ์์ธกํ๋ ๋ชจ๋ธ๋ก ์ ํํ๋ค.
df['TESadd12'] = ExponentialSmoothing(df['Thousands of Passengers'],trend='add',seasonal='add',seasonal_periods=12).fit().fittedvalues
# ์ด์ค ์ง์ ํํ๋ฒ๊ณผ ๋ฌ๋ฆฌ seasonal, seasonal_periods๋ผ๋ ์ถ๊ฐ์ธ์๊ฐ ์์ด์ shfit(-1)์ ํ์ง ์์๋ ๋จ
df['TESmul12'] = ExponentialSmoothing(df['Thousands of Passengers'],trend='mul',seasonal='mul',seasonal_periods=12).fit().fittedvalues
df[['Thousands of Passengers','TESadd12','TESmul12']].plot(figsize=(12,6)).autoscale(axis='x',tight=True);
์ ์ฒด์ ์ผ๋ก ๋ณด๊ธฐ์ ์ผ์ค ์ง์ ํํ๋ฒ์ ๊ณฑ์ , ๋ง์ ๋ชจ๋ธ ๋ชจ๋ ์ ์์ธกํ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ์ด๋ด ๋ ๊ณ์ ์ฑ์ ํจํด์ ๋ฐ๋ผ ์ผ์ ์ฃผ๊ธฐ๋ก, ์ผ์ ์์ด๋ ์ฐ๋จ์๋ก ๋์ด์ ๊ทธ๋ํ๋ฅผ ํ๋ํด๋ณด๋ฉด ๋ ์ ํํ ๋น๊ตํ ์ ์
df[['Thousands of Passengers','TESadd12','TESmul12']].iloc[:24].plot(figsize=(12,6)).autoscale(axis='x',tight=True);
ํ๋ํด์ ๋น๊ต์ ๊ณฑ์ ๋ชจ๋ธ์ด ๋ ์ ์์ธกํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ ์ฌ์ฉํ ๋ชจ๋ธ๋ก ๊ณฑ์ ๋ชจ๋ธ์ ์ ํํ๋ฉด ๋๋ค.
์ง๊ธ๊น์ง ETS๋ถํด๋ฅผ ํตํด ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ 3๊ฐ์ง ์์๋ก ๋ถํดํ๋ ๊ฒ๋ถํฐ ์ด๋ ํ๊ท ๋ชจ๋ธ(MA)์ ํํธ-์ํฐ์ค ๊ธฐ๋ฒ์ ์๊ณ์ด ์์๋ค์ ๋ฐ์ํ์ฌ ์ด๋ป๊ฒ ์๊ณ์ด ์์ธก์ ์งํํ๋์ง ๋ฐฐ์ ๋ค. ๋ค์์ผ๋ก๋ ์๊ณ์ด ์์ธก์ ๋ํ์ ์ธ ํต๊ณ ๋ชจ๋ธ ARIMA์ ์ฌ๋ฌ ์๊ณ์ด ์์ธก ๋ชจ๋ธ๊ณผ ๋ฐ์ดํฐ ํ๋ณ๋ฒ ๋ฐ ์ฒ๋ฆฌ๋ฐฉ๋ฒ, ๋ชจ๋ธ ์์ธก ๋ฐฉ๋ฒ๋ค์ ์งํํด๋ณผ ๊ฒ์ด๋ค.
์ฌ๋ด์ผ๋ก ์ด์ ์ ๋ฏธ๊ตญ์์ ํจ์ ๊ด๋ จ ์๊ณ์ด ๋ฐ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ก forecasting์ ํ์๋ ๋ฐ์ดํฐ์ฌ์ด์ธํฐ์คํธ๋ถ๊ณผ ์ปคํผ์ฑ์ ๋๋์๋๋ฐ ํ์ ์์ ์๊ณ์ด ์์ธก์ ์ฃผ๋ก ์ด๋ค ๋ชจ๋ธ์ ์ฌ์ฉํ๋๊ฐ ์ฌ์ญค๋ดค๋๋ XGBoost์ ๊ฐ์ ํธ๋ฆฌ๊ณ์ด์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฃผ๋ก ์ด๋ค๊ณ ํ์ จ๊ณ ๊ทธ๋ผ ARIMA์ ๊ฐ์ ๋ชจ๋ธ์ ๋ง์ด ์ฌ์ฉํ๋๊ฐ ์ฌ์ญค๋ดค๋๋ Timestamp์ ๋ฐ์ดํฐ๋ง ์กด์ฌํ๋ ๋จ๋ณ๋ ๋ฐ์ดํฐ์ผ ๊ฒฝ์ฐ ์ด์ฉ ์ ์์ด ์ฌ์ฉํ๋ค๊ณ ํ์ ๋ค. ํผ์ณ๊ฐ ๋ง์์๋ก ์์ธก์ ๋์์ ์ค ์ ์๋ ์ ๋ณด๋ค์ด ๋ง์์ง๋ฏ๋ก ํผ์ณ๊ฐ ๋ง๋ค๋ฉด ํธ๋ฆฌ๊ณ์ด ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ด๋ ๋ฅ๋ฌ๋์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค๊ณ ๋ง์ํ์ จ๋ค.
์ฃผ์์ด๋ ๊ธ์ต ๊ด๋ จ ๋๋ฉ์ธ์์๋ ARIMA์ ๊ฐ์ ์ ํต ํต๊ณ ๋ชจ๋ธ์ ๋ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์๊ณ ์๋๋ฐ ์๊ณ์ด ์์ธก ๊ฐ์๋ฅผ ๋ณด๋ ๋ด ๋ชฉ์ ์ ํ์ ์์ ์ ๋ ฅ์๋น๋์ ์์ธกํ๋ ํ์คํฌ์ ์ ์ฉํ๊ณ ์ํจ์ด๋ค.
์ค์ ๋ก ์ฌ์ฉํ์ง ์๋๋ผ๋ ์ฌ๊ธฐ์์ ๋ฐฐ์ด ๋ด์ฉ์ด ํ์ฅ๋์ด ์๊ณ์ด ์์ธก์ ์ฌ์ฉ๋ ๊ฒ์ด๋ค. ์ค์ ์ ๋ฌด์์๋ LSTM๊ณผ ๊ฐ์ ๋ฅ๋ฌ๋๊ณผ ํธ๋ฆฌ ๊ณ์ด ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์์ฃผ๋ก ์ฌ์ฉํ๊ฒ ์ง๋ง ๊ธฐ์ด๋ ๊ผญ ํ๋ฒ ์ ๋ค์ง๊ณ ๋์ด๊ฐ์.
'๊ณต๋ถ๊ธฐ๋ก > ์๊ณ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1. ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์ํ datetime, Numpy & Pandas (0) | 2023.12.12 |
---|