티스토리 뷰
개요
Simple Exponential Smoothing(간단 지수 평활법)은 수요를 예측할 때 사용하는 방법 중 하나 입니다.
Week | Sales(At) | Forcast(Ft) |
1 | 10 | |
2 | 15 | |
3 | 13 | |
4 | 50 | |
5 | 43 | |
6 | 21 | |
7 | 7 |
위와 같이 1주차부터 7주차까지 실제 판매랑(Actual Sales)이 있을 때 SES를 이용해 예측값을 구해볼 수 있습니다.
예측값 = a * 실제 판매량 + (1 - a) * 이전 예측값 으로
식으로는 다음과 같이 표현 합니다.
여기에서 a는 계수로서 a의 값이 커질 수록 실제 판매량에 가중치가 커지고 a가 작아질 수록 '이전 예측값'의 가중치가 커진다고 할 수 있습니다. 여기에서는 제품별로 적절한 a값을 찾는 것이 중요합니다.
사족으로 계수의 '계'자는 한자의 맬 계자 입니다. 묶는다, 맨다는 뜻을 가지고 있습니다.
1주차의 예측값 구하기
그러면 한번 구해보겠습니다. 위 표에서 1주차의 예측값은 현재 빈칸입니다. 어떻게 구할까요? 만약 첫번재 기간에 예측값이 없다면 '실제 판매량'이 예측값이 됩니다.
Week | Sales(At) | Forcast(Ft) |
1 | 10 | 10 |
2 | 15 | |
3 | 13 | |
4 | 50 |
그래서 위와 같이 1주차에는 예측값이 10이 됩니다.
2주차의 예측값 구하기
2주차 부터는 위의 식을 이용하면 됩니다.
예측값 = a * 실제 판매량 + (1 - a) * 이전 예측값 으로 여기에서 어디에 가중치를 많이 줄 것인지는 계수 a를 이용해 결정 할 수 있습니다. a를 0.2로 해보겠습니다.
1주차의 실제 판매량은 10이고 예측값도 10입니다. 이하 At, Ft
예측값 = 0.2 * 10 + 0.8 * 10 으로 10입니다.
Week | Sales(At) | Forcast(Ft) |
1 | 10 | 10 |
2 | 15 | 10 |
3 | 13 | |
4 | 50 |
2주차의 예측값은 1주차의 Sales와 같습니다. 왜냐하면 0.2 + 0.8은 1이고 At, Ft도 각각 10이기 때문입니다.
3~7주차의 예측값 구하기
3주차부터는 제대로 식을 적용 하면 되겠습니다.
2주차의 At는 15이고 Ft는 10이므로 예측값 = 0.2 * 15 + 0.8 * 10 으로 11입니다.
Week | Sales(At) | Forcast(Ft) |
1 | 10 | 10 |
2 | 15 | 10 |
3 | 13 | 11 |
4 | 50 |
4주차는 0.2 * 13 + 0.8 * 11 = 11.4 입니다.
Week | Sales(At) | Forcast(Ft) |
1 | 10 | 10 |
2 | 15 | 10 |
3 | 13 | 11 |
4 | 50 | 11.4 |
같은 방법으로 7주차까지 계속 구해나갈 수 있습니다.
def es(lav, lfv, a):
return a * lav + (1-a) * lfv
SES식을 파이썬 코드로 표현 하면 위와 같이 표현 해볼 수 있겠습니다.
1~7주차 데이터 csv파일을 첨부 합니다.
end.
아래 비디오를 참고 하였습니다.
- Total
- Today
- Yesterday
- 도커컨테이너
- 도커각티슈케이스
- Linux
- docker container tissue box
- docker container whale
- docker container case
- docker container tissue
- Sh
- shellscript
- 도커각티슈박스
- 2017 티스토리 결산
- 도커티슈케이스
- 이직
- docker container
- 도커티슈박스
- 싱가폴
- 개발자
- vim
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |