한 때, 빅데이터의 쌍두마차로 컴퓨터공학과 통계학이 언급되며, 둘 중 무엇을 배우는 것이 좋은지 의견이 분분했드랬다. 지금은 특수대학원 커리큘럼을 보든, 데이터 사이언티스트 국비 지원 교육 커리큘럼을 보든 통계학보다는 CS 위주로 구성되어 있어 어느 정도 정리(?)가 된 느낌이지만, 여전히 작게나마 소동극이 진행되고 있는 느낌이다.
혹자는 통계학을 배울 필요가 없다고 말하기도 하고, 혹자는 통계학이 데이터 사이언스의 기초 체력이라고 말한다. 여기에 통계학을 전공하고, 지금도 계속 공부하고 있는 사람으로서 의견을 정리해서 작성해보려고 한다.
1. 통계학에 대한 단상
결론부터 말하면 통계학은 도구로서의 학문이라고 생각한다. 이건 통계학을 공부하면, 공부할수록 절실히 느끼는 부분이다. 대학교 전공수업을 듣던 중에, 교수님께서 "통계학은 도구의 학문이다. 따라서 통계학을 잘 써먹으려면 다른 전공과의 융합이 중요하다"라고 말씀하셨던 기억이 있다. 그 때는 들으면서, 막연히 "그렇겠지, 통계학 단독으로는 뭔가 하기 어렵겠지."라고 생각했었는데, 시간이 지나면 지날수록 "통계학은 도구의 학문이다"라는 의견에 동의한다.
단순히, "고객 분석을 하기 위해서 고객에 대해 잘 알아야 해. 그리고 통계 지식이 필요해" 이런 피상적인 차원이 아니라, 정말로 도메인 그 자체에 대해 몰입해야만, 분석을 조금이라도 더 잘 할 수 있다, 요 느낌이다. 특정 업데이트가 어떻게 영향을 미칠지, 이런 건 미래에 대한 데이터가 없으므로 통계 지식을 아무리 많이 갖춰도 내가 알 수 있는 방법이 없다. 그나마 도메인에 대해 잘 알고, 그간 고객이 어떻게 행동했는지 선험적 지식이 있다면, 멘탈 시뮬레이션을 통해 가설을 세워볼 수 있다. 가설을 어떻게 잘 검증할 수 있을지는 그 다음 문제다.
또, 통계학이라는 학문이 특정 분과에서 방법론을 만들기 위한 도구로 사용되고 있다. 인과추론에 대한 이야기를 꺼내 오면... 인과추론의 기본 개념으로 언급되는 "매칭 추정량"이니, "도구변수"니, "Do-calculus"니 요런 개념들의 기반은 분명 통계학이 맞다. (회귀분석, 베이즈 통계...) 그렇지만, (비록 학부 졸업이기는 하지만..) 통계학이라는 걸 공부하면서 인과성에 대해 따로 배운 적은 없다. "상관관계는 인과관계가 아니다"라는 걸 언급하기는 하지만 신나게 공분산이니, 피어슨 상관계수니 이런 걸 배우고 넘어갈 뿐이다.
인과추론의 거장으로 손꼽히는 앵그리스트 교수님이나, 주데아 펄 교수님이 각각 경제학, 컴퓨터 공학 전공인 걸 고려해 보면, 각 영역에서 해결하려는 문제를 통계학이라는 도구를 써서 독자적으로 방법론을 개발한 결과물이 "인과추론"이라고 볼 수 있겠다.
결국 "통계학은 도구다"라는 문장에 대해서는 모두가 동의할 것이라고 생각한다. 다만 도구라는 가치중립적인 단어에 각자 가치를 부여하면서 해석이 달라지는 것이 아닌가 싶다.
설령 통계학보다 더 좋은 도구가 많이 나왔다 하더라도, 그 도구가 각각 다른 용도로 쓰이는 것도 아니고, 토대가 되는 기본 개념이 다른 것도 아니기 때문에 도구 그 자체여도 크게 문제가 없지 않나 하는 생각이다.
2. 그러면 통계학은 쓸모가 있는가?
당연히 쓸모는 있지만, '반드시 배워야 하는가?'에 대해서는 잘 모르겠다. 이건 개인의 선택이라고 생각한다. 요즘은 R이나 파이썬 라이브러리 중에 통계를 모른 채로 쓸 수 있는 것들이 많아서 데이터 분석을 위해서 반드시 통계를 배우지 않아도 되는 것 같기도 하다.
단적으로 페이스북에서 개발한 "Prophet" 패키지를 쓰면, ARIMA 모형이나 SARIMA 모형에 필요한 통계 개념을 모르고 넘어갈 수 있다. 물론 추세(Trend)나, 주기성(Cycle) 개념이 동일하게 들어있는 건 사실이지만 코드와 대략적인 파라미터 설명만 알면 제법 좋은 결과물이 나온다.
p-value 조차도 "귀무가설이 맞다고 가정한 결과보다 극단적인 값이 나올 확률"이라는 사전적 의미를 몰라도 "별(*)이 많을 수록 유의한 결과야" 라고 해석하고 넘어가면 왠만한 분석 결과의 해석이 다 가능하다.
그래서 특정 분석을 시도해보고 결과를 내는 것이 목적이라면 통계를 공부하더라도 일정 수준만 하고 넘어가도 되지 않을까 하는 생각이다.
그래도 통계를 공부한다면 이점이 있기는 하다. 부족하기는 하지만, 내 경험담으로는 예시를 들면.. 데이터를 볼 때 조금 더 민감하게 받아들여지는 것이 있었던 것 같다. A와 B 데이터가 비슷한 결과가 나와야 하는데, 계속해서 B 데이터 쪽 수량이 많다면 "왜 차이가 랜덤하게 나오는 거 같지가 않지? 계통오차가 있는 게 아닐까? 어디서 문제가 되는지 찾아보자" 하는 생각을 하게 된다.
다만, 어떤 분야든 개인이 깊게 공부한다면, 거기서 얻게 되는 시야나 관점이 있을 것이기 때문에 이게 이점일지는 개인에 따라 다를 수 있을 것 같다...
그리고 앞서 비슷하게 언급하기도 했지만, 머신러닝을 공부하게 될 때 코드는 아닌데 개념 공부에서 이득을 보게 되는 경우가 있다. 머신러닝 기본 개념으로 배우는 bias와 variance 개념은 당연히 통계에서 배우는 개념이고(통계에서는 unbiased, efficiency, consistent 뭐 이런 개념을 배운다.), Ridge Regression도 회귀분석에서 다룬다. 다만 머신러닝에서는 과적합 문제를 해결하기 위해 ridge regression을 쓴다고 배우지만, 통계학에서는 다중공선성 문제를 해결하기 위해 차원축소를 한다고 배웠다.
3. 통계학을 어느 정도로 공부해야 할까?
이건 계속 고민이 되는 부분이다. 개념을 공부하는 것이 이점이 있는 건 맞지만, 개념에만 매몰되는 것 또한 부작용이 많았기때문이다.
컴퓨터 쪽을 아예 모르면 For문을 쓸데없이 반복시킨다거나, 코드 최적화 없이 무리한 연산을 시켜서 컴퓨터를 뻗게 만들 수도 있고.. 무엇보다 별 거 아닌 것도 계속 누군가의 도움을 받아야 한다.
통계 기초 개념만 알고 있으면, 당장 분석에 써먹을 수 있는 게 없다. 현업에서 수리통계학을 직접 사용할 일은 없으니까.. 또, 파이썬이나 R 같은 프로그램의 코드를 짤 줄 알아야 개념을 기반으로 분석을 할 수 있다.
그렇다고 기본을 놓치면 배우는 시야에 한계가 있다. 내 경우에도 요즘은 인과추론과 머신러닝을 공부하다 베이즈 통계에 대한 개념이 부족해서, 공부가 어려워지고 있다는 걸 깨닫고 요즘은 베이지안 통계학을 공부하고 있다. (베이즈 통계 너무 어렵다 ㅠㅠ..)
결국 어느 한 쪽만 공부할 수는 없는 노릇이다. 조화와 균형이 중요한데, 그렇다고 계속 이것저것 찍먹하며 발산만 할 수 없으니 적당한 선에서 배우는 분야를 넓히되(발산), 한 번에 여러 과목을 공부하지 않고 어느 수준까지 도달(수렴) 할 수 있도록 조절하는 게 답이 아닐까 싶다.
'일상생각' 카테고리의 다른 글
글또 9기에 참여하며 (6) | 2023.12.02 |
---|---|
글또 8기를 마치며 (※ 장문 주의) (0) | 2023.07.15 |
좋은 데이터 분석가가 되기 위해 기억하면 좋을 것들 (feat. 글또 중간회고) (0) | 2023.05.03 |
글또 8기에 참여하며 (부제. 신년을 맞이하는 마음가짐에 대해) (2) | 2023.02.02 |
2022년을 돌아보며 (2) | 2023.01.01 |