티스토리 뷰

개요

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파일을 첨부 합니다.

sales.csv
0.00MB

 

 

end.

 

 

아래 비디오를 참고 하였습니다.

www.youtube.com/watch?v=k_HN0wOKDd0

www.youtube.com/watch?v=C5J_QSR7ST0

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함