[ML Project] 식당 방문자수 SARIMA 분석

주혜린·2023년 8월 2일
0

[ML Project]

목록 보기
7/11
post-thumbnail

💻 프로젝트 소개

  • kaggle의 식당 방문자수 변화 데이터셋을 이용하여 공휴일과 주말 유무가 방문자수 예측에 어떤 영향을 주는지 확인해보려고 한다.

[데이터 출처]
https://www.kaggle.com/datasets/prakharprasad/time-series-data-1?select=RestaurantVisitors.csv

📈 데이터셋

  • holiday 칼럼을 보면 공휴일인 경우 1, 아닐 경우 0으로 표기가 되어있다.
    weekend 칼럼은 주말일 경우 1, 아닐 경우 0으로 표기되어있다.

  • total 칼럼을 기준으로 주말을 빨간색, 공휴일을 파란색으로 표시해보았다.
    확실히 주말인 경우 방문객수가 증가하는 것을 알 수 있다.

계절성 확인

  • ACF와 PACF 그래프를 그려보았다.
    먼저 ACF 그래프를 보면 7일의 주기성을 갖고 있음을 알 수 있다.

차분

  • 단순 차분 후의 ACF 그래프를 보면 아직 7일 주기성을 갖고 있음을 알 수 있다.

  • 이때 계절차분한 ACF 그래프를 보면 주기성이 사라진 것을 확인 할 수 있다.

🔨 SARIMA

SARIMA

  • sarima 학습 후에 그래프를 그려보았을 때, 공휴일인 날의 방문자수 예측 정확도가 떨어지는 것을 확인할 수 있다.

SARIMAX

[holiday]

  • holiday 변수를 추가하여 학습시킨 결과를 보았을 때, 위의 결과보다 공휴일 방문자수 예측을 잘 해낸 것을 확인 할 수 있다.

[weekend]

  • weekend 변수를 추가하여 학습시킨 결과를 보았을 때,
    변수를 넣어주지 않고 학습시켰던 SARIMA와 결과가 비슷한 것을 알 수 있다.

[holiday&weekend]

  • holiday와 weekend 변수를 모두 넣어서 훈련시킨 결과 holiday만을 변수로 넣어줬을때와 크게 변화가 없음을 알 수 있었다.

[rmse score]

  • rmse 결과를 확인해보면 test set에 대해서 아무 변수도 넣어주지 않은 기본 sarima 모델이 예측도가 가장 높았다.
    그러나 train set의 rmse 수치와 차이가 큰 것을 보아 과적합이 의심된다.
    따라서 방문자수 예측을 위해서는 변수로 holiday만 넣어준 모델이나 holiday와 weekend를 모두 넣어준 모델을 사용해야 할 것 같다.

💡 Insight

  • 예상외로 weekend를 변수로 넣었을 때 큰 변화가 없었는데 그 이유는 이미 방문자수 데이터에 어느정도는 weekend 변수가 반영되어있기 때문이다.
profile
💻🐜💡

1개의 댓글

comment-user-thumbnail
2023년 8월 2일

이런 유용한 정보를 나눠주셔서 감사합니다.

답글 달기