TIME SERIES ANALYSIS AND FORECASTING (시계열 분석 및 예측)
예상방법에는
1. 정량제 예상방법(과거 계량화된 자료가 있고, 과거의 현상이 지속적으로 유지된다는 가정하에서 쓰이는 분석)
2. 정성제 예상방법(데이터가 없을때 사용하는 분석)이 있고,
정량제 예상방법에는 원인인 causal과 시계열 분석인 time series로 나뉜다.
Time seris patterns (시계열 분석)
시간의 수순대로 나열하고 계량화된 과거 자료를 통해 미래를 예측한다.
시간을 x축(독립변수)로 두고, 수요를 y축(종속변수)로 둔다.
계량화된 과거 data가 있어야 하며 이를 쭉 시간대로 나열하여 본다.
기간이 길어질수록 불확실해지기 때문에 짧은 기간의 예측을 통해 조정하는 것이 필요하다.
이를 하루, 주별, 분기별 등 어떻게 볼지 정해야 한다. plot을 찍어보는 것이 중요하다.
시간의 수순대로 열거된 게 미래에도 쭉 연결된다고 가정한다. 가까운 미래를 예측할 때 적합한 방법이다.
time series patterns는 다시 5가지로 나누어진다
1. horizontal 2. trend 3. seasonal 4. trend&seasonal 5. cyclical
1. horizontal : 안정적이고 변동성이 크지 않다. 자료가 거의 수평적으로 나타나는 것을 의미한다 이때 causal변수가 나타날 수도 있다
2. trend : 상승 또는 하락의 추세로 나타나는 것을 의미한다 조금씩 일정하게 증가한다
3. seasonal : 1년동안 계절에 따라 변하는것이다
4. trend&seasonal : trend와 seasonal이 동시에 발생하는 것이다
5. cyclical : 반복하는 현상이다
13주차 예측치는 12주차를 이용해서 구해야 함
naive forcasting method (초기예측 단계)
et=Yt-Y^t
현재는 t, Y^t는 t-1시점에서의 예측, yt는 t일때의 y값
→ et가 양수면 예측을 낮게 한 것 (underestimate)
→ et가 음수면 예측을 높게 한 것 (overestimate)
Forecast error : 과거의 자료를 통해 구한 예측값과 실제 값의 차이
* 결론 Forecast error(오류) = actual value(나타난 값) – forecast(예측값)
MAE : Forecase Error를 절대값해서 더한 값 / n-k
MSE : Absolute Error를 자승(제곱)한 값의 합 / n-k
MAPE : Percent Error를 절대값해서 더한 값 / n-k
forecasting methods
1. moving averages (이동 평균)
→ 전체 평균이 아닌 4번째부터 평균을 도출하고 앞의 기간 3개를 평균으로 낸다.
(x1+x2+x3)/3, (x2+x3+x4)/3, (x3+x4+x5)/3 가 예시
예
측하고싶은 기간 = 예측하고 싶은 기간 바로 앞의 3개의 기간 / 3(k) ((k는 분자 식의 갯수의 수(여기서는 3개의 기간을 했으니 3))
t는 현재시점, k는 어느정도 기간을 가지고 평균을 잡을 것인가?
* k가 작으면 최근 자료만 쓰겠다, k가 크면 최근 자료를 쓰고 과거 자료도 반영하겠다는 것.
* 만약 추세가 갑자기 급격히 상승하게 되면
→ k의 값에 가장 최근의 값을 반영해야 하기 때문에 k의 값은 작게 변해야 한다.
→ 예측 오차를 확인하면서 k값의 설정이 잘 되었는지 계속 확인해야 한다.
Forecast Error는 +와 -가 함께 있어 더할 경우 서로 상쇄 시키기 때문에 합이 무의미함.
그렇기에 절대값의 합이 필요 (Absolute value of forecast error)
Squared forecast error=오차를 제곱함.=>2와 5는 단순한 3의 차이가 아니라는 차원에서 오차를 제곱하여 부풀림
13주차 예측치는 12주차를 이용해서 구해야 함
naive forcasting method (초기예측 단계)
et=Yt-Y^t
현재는 t, Y^t는 t-1시점에서의 예측, yt는 t일때의 y값
→ et가 양수면 예측을 낮게 한 것 (underestimate)
→ et가 음수면 예측을 높게 한 것 (overestimate)
Forecast error : 과거의 자료를 통해 구한 예측값과 실제 값의 차이
* 결론 Forecast error(오류) = actual value(나타난 값) – forecast(예측값)
MAE : Forecase Error를 절대값해서 더한 값 / n-k
MSE : Absolute Error를 자승(제곱)한 값의 합 / n-k
MAPE : Percent Error를 절대값해서 더한 값 / n-k
forecasting methods
1. moving averages (이동 평균)
→ 전체 평균이 아닌 4번째부터 평균을 도출하고 앞의 기간 3개를 평균으로 낸다.
(x1+x2+x3)/3, (x2+x3+x4)/3, (x3+x4+x5)/3 가 예시
예
측하고싶은 기간 = 예측하고 싶은 기간 바로 앞의 3개의 기간 / 3(k) ((k는 분자 식의 갯수의 수(여기서는 3개의 기간을 했으니 3))
t는 현재시점, k는 어느정도 기간을 가지고 평균을 잡을 것인가?
* k가 작으면 최근 자료만 쓰겠다, k가 크면 최근 자료를 쓰고 과거 자료도 반영하겠다는 것.
* 만약 추세가 갑자기 급격히 상승하게 되면
→ k의 값에 가장 최근의 값을 반영해야 하기 때문에 k의 값은 작게 변해야 한다.
→ 예측 오차를 확인하면서 k값의 설정이 잘 되었는지 계속 확인해야 한다.
Forecast Error는 +와 -가 함께 있어 더할 경우 서로 상쇄 시키기 때문에 합이 무의미함.
그렇기에 절대값의 합이 필요 (Absolute value of forecast error)
Squared forecast error=오차를 제곱함.=>2와 5는 단순한 3의 차이가 아니라는 차원에서 오차를 제곱하여 부풀림
2. weighted moving averages (가중 이동 평균)
→ 균등평균은 만약 4명에게 무언가를 나눈다면 균등하게 배분하는 거지만,
가중평균은 k의 값을 정하고 각각의 가중치를 정하면 됨. (단, 가중치의 합은 반드시 1이다)
4
주차를 예상해보면 1/6 x 17 + 2/6 x 21 + 3/6 x 19 = 19.33
→ 4주차에 가장 큰 가중치를 부여한 이유는 최근 데이터의 추세를 크게 반영하였기 때문이다.
3. exponential smoothing (지수 평활법)
→ 과거의 모든 데이터를 가중평균
알파 = 현재의 것을 반영하는 정도
만약 알파의 값이 커진다면 최근의 것에 더 큰 영향을 받는 것이고 작아진다면 최근에 비해 안정적인 값이다. 알파의 값이 점점 커지는 것은 급격한 변화가 발생하는 것으로 볼 수 있다.
* 상황이 안정적인 경우 알파의 값이 작아지는데, 1-알파는 과거에 대한 정보로 값이 커지게 된다.
→ 알파 > 0.5일 경우에는 안정적이지 않을 확률이 높음.
이 경우 plot을 찍어보면 패턴이 보일 것이고 즉, 알파의 값이 커지는 것은 급격한 변화가 발생했기 때문.
1번 식의 (1-알파) y^t의 값은 t예측의 error 정도를 나타냄 (과거에 대한 모든 정보가 포함되어 있음) 또한 이동평균법 (k는 과거 데이터 모두 포함을 하고 추가로 가중치 개념이 있음) → 데이터 분석이 편함
Y^t+1이란 t+1에 대한 예측이다.
과거 데이터 모두 가중치를 주지만 과거로 갈 수록 가중치가 낮아짐 (지수분포에 의해서)
linear trend projection
linear trend projection 그래프 → 시간 흐름에 따른 매출 증가로 trend 파악
->smoothing은 불가함
x = 시간 흐름(독립변수)
y = 종속변수 (y^(예측치)
b1 = 추세선의 기울기
추세선 = y = b0 + b1x →
추세선의 경우 과거의 자료를 바탕으로 그 차이가 가장 적은 추세선이 best이다.
* stationary하지 않다. (trend가 있다 = 급격한 변화가 있다)
* random variability가 작다 (다른 요인이 많다)
* smoothing 할 수가 없다. (추세선을 그려야 한다.)
11~12를 예측할 떄는
y^t = 20.4 + 1.1t
y^t11 = 20.4 + 1.1 x 11 = 32.5
1. y^t = b0 + b1t ← time series linear trend projection
→ 시간이 독립변수이기 때문에 미래에 대한 예측이 가능하다
x = 시간 y = 종속변수 (식에서 t)
2. y^t = b0 + b1a ← casual regression (casual method)
과거의 경험한 원인값 안에서만 관계식의 도출이 가능하다
원인이 독립변수이기 때문 (식에서 a)
* time series는 향후 1~2년만을 초과하는 근접 미래의 예측에만 사용하기
*causal은 과거 데이터로 구한 회귀선 안에 정의된 자료 내에서만 예측이 가능 (미래 예측은 불가능)
ex) 광고비 얼마를 썼을 때 결과가 어떨지 예측
if) causal이 10억부터 50억까지 정의되어 있을 때는 30억은 예측이 가능하지만 70억은 예측이 불가능함
반영하였기 때문이다.
첫댓글 마지막까지 수고 많았다.