사람들이 예측 모델을 만들 때 가장 먼저 고민하는 게 뭘까? 대부분 '어떤 멋진 모델을 써볼까?'에 집중하지. 왜 그럴까? 솔직히 그게 제일 쉬운 부분이거든. ChatGPT한테 물어보면 금방 답변이 나오고, 각 모델의 장단점도 조금만 파고들면 대충 감 잡을 수 있기 때문이다.
근데 여기서, 예측 모델을 만들면서 진짜 어려웠던 건 따로 있다. 바로 '예측치와 실제 수치 사이의 차이를 어떻게 측정할 것인가'이다. 이게 왜 중요하냐고? 이 선택이 모델 최적화의 핵심이면서 주관적인 의견과 합의가 많이 들어가기 때문이다,.
자, 좀 더 깊게 들어가 보자.
1. RMSE (Root Mean Square Error)
이놈은 큰 오차에 더 많은 벌점을 준다. 예를 들어, 100만원 예측해야 하는데 1000만원이라고 예측했다? 엄청 틀렸으니까 엄청 혼나는 것이다 (벌점 1억).
2. MAE (Mean Absolute Error)
얘는 공평하다. 1원 틀리든 100만원 틀리든 그 차이만큼만 반영한다. "너 1원 틀렸어? 자, 1원만큼 벌점이야. 100만원 틀렸어? 100만원만큼 벌점."
3. MAE% (Mean Absolute Error Percent)
MAE를 좀 더 이해하기 쉽게 만든 버전이다. "야, 너 예측이 실제랑 평균 10% 차이 나더라" 이런 식으로 말해준다.
4. Bias%
Bias%의 경우 모델이 계속 과대 예측하는지 과소 예측하는지 알려준다. "너 항상 실제보다 5% 더 크게 예측하네?" 이런 걸 알 수 있다.
여기서 진짜 어려운 게 뭐냐면, 이 중에 뭘 골라야 할지다. 왜? 이 선택에 따라 어떤 모델 쓸지, 그 모델이 뭘 의미하는지, 그리고 우리가 뭘 해야 할지가 다 바뀌기 때문이다. 게다가 너무 복잡한 기준 쓰면 현업 사람들이랑 소통하기 어려워지고. 그들의 경험과 지식을 모델에 녹여내기도 힘들어진다.
따라서 내 생각에, 모델 만들기 전에 제일 먼저 해야 할 것들은 아래와 같다.
1. 우리가 가진 데이터가 어떤 패턴을 보이는지 잘 살펴보기
2. 그 패턴에 맞는 오차 측정 방법 고르기
3. "야, 우리 이거 쓰자. 왜냐면 말이야..." 이렇게 팀원들이랑 얘기하고 합의하기
참고로, SCM(공급망 관리) 쪽에서는 MAE%랑 Bias% 둘 다 보는 경우가 많다. 재고 문제 때문에 얼마나 틀렸는지, 그리고 어느 쪽으로 틀렸는지 둘 다 중요하니까.
결론이 뭐냐고? 음... 바로 내가 각 오차 측정 방법에 대해 설명하고, 왜 우리 상황에 이게 딱이다!라고 설명하는 문서 만들려니까 머리가 아프다는 것이다.
이 과정이 어렵고 복잡해 보여도, 이게 바로 좋은 예측 모델의 시작점이라고 생각한다. 그냥 멋진 알고리즘 골라 쓰는 게 아니라, 우리 상황에 진짜 필요한 게 뭔지 깊이 고민하는 것이다. 이런 고민 없이는 아무리 최신 기술 써봤자 쓸모없는 결과만 나올 뿐이라고 믿(지만, 요즘 나오는 인공지능은 다를수도...)