데이터 사이언스/데이터사이언스(실무) 11

통계학이 공부할만한 충분한 가치가 있는지에 대한 고찰

오늘은 대뜸 통계학을 내가 왜 공부하고 있고 이게 도대체 사회에 어떤 도움이 되는지생각해보게 되었다. 통계학 (데이터사이언스 포함) 이란 유용한 도구임에 틀림이 없으며 집단이나 사람들의 의사결정에 분명한 도움을 준다.  그것은 인텔리전스로써 기업의 이윤 창출에 도움을 줄 수 있으며 또는 공공의 복지를 위한 의사결정에 도움을 줄 수 있다.  분명한것은 이는 어디까지나 사람들의 의사결정에 사용되는(도움을 주는) Tool 이라는 점이다. 사람들은 언제나 이에 반하는 (즉, 통계적 분석 결과와 합치되지 않는) 의사 결정을 내릴 수 있다.결국 결정하는 것은 사람이기 때문에... 그럼에도 불구하고 통계학은 유용한 도구임에는 틀림이 없지만 그것을 어디에 붙일지는 사용하는 사람에 달렸다. 그렇다면 궁극적으로 이 통계학..

통계모델은 validation을 안하나요? (feat. Goodness of Fit)

실무를 뛰면서 머신러닝 모델과 통계 모델을 같이 돌리고 있다.여기서 굳이 머신러닝 모델과 통계 모델로 구분한 이유는 통계 모델의 경우 대체로 모델에 대한 가정, 특히 잔차의 분포에 대한 가정이강하게 들어가는 편이고 가능도(likelihood)를 기반으로 모델 파라미터가추정이 되는 반면에 머신러닝 모델의 경우 모델에 대한 기본 알고리즘이 존재하긴 하지만, 그것이 분포에 대한 가정으로까지 이어지지 않는 경우가 많다.  즉, 머신러닝 모델은 '~~이런 알고리즘으로 하면 우리가 원하는 형태로 모델이 output을 잘 내주지 않을까요?' 라고 가정한다고 본다면, 통계 모델은 좀 더 직접적으로 '우리의 데이터가 이러한 Data Generating Process (DGP)' 에 의해 탄생하지 않았을까요? 라고 가정한..

무언가를 분명하게 말해준다는게 얼마나 어려운 일인지

지식의 체계는 생각보다 다운 탑으로 이루어져 있다. 밑에가 완전히 채워져있지 않으면 그 지식은 어딘가 모르게 불안정하며, 그것을 전달하는 사람도 자신이 없다. 그런 의미에서 지식을 쌓는 과정은 어쩌면 지름길이 없을지도 모른다. 그리고 때로는 아래와 같은 질문에 답하기 어려운 상황에 직면하곤 한다. "그래서 이때는 A를 써야되, 아니면 B를 써야되, 아니면 무언가 새로운걸 써야되?" 위와 같은 질문은 특히, 데이터사이언스 현업에서 자주 일어나는 질문이며, 최신의 방법론이나 고도화된 복잡한 방법론을 쓸때에는 저 질문에 대한 답변을 해주는것이 더욱 어렵다. 현재 내가 직면하고 있는 문제가 생겼는데 거기에 무언가 내가 이론적으로 확실히 이해하지 못한 방법론을 쓰려할때 위와 같은 질문을 받으면 난처해진다. 그런데..

통계학 전공자로써 현업에서 일하면서 느끼는점

오늘밤엔 겨울비가 추적추적 쏟아지기도 하고... 뭔가 글을 쓰기에 좋은 감성이 되었다. 오늘은 통계학 전공자로써 현업에서 1년정도 일하면서 느끼는 점을 정리해보고자 한다. 필자는 통계학을 석사까지 전공했다. 원래는 수학과 아니면 기계공학과로 갈 생각이었는데 (고등학생때 수학이나 물리를 워낙 좋아했어서) 대학교 1학년때 통계학 과목을 들으면서 흥미를 느껴서 2학년때부터는 통계학으로 전향하였다. 한정된 데이터로부터 확률적인 전체 시스템에 대해 추론하는 과정이 그당시엔 너무나 멋있어보였기 때문이다. 심지어는 사람들의 행동하나하나에 수치가 위에 표기되는 그런 상상을 하기까지도 했다. 어쨌든 그런 종류의 학문이 아닐까하는 추측성 확신만 가지고 통계학과로 그대로 진학하였다. 그리고 방황의 시절이 2학년때 잠깐 있었..

데이터로부터 온전한 인과관계를 파악한다는 것

오늘은 통계학과 데이터과학에서 요즘 화두로 떠오르고 있는 인과 분석(causal inference)에 대해 말해보고자 한다. 참고로, 필자는 통계학 전공자이고, 석사때 주요 연구 분야가 환경 역학에서의 인과분석이었다. 그러다보니 졸업하고나서도 이 분야에 관심이 많은 편이다. ​ 데이터로부터 인과관계를 온전히 파악하는건 매우 어려운 일이다. 하지만 우리는 데이터로부터 어떻게든 인과관계를 파악해내려 한다. 그리고 그것을 지식화하여 더 나은 미래를 만들어내려 한다. ​ 인과 관계를 하는데 있어서 가장 큰 장애물은 confounding이다. confounding은 우리말로하면 교란효과인데 말그대로 원래의 인과관계를 파악하는데 있어서 혼동하게 만드는 그런 요인들을 통틀어 지칭한다. ​ 실험이 가능한 경우, con..

데이터 사이언스란? (주관적 의견)

요즘에 데이터사이언스라는 용어를 많이 쓰는거 같다. 취업할때도 데이터 사이언티스트, 애널리스트, 데이터 분석가 등등의 용어가 많이 쓰이고 있다. 사실 내가 봤을 때는 기존에 통계학과나 이와 유사한 학과들이 하던 데이터 분석 일을 다 통틀어 이렇게 혼용하여 표현하는거 같다. 그리고 데이터사이언스라는 말과 더불어 AI 도 핫한 용어이다. 사실 데이터사이언스, AI 둘다 데이터를 기반으로 하는 분야로 수학,통계,컴퓨터 의 융합 과목이라고 보면 된다. 다만 데이터 사이언스는 도메인 지식도 중요하므로 필요에 따라 경제학, 심리학, 의학 등에 대한 지식을 겸비해야 할 수도 있다. 따라서 어떤 과목을 전공했든지 요즘 핫한 데이터사이언스 분야로 가는데 있어서 각자의 강점이 있다. 만약 수학이나 통계학을 전공했다면 이론..

현업에서 머신러닝 돌릴 때 골치 아픈 것

오늘은 현업에서 머신러닝(특히 딥러닝) 돌릴 때 골치아픈 것들에 대해 간단히 얘기해보고자 한다. ​ 1. 파이썬 버전, 패키지 버전, gpu 호환 문제 ​ 보통 파이썬에 나오는 모델들은 패키지별로 계속 업데이트가 되기 마련이다. 그러다보니 예전에 되던 기능이 새로 업데이트 되면서 안되기도 하고... 새로운 기능을 사용하려면 버전을 업데이트 해야하기도 하다. 그래서 내가 필요한 패키지 버전과 때로는 파이썬 버전까지도 잘 맞춰주어야 한다. 게다가 GPU를 사용하려면 일반적으로 cuda나 cudnn의 버전까지 맞춰주어야 하는데 이게 참 머리아프게 한다. 그래서 도커(docker)가 나오게 된 것 같은데, 우선 우리회사는 지금 안쓰고있다... ​ 2. 속도 문제, 리소스 문제 ​ 제일 큰 문제는 항상 속도이다...

정보의 범람 속의 데이터 사이언스

데이터사이언스, AI분야가 아주 핫해지면서 데이터이론에 대한 정보가 정말 많아졌다. 덕분에 네이버와 구글 등에서 검색만 잘해도 어느정도 유용한 많은 정보를 획득할 수 있게 되었다. 내가 학부시절이었던 불과 4~5년전만 해도 관련 내용들이 검색이 잘 안되었는데... 세월이란 참 알수 없는것 같다. ​ 문제는 정보의 범람 만큼이나 잘못된 정보들도 꽤 많다는 점이다. 특히, 통계학이나 확률 이론들은 말 그대로 확률적인 부분들이 많기 때문에 어렵고 헷갈리는 부분이 매우 많다. 그래서 이를 잘못이해하고 와전되는경우도 많은거 같다. ​ 21세기 현시점에서 가장 중요한건 그런것들을 잘 선별해낼수 있는 능력이 아닐까 싶다 믿을수있는 정보를 선별하고, 좋은 책이나 레퍼런스를 골라읽을수 있는 능력. 답은 과거에 있는 경우..

데이터사이언스에서 예측모델 종류

지금까지의 데이터과학에서는 통계학,머신러닝,딥러닝 각각에 훌륭한 예측모델 후보군들이 있다. ​ 예를들면, 통계학에서는 elasticnet, spline 계열 모형, 커널을 이용한 모형(SVM 및 커널머신 또는 gaussian process), 머신러닝에서는 트리를 이용한 랜덤포레스트, 부스팅, 딥러닝에서는 대규모의 뉴런들을 이용한 DNN(Deep Neural Network) 이 있다. (생각해보니 SVM을 머신러닝으로 쳐야할지도 모르겠다. 경계가 워낙 모호해서...) ​ 뭐 이 외에도 많은 모델들이 있겠지만 내가 생각했을때 대표주자로 생각되는 모델들이다. ​ 그런데 통계학에서의 모델인 SVM은 커널을 이용해서 꽤나 유연한 함수(반응변수와 설명변수의 관계)를 잡아내지만 데이터가 커지면 시간이 오래걸리고(튜..