현실은 복잡하다. 어떤 결과가 나타났을 때 그 원인이 하나뿐인 경우는 거의 없다. 여러 가지 요인이 서로 영향을 주고받으면서 결과가 만들어진다. 게다가 우리가 모든 정보를 알고 있는 것도 아니다. 그렇기 때문에 현실에서 일어나는 일을 정확하게 이해하고 미래를 예측하는 것은 쉽지 않다.
모델링이란 무엇일까?
“모델링이란 현실의 복잡한 현상을 이해하고 예측하기 위해, 중요한 요소를 골라내고 그 요소들 사이의 관계를 수학적·논리적으로 표현하는 과정이다.”
현실의 문제를 단순하게 만들어 보기
예를 들어 아이스크림 가게에서 내일 아이스크림이 몇 개나 팔릴지 알고 싶다고 해보자. 판매량에는 기온, 날씨, 요일, 학생 수, 시험 여부 등 여러 가지가 영향을 줄 수 있다. 이 모든 요소를 한꺼번에 고려하면 너무 복잡하기 때문에, 판매량에 영향을 많이 줄 것이라고 생각되는 중요한 요소를 골라낸다.
데이터에서 관계를 찾아보기
예를 들어 기온과 학생 수를 선택했다고 하자. 그리고 과거의 판매 자료를 살펴본다. 기온이 25℃일 때 평균 200개, 30℃일 때 280개, 35℃일 때 350개가 팔렸다면 **“기온이 높아질수록 아이스크림 판매량이 늘어나는 경향이 있다”**고 생각할 수 있다.
찾아낸 관계로 미래를 예측하기
이렇게 찾아낸 관계를 이용해 “내일 기온이 35℃이고 학생 수도 평소와 비슷하다면 약 350개가 팔릴 가능성이 있다”고 예측할 수 있다. 현실의 모든 요소를 고려하지 않았지만, 중요한 요소와 그 관계를 이용해 복잡한 현실을 단순하게 표현하고 예측한 것이다.
이것이 모델링의 기본적인 모습이다. 모델링은 현실을 그대로 복사하는 것이 아니다. 현실에서 중요한 요소를 선택하고, 그 요소들이 결과에 어떤 영향을 미치는지 구조화하여 현실을 이해하고 예측할 수 있는 간단한 형태로 만드는 것이다.
예측이 틀리면 모델을 다시 살펴본다
그리고 모델은 완벽하지 않다. 실제 판매량이 350개가 아니라 250개가 될 수도 있다. 그렇다면 왜 예측이 틀렸는지 살펴봐야 한다. 날씨가 예상과 달랐거나, 학교 행사가 있었거나, 처음에 고려하지 않았던 다른 요인이 영향을 주었을 수도 있다.
모델은 계속 수정하고 개선한다
따라서 모델링은 한 번 만들고 끝나는 과정이 아니다. 예측하고, 실제 결과와 비교하고, 잘못된 가정이나 빠진 요소를 찾아 수정하면서 모델을 개선해 나간다.
결국 모델링은 “복잡한 현실에서 중요한 요소와 그 관계를 찾아내어 이해하기 쉬운 구조로 만들고, 이를 이용해 현실을 설명하고 미래를 예측하는 과정”이라고 할 수 있다.
모델링의 한계
모델링은 복잡한 현실을 이해하고 미래를 예측하기 위해 현실의 중요한 요소와 그 관계를 단순하게 표현하는 방법이다. 하지만 모델은 현실 그 자체가 아니다. 현실의 모든 요소를 모델에 담을 수 없기 때문에, 모델에는 여러 가지 한계가 있다.
현실을 모두 담을 수 없다
현실에서는 수많은 요소가 서로 영향을 주고받는다. 하지만 모델은 이 모든 요소를 포함하기 어렵기 때문에 결과에 중요하다고 판단되는 요소를 선택한다.
예를 들어 아이스크림 판매량을 예측할 때 기온과 학생 수를 주요 변수로 선택할 수 있다. 하지만 실제 판매량에는 날씨, 요일, 시험 기간, 학교 행사, 주변 가게의 할인 행사 등 다양한 요소가 영향을 줄 수 있다. 모델에 포함하지 않은 요소가 실제로 중요한 영향을 미친다면 예측이 틀릴 수 있다.
가정이 틀릴 수 있다
모델은 특정한 가정에서 출발한다. 예를 들어 “기온이 높아지면 아이스크림 판매량이 증가한다”고 가정할 수 있다. 하지만 실제로는 기온이 높더라도 비가 많이 오면 판매량이 줄어들 수 있다.
따라서 모델의 계산이 아무리 정확하더라도 처음 세운 가정이 현실과 다르면 결과 역시 정확하기 어렵다.
데이터에도 한계가 있다
모델은 데이터를 이용해 현실의 패턴을 찾는다. 따라서 데이터가 부족하거나 특정 상황에 치우쳐 있다면 모델도 그 영향을 받는다.
예를 들어 평일의 아이스크림 판매 데이터만 가지고 판매량을 예측한다면 주말이나 방학처럼 다른 상황에서는 예측이 잘 맞지 않을 수 있다. 또한 과거에 한 번도 발생하지 않았던 새로운 상황에서는 기존 데이터만으로 정확하게 예측하기 어려울 수 있다.
너무 복잡한 모델도 문제가 된다
모델에 변수를 계속 추가한다고 해서 반드시 더 좋은 모델이 되는 것은 아니다. 과거 데이터를 지나치게 자세하게 따라가도록 만들면 과거에는 잘 맞지만 새로운 데이터에서는 예측을 제대로 하지 못할 수 있다. 이를 과적합이라고 한다.
따라서 모델은 과거 데이터를 잘 설명하는 것뿐만 아니라, 새로운 상황에서도 적절한 예측을 할 수 있어야 한다.
모델의 한계를 어떻게 보완할까?
이러한 한계를 줄이기 위해 현대의 데이터 분석과 인공지능에서는 여러 가지 방법을 사용한다.
먼저 다양하고 충분한 데이터를 사용한다. 그리고 여러 조건에서 얻은 데이터를 이용하면 특정 상황에만 맞는 모델이 만들어지는 것을 줄일 수 있다.
또한 새로운 데이터로 모델을 계속 검증하고 수정한다. “모델이 예측한 결과와 실제 결과를 비교하여 차이가 발생한 이유를 찾고, 필요한 경우 새로운 변수나 가정을 추가한다.
“여러 모델을 비교하거나 결합하는 방법도 사용한다. 서로 다른 모델의 결과를 함께 이용하면 하나의 모델이 가진 약점을 보완할 수 있다.
그리고 예측 결과를 확정된 하나의 값으로만 제시하지 않고 “확률이나 불확실성을 함께 나타내기도 한다. 이를 통해 모델의 예측을 확정된 사실이 아니라 가능성으로 이해할 수 있다.
결국 모델링은 한 번 만들고 끝나는 것이 아니다. “현실을 단순하게 표현하고, 예측하고, 실제 결과와 비교하고, 다시 수정하는 과정을 반복하면서 현실과 모델 사이의 차이를 줄여나간다.
따라서 모델은 현실의 정답이 아니라 “현실을 이해하고 예측하기 위한 도구라고 보는 것이 중요하다. 모델이 틀릴 가능성을 인정하고 그 한계를 확인하면서 사용해야 모델을 보다 합리적인 의사결정에 활용할 수 있다.