Statsmodel ๊ธฐ์ด
from statsmodels.tsa.filters.hp_filter import hpfilter
from statsmodels.tsa.filters.hp_filter import hpfilter
- ๊ณ์ ์ฑ ๋ถ์์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ
cycle, trend = hpfilter(df[โ์ด ์ด๋ฆโ], lambda)
- cycle๊ณผ trend ํ์
- lambda ๊ฐ
- ์๋ณ: 14400
- ๋ถ๊ธฐ๋ณ: 1600
- ๋
๋๋ณ: 1000
- ex)
```python
#ex)
gdp_cycle, gdp_trend = hpfilter(df['realgdp'], lamb=1600)
df['trend'] = gdp_trend
df[['trend','realgdp']]['2005-01-01' : ].plot()
```

ETS Models (Error-Trend-Seasonality)
์ ์
-
์ง์ํํ๋ฒ, ETS ๋ถํด, ์ถ์ธ๋ชจํ๊ณผ ๊ฐ์ ๋ค์ํ ๋ชจ๋ธ ํฌํจํ๋ ํํ
-
Residual(Error) โ ์์ฐจ(์ค์ฐจ)
- ์ถ์ธ๋ ๊ณ์ ์ฑ์ผ๋ก๋ ์ค๋ช
๋์ง ์๋ ์์
- ์ก์ (noise)์ผ๋ก ํด์๋จ, ์ก์์ด ๋ง์ ๊ตฌ๊ฐ์ด ์ด๋์ธ์ง ํ๋จ
-
๋ง์
๋ชจ๋ธ: ์ถ์ธ๊ฐ ์ ํ์ ๊ฐ๊น๊ณ , ๊ณ์ ์ฑ์ด ์ผ์ ํ ๋ ์ ์ฉ
- ex) ๋งค๋
1000๋ช
์ฉ ์ฆ๊ฐํ๋ ๋นํ๊ธฐ ํ์น๊ฐ ์
-
๊ณฑ์
๋ชจ๋ธ: ์ง์์ ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ (๋น์ ํ์ ์ฆ๊ฐ)
- ex) ์ ๋
๋์ ๋นํด ๋๋ฐฐ๋ก ๋์ด๋๋ ๋นํ๊ธฐ ํ์น๊ฐ ์
-
ETS ๋ถํด๋ฅผ ์คํํ ๋๋ ๋๋ฝ๋ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์๋๋ฏ๋ก, dropna() ์คํ
Ex)

Seasonality ๋ถ์
from statsmodels.tsa.seasonal import seasonal_decompose
Ex)
result = seasonal_decompose(airline['Thousands of Passengers'],model='multiplicative')
- ๋ง์
๋ชจ๋ธ: model = โadditiveโ
- ๊ณฑ์
๋ชจ๋ธ: model = โmultiplicativeโ
๊ทธ๋ํ ํฌ๊ธฐ ์กฐ์
from pylab import rcParams
rcParams['figure.figsize'] = 12,5
result.plot();
SMA
- SMA์ ๋จ์
- ์งง์ ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ ์ด์ฉํ๋ฉด ์ ํธ๋ณด๋ค ์ก์์ด ์ปค์ง ์ ์์
- ์ด๋ ํ๊ท ๊ธฐ๊ฐ๋งํผ ์์ฐจ ๋ฐ์
- ์ด๋ ํ๊ท ๊ธฐ๊ฐ์ด ๋งค์ฐ ์งง๋๋ผ๋ ์๋ ๋ฐ์ดํฐ์ ๊ทน๋๊ฐ๊ณผ ๊ทน์๊ฐ์ ๋ชป ๋ฏธ์นจ
- ๋ฏธ๋ ๋ณ๋์ ๋ํด ์ด๋ ํ ์ ๋ณด๋ ๊ฐ์ง๊ณ ์์ง ์์ โ ํ์ฌ์ ์ถ์ธ๋ง ๋ณด์ฌ์ค
- ๊ทน๋จ์ ์ผ๋ก ํฌ๊ฑฐ๋ ์์ ๊ฐ์ ์ ์ฒด ์ด๋ ํ๊ท ๊ฐ์ ์๊ณก์ํด
## SMA(๋จ์ ์ด๋ ํ๊ท ) Code
airline['6-month-SMA'] = airline['Thousands of Passengers'].rolling(window=6).mean()
airline['12-month-SMA'] = airline['Thousands of Passengers'].rolling(window=12).mean()
airline.plot()

EWMA
์ ์
- EMWA ๋ชจ๋ธ: ์ง์ ๊ฐ์ค ์ด๋ ํ๊ท
- ์ต๊ทผ ์๋ฃ๋ค์ ์ค๋๋ ์๋ฃ๋ค๋ณด๋ค ๊ฐ์ค์น ๋ถ์ฌ
- SMA(๋จ์ ์ด๋ ํ๊ท )์ ๋จ์ ์ ๋ณด์ํ๋ ๋ชจ๋ธ
EWMA(์ง์ ๊ฐ์ค ์ด๋ ํ๊ท ) Code
airline['EWMA-12'] = airline['Thousands of Passengers'].ewm(span=12).mean()
airline[['Thousands of Passengers','EWMA-12']].plot(figsize=(8,5))

EWMA์ ๊ณต์

- x: ์
๋ ฅ
- y: ์ถ๋ ฅ
- w: ๊ฐ์ค์น
EWMA์ ๋งค๊ฐ๋ณ์
adjust
- adjust = True


alpha = 0~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง
โ ๋ฐ์ดํฐ๊ฐ ์ค๋ ๋ ์๋ก ์์ ๊ฐ์ค์น๊ฐ ๊ณฑํด์ง
- adjust = False


์๋ ๋งค๊ฐ๋ณ์๋ค์ ์ด์ฉํ์ฌ ๊ฐ์ค์น ์ค์ ๊ฐ๋ฅ

span
- N์ผ ์ด๋ ํ๊ท ์ ํด๋น
- ex) 7์ผ์ ๋ํ ์ด๋ ํ๊ท ์ ๊ตฌํ๋ ๊ฒฝ์ฐ, span=7๋ก ์ง์
center of mas(com)
- c=(s-1)/2๋ก span๊ณผ ์ญ ๊ด๊ณ
halflife
- ๋ฐ๊ฐ๊ธฐ, ์ง์์ ๊ฐ์ค์น๊ฐ ๋ฐ์ผ๋ก ์ค์ด๋๋๋ฐ ๊ฑธ๋ฆฌ๋ ๊ธฐ๊ฐ