데이터 모델에 대한 수식없는 설명

배경

데이터 관련 업무로 돌아온지 4개월이 넘어간다.  사업의 목적을 달성하기 위해서 사업 등의 비개발부서와 현재 시점 뿐 만 아니라 장기적인 관점의 과제를 두고 다양한 논의를 한다. 그렇게 논의를 하다보면 종종 데이터 모델에 대해서 만능인것마냥 상황과 상관없이 항상 절대적으로 높은 수준의 서비스를 제공해줄 수 있을 것으로 기대하는 분들이 종종 있다.

이런 분들에게 모델의 현실(?)을 설명해주기 위해 가장 많이 쓰는 말이 있다. 바로 Real World와 Model World이다.

Real World vs Model World

Real World는 단어 그대로 우리가 살고 있는 세상이다. 너무나도 복잡하고, 다양한 현상이 동시다발적으로 일어나는 그런 세상이다. 이런 세상 중 우리가 관심을 가지고 있는 일부를 우리는 수식 등의 방법을 통해 표현한다. 이를 Model World라고 한다.

Model World를 만드는 이유는 크게 두 가지이다. 1) 해석 2) 예측이다. 현재 우리가 보고 있는 현상과 관련있거나, 또는 원인으로서 영향을 미치는 변수가 현상에게 갖는 영향력을 이해하고 이게 우연이 아닌지, 확인하는 것을 해석이라고 볼 수 있다. 이에 반해서 예측은, 우리가 본 패턴이 미래에도 동일하게 일어날 것이라고 가정한 상황에서 미래를 예상해보는 것이다.

여기서 중요한 부분이 바로 우리가 예상하기 위해 사용하는 X, Y 등의 변수이다. 두 변수 모두 측정이 가능하고 확보가 되어야지 이런 모델을 만들 수 있다. (사족으로) 크리에이티브 쪽에 종사하시는 분들이 관련 업무에 대해서 측정이 불가하다고 하지만, 측정은 기본적으로 반복해서 관찰 가능하면 측정이 가능하다.

그래서 Real World → Model World로 갈 때는 다음 네가지 요소를 결정해야 한다.

  • 우리가 따라 만들고 싶어하는 Real World
  • Real World 를 모사해서 간단하게 만들고자 하는 Model World의 개념적인 형태
  • 실제 수리적인 Model
  • Model을 돌리기 위한  데이터

그런데 이 변수를 관리하고, 측정하는게 비용이 된다. 어떤 분들은 최대한 많은 변수들을 긁어모아서 정확도를 높여달라는 분들이 있는데 이 때 고려해야 하는 포인트가 있다. 바로 Flexibiliy와 Feasibility이다.

Flexibility & Feasibility

앞서 언급한 것처럼 변수들을 많이 넣으면 예측에 도움이 될 수 있다. 하지만 그 비용이 너무 커져서, 모델을 만듦으로써 얻게 되는 효용을 초과한다면, 역시 만들지 않는게 더 나을 수가 있다.  즉 Feasibility(타당성)를 고려해서 적절한 변수를 수집해서 만들 필요가 있게 된다.

Flexibility가 조금 까다롭다. 결과의 편향성(Bias)과 분산(Variance)에 영향을 미치기 때문이다.  변수들을 최대한 늘려서 모델을 만들면 마치 엄청나게 잘 예측한 것처럼 보일 수 있지만, 실제 상황에서 생각치 못한 경우에 대응하지 못하게 될 수 있다. 그야말로 편향성이 높아지고 분산은 낮아진, Flexibility가 높지 않을 때의 문제이다.

결국 적절한 수준의 Feasibility와 Flexibility를 찾아야 하는데 이 부분은 비개발자라고 해도 항상 고려해왔던 업무의 범주이기 때문에 논의하기가 어렵지는 않다. 특히 모델을 개발할 때 이상적인 결과보다는 사업이나 예산에 적합한 결과를 주기 위해서 제약조건을 추가할 때가 있는데, 모두 이 Flexibility & Feasibility에 관련된 이야기일 수 있다.

Model & Operation

여기까지 보고 나면, 아 현실을 필요한 부분만 적절히 모사한 것이 데이터 모델이구나라는 말을 참 길게 했구나 라고 눈치 빠른 이는 느낄 수 있을 것이다.

그렇다면 예측이 잘 되지 않았을 때, 우리는 모델을 무조건 욕하기는 어려울 수도 있다는 것을 알게 된다. 타협 속에 현실을 적절하게 묘사했는데, 현실이 너무 변동이 심해서 매 번 생각치 못한 상황을 보여준다면 모델도 성능이 당연히 나오지 않게 되기 때문이다.

따라서 모델이 모사한 Real World가 안정적인 모습을 계속 유지하도록 우리는 운영 관점(Operation)에서의 관리의 균형이 얼마나 중요한지 항상 인지할 필요가 있다.

이 때 모델은 복잡한 현상을 쉽게 풀어주어 사업이 안정적으로 진행되도록 도와주고, 나아가 비용효율적인 측면에서도 잘 활용될 수 있을 것이다.

Conclusion

주절주절 길게 이야기를 작성했다. 하지만, 적으면서도 이해가 쉽지 않을 수 있겠다는 생각이 든다. 하지만 어떻하겠는가?

개발부서 역시 비개발부서를 끊임없이 이해하려고 하고 점차 데이터 기반 AI가 활성화되는 시점에 보다 나은 결과물을 낳기 위해서 끊임없는 공부는 필수인 것을 말이다.

이렇게 글을 작성하고 이해를 주고받으면서 보다 더 서로에게 나은 이해를 가져갔으면 하는 바램이다.

References