본문 바로가기
데이터분석과 통계분석 - 너희 도대체 어떻게 하는거니?

책상에 통계 개론이라는 책이 덩그러니 놓여있고, 가만히 숨죽여 책의 목차를 들여다보고 있으면, 사실 통계라는 것은 굉장히 단순한 이야기를 굉장히 복잡하게 풀어서 늘어놓았음을 실감하게 됩니다. 세상에 일어나는 일들을 그냥 그러려니 하고 넘어가면 참 단순할 텐데 하고 생각하지만, 단순하면 심심하잖아요. 특히나 보통 어떤 한 분야는 전반적으로 비슷한 컨셉의 용어와 접근법이 있는데, 통계야 말로 정말 여러 분야의 사람들의 연구가 기여되다 보니, 용어도 비슷한 분위기의 통일성이 없어서 복잡해 보이는 그런 것 아닌가 하는 생각이 듭니다. - 분포의 이름에서도 보았듯이 말이죠 - 

이런 이유로, 통계를 전반적으로 이해하는 데에는 꽤나 많은 노력이 필요합니다. 왜냐하면 하나하나 배울 때 마다 뭔가 어떻게 굴러가는지 1도 모르겠고, 통일된 하나의 원리가 아니라, 단편적으로 배우는 것 같고, 그리고 마지막으로 수업을 들을 때는 끄덕끄덕 고개를 끄덕이지만, 사실은 이해가 좀 잘 안 되고요. 그렇긴 해도 용어만 일관성 없는 것 처럼 복잡하지 가능한한 통일된 하나의 원리를 이야기하며 여기까지 왔다고 생각합니다. 

지금 이시점에 데이터 분석이라는 것이 무엇인가를 알면 조금 더 거시적인 관점에서 통계를 어떻게 이용하는지 이야기할 수 있지 않을까 생각합니다. 본격적으로 데이터분석이라는 용어를 따져보면, 나름대로의 느낌이라는 것이 있긴 하지만, 도대체 분석이 무엇일까 하는 단순한 고민을 꽤나 깊이 한 적이 있습니다. 진심으로요. 

분석을 한다는 것은 결국 어떤 것을 하는 것일까, 그리고 해석은 또 다른 이야기 인가?하는 여러 가지 나름 개똥철학적인 사색에 잠겼다고나 할까요.

완전 같은 느낌의 자매품으로 전략을 세운다는 것은 무엇인가, 전략을 세운다는 것의 결과물은 무엇일까. 기획과 계획의 차이는 무엇인가 하는 것 같은 그런 시시껄렁한 생각들인데, 무언가 알 것 같긴 한데, 정확하지 않은 뭐 그런 손에 잡히지 않는 것 같은 단어입니다. 결국에는 전략은 이기는 기획 같은 것. 그런 것이 아닐까 생각하긴 합니다. - 계획은 이유나 뭐 그런 거는 없고, 그냥 Action만 늘어놓은 그런 거라고 생각합니다. - 결국 전략을 세운 것에 대한 결과물은 목적을 가진 계획의 모음 느낌의 기획서가 아닐까? 하는 뭐 그런 느낌입니다. - 어디선가 그런 분류를 본 적이 있는데 예를 들면 전략=기획, 전술=계획이고, 전쟁에 사용하느냐, 일반적인 상황에서 사용하느냐의 차이밖에 없다 뭐 그런 내용이었는데, 그것도 꽤나 괜찮은 정의라고 생각합니다. 

일단 분석이라는 말 자체는 어떤 현상에 대해서 그것의 본질 또는 그것의 특징을 알아내기 위해 자세하게 들여다 보는 모든 시도를 말하긴 합니다만. 저만의 분석이라는 것을 다시 한번 정의하자면, 

어떤 현상을 보고 왜 그런 일이 벌어지는지 알아내어 그 이유를 주장하는데, 그 주장은 논리적인 근거가 뒷받침 되어야 한다. 

이 정의를 분석 - 분석의 정의를 분석하다니 이것 참 recursive하군요 -해 보면 
1. 어떤 현상을 보고 
2. 왜 그런 일이 벌어지는지 알아내어 
3. 그 이유를 논리적인 근거를 대어 주장함

그렇다면, 이것을 통계/데이터분석에 맞추어 다시 한번 써보자면, 4번이 바로 통계/데이터 분석이 맡아줘야 하는 부분이라고 생각합니다. 
1. 어떤 현상을 보고 알고 싶은 것을 정의
2. 왜 그런지 여러가지 체계적인 통계분석 방법을 통해 추측하여 
3. 그 추측을 통계적인 검정을 통해서 자신의 추측의 근거로 주장을 제시함.
4. 그 주장이 충분히 합리적이라면, 모델(수리모델, 알고리즘, 데이터 플로우 모델)을 이용하여 그 현상을 재현해 낼 수 있도록 하여 설명할 수 있어야 한다.. 정도가 아닐까 합니다. 

그러니까, 쉽게 이야기 하면,

1. 어떤 현상을 보고 
2. 그것에 관련한 자료들을 더 자세하게 탐색하여, 
3. 그 현상이 "왜"그럴까 하는 목적을 정의하여, 이유를 알아내어, 주장하고 
4. 그 주장에 대하여 모델(수리모델, 알고리즘, 데이터 플로우 모델)등을 이용하여 그 현상을 설명하고, 
5. 수학적인 검정을 통해 그 주장이 의미가 있음을 근거로 제시하는 것.

그러니까, 이제까지 살펴본 검정은 분석의 끝에 동원되는 주장을 뒷받침하기 위한 확률에 근거한 수학적 증명방법입니다. 

통계분석을 학습하기 어려운 이유중에 하나가 이 통계적 체계적인 분석이라는 것이 검정을 이야기한 후에 분석방법을 이야기하기 때문에, 너무나 검정에만 매몰되어 왜 이런 분석을 하는지 등을 파악하지 못하는 경우가 많이 있기 때문이라고 생각합니다. 하지만 통계를 알아가다 보면 그도 그럴 수 밖에 없겠다는 생각도 듭니다. 

⓶가 통계/데이터분석을 위해서 가장 중요한 부분이라고 생각하면 되는데, 왜 그런지 알아내기 위해서 경험과 창의성을 발휘하여 엥, 이런가? 하는 질문을 던져야 합니다. 그 질문이라는 것이 다음과 같이 몇 가지로 분류할 수 있겠습니다. 

5가지 정도의 질문을 할 수 있는데, 이런 종류의 질문을 하게 되면, 그에 맞는 통계학적 접근법이 있습니다. 그러니까, 뭔가 데이터가 있어서, 그 데이터를 들어다 보았는데, 이 데이터를 가지고 모집단을 추정해 볼까? 데이터 그룹이 있는데, 그룹들이 차이가 나는지 확인해 볼까? 또는 어떤 결과에 대한 여러 가지 요인들이 있는데 이 요인들이 서로 관계를 가질까? 또는 이 데이터들 사이에서 패턴을 찾아낼 수 있을까? 또는 이 데이터들을 가지고 다른 데이터에 대한 예측을 할 수 있을까? 뭐 이런 식의 질문하는 행위를 데이터 분석의 시작이라고 하면 좋을 것 같습니다. 휴.

 

이 질문에 대한 방법들에 대하여 조금만 더 자세하게 얘기하자면,

추정은 통계의 고유 목적과 같이 모집단을 추정 하는 것을 목적으로 하고, 검정은 대충 표본 간의 차이를 확인한다던가, 실험이 의미가 있는지 등 차이가 있을지 검정합니다. 이런 걸 통계적 추론이라고 하고요. 이 추정이 단독으로 사용되는 경우가 많이 없어서 조금 의아하긴 할 것입니다만, 추정을 하기 때문에 검정을 할 수 있고, 검정이 가능하기 때문에 통계적인 결론을 낼 수 있다고 보면 줄거리가 어느 정도 맞아 들어갑니다. 평균을 추정하고, 그러니까, 평균 비교 검정이 가능하고, 그러니까, 실제로 그런지 검정으로 판단할 수 있는 뭐 그런 시시한 이야기입니다.

관계를 볼 떄는 교차분석, 상관분석, 회귀분석을 이용하게 되는데, 교차분석은 보통 Pivot Table 같은 Cross Table에서 행과 열에 대한 관계를 확인하는 분석이고, 상관분석은 데이터의 특징끼리 얼마나 선형 관계가 있는 가를 보는 것이고, 회귀 분석이라는 것을 이용해서 독립변수와 종속변수의 관계를 모델링하고 그 모델이 의미가 있는지도 검정을 통해 모형 평가를 하고, 결과를 해석하기도 합니다. 적합된 모형이 얼마나 데이터를 잘 설명하는지 또는 예측하는지를 평가해 본다는 의미입니다. 이 평가는 통계적 추론 방법인 검정을 통해 평가하게 됩니다. 연관분석의 경우에는 장바구니 분석이라고도 불리는데 자주 같이 출현하는 아이템을 찾아내는 분석방법론입니다. 이것은 수학적 모델을 이용하긴 하지만 조금 더 패턴을 찾아내는 질문에 가깝습니다.

용어를 보면 조금 특이한 부분들이 있는데, 관계를 볼 때는 교차분석, 상관분석, 회귀분석 등 특별하게도 분석이라는 말을 붙이고 있다는 사실입니다. 왜 그런가 하면, 어떤 특별한 절차를 거쳐서 특정한 결과물을 도출한 후에 그 결과의 유의미 여부를 통계적 검정을 통해서 결론을 내기 때문입니다. 그림에는 나와 있지 않지만 그룹별 차이가 있는지에 대한 검정을 할 때, ANOVA를 분산분석이라고 특별하게 분석이라는 단어를 붙이는 이유도 특별한 절차를 거쳐서 특정한 결과물을 도출 후에 F검정을 하기 때문에 분석이라고 이름 붙입니다. 사실 여기에서 말하는 결과물이라는 것이 통계량이라고 하면 이해하기 쉽겠습니다. 

그리고 많은 데이터 사이에서 패턴을 찾아보는 분석방법도 있는데, 이것은 사람이 찾아내기 어려우니까 알고리즘의 도움을 받는 경우가 많고, 누군가는 동의하지  않겠지만, 보통 이 분야를 데이터 마이닝이라고 부르면 어떨까 합니다. 특히 머신러닝 비지도 학습분야가 데이터 마이닝이라고 보면 용어가 딱 들어맞을 것 같은 느낌입니다. 너무 좁은 의미의 정의인 것 같긴 하지만, 그래도 이렇게 정의하고 나면 뭔가 분석적인 방법론이 구분되는 기분이니까, 너무 뭐라 하진 마세요. - 실은 데이터 마이닝은 데이터 내에서 패턴을 찾아내는 행위 그 자체이고, 그 도구로 통계, 머신러닝을 활용한다고 보면 되긴 합니다만 -

마지막으로 어떤 데이터들에 대해서 수학적인 접근 보다는 데이터를 통해 모델을 확정하고-또는 만들고-, 그 모델을 통해서 처음 보는 데이터에 대한 결과를 예측을 하는 것에 포커스를 맞추는 분야가 머신러닝(지도 학습)입니다. 그러니까 이쯤 되면 통계적인 데이터 분석이라기보다는 컴퓨터 공학 쪽에서 보는 데이터 분석이라고 보면 조금 더 낫겠습니다. 

이제까지는 분석 측면에서 어떤 방법을 사용하는지 어영부영 봤으니까, 일반적으로, 실제적으로 통계학에서 추론하는 방식에 대하여 더 자세하게 들여다보면 어떨까 합니다.  

통계학의 본질이 바로 "데이터로부터 의미를 찾는 것"이다.라는 말이 아무렇지도 않게 횡횡하는데, 이 말을 듣고 있으면 뭔가 창의적이고 탐구적으로 아름다운 것인가라는 생각이 들고, 도대체 어떤 의미를 찾는다는 것인가. 하는 의문이 남습니다. 맞는 말이긴 한데, 통계를 처음 접하는 이들은 이 과정을 체감하지 못하기 때문이죠. 의미를 찾기 위해 어떤 질문을 할까 정도는 매우 creative 한 과정이긴 하지만, 질문이 정해지면 그에 알맞은 분석 방법론을 적용하여 나온 결론을 통계적으로 검정을 하여 결과를 해석하고 판정하는 과정이라고 보아야 하겠습니다. 이때 통계학의 추론 통계가 매우 중요한 역할을 하게 되는데, "추론이라는 것은 이미 알고 있는 또는 확인된 정보로부터 논리적 결론을 도출하는 행위 또는 과정"이라는 측면의 의미에서 통계는 추론을 추정과 검정으로 나눌 수 있겠습니다. (참고로, 추정은 영어로 Estimation, 검정은 영어로 Testing으로 표현됩니다. )

추청의 목적은 모집단의 모수Parameter를 추정하는 것을 의미하는데, 점 추정과 구간 추정이 있죠. 점추정은 모집단의 모수Parameter를 한 개의 숫자로 추정하는 것이고, 구간 추정은 모수Parameter가 어느 구간에 있을 것이라고 예언하는 것입니다. - 이때 신뢰구간이라는 것이 출현했는데 - 이것이야 말로 확실히 틀리느니, 적당히 맞겠다는 뭐 그런 접근입니다. 이런 추정을 할 때, 점추정방법으로는 Maximum Likelyhood Estimation(최대우도추정법, MLE), Mean Sqaured Error(최소제곱추정법, MSE)라던가 Maximum a Posterior (최대사후확률, MAP)라던가 하는 좀 있어 보이는 용어들이 난무하게 되는데, 그건 또 그 나름대로의 사정이 있습니다. 

그러면 검정은요? 표본의 정보를 사용해서 우리가 세운 가설의 합당성 여부를 판정하는 과정을 의미하는데, 실은 정확한 말로는 Hypothesis Testing(가설검정)이라고 할 수 있습니다. 가설을 세우고 그 가설이 맞는지 Testing(검정)하는 것이고요. 검정을 미리 살펴보아서 다행이라고 생각합니다. 어쨌듯 한 걸음 물러서서 턱에 한쪽 손을 괴고 음음 하다 보니, 아 그런가 음음하는 결론에 이를 수 있습니다. 

여러 가지 이야기를 썼지만, 이런 걸 좋아하는 이성에게는 대체로 호감을 품을 수 있습니다.  

"일단, 모든 분석방법의 결과에는 가설검정방법을 통해서 분석 결과를 검정할 수 있습니다."

일단, (추정을 제외하고) 검정에 관련된 분석들인 차이분석과 관계 분석에 관련해서 어떤 분석 방법을 사용해야 하는지 한번 분류해 본다면, 차이 분석은 2개 이하의 그룹에 대한 차이 분석과 3개 이상의 그룹에 대한 차이 분석으로 나뉘는데, 2개 이하의 경우에는 t검정으로, 그룹이 3개 이상인 경우에는 분산분석ANOVA를 이용해서 결과를 F검정으로 확인합니다.
관계를 볼 때는 교차분석의 결과는 카이스퀘어검정, 상관분석의 결과는 자유도 n-2의 t검정, 회귀분석의 결과는 자유도 n-2의 t 검정과 F검정을 사용하여 분석 결과를 검정합니다. 이 이야기도 검정 이야기를 할 때로 미뤄두는 것이 더 이상 머리를 복잡하지 않게 하는 방법일 것 같습니다. 어떨 때 어떤 검정을 왜 사용하는가에 대한 이야기도 다룰 생각입니다. 

큰 그림을 머리속에 넣고서 하나씩 들여다보면 더 잘 이해할 수 있을 것이라는 생각에 이렇게 이야기를 늘어놓아 보았습니다만, 마치 뫼비우스의 띠처럼 자세한 것들을 하나하나 본 다음에 다시 이 이야기를 읽어야 이해가 되겠는 걸 하는 이상한 무한 루프 이야기가 된 것 같아, 무척이나 당황스럽습니다.만 그 또한 의미가 있지 않을까 생각합니다. 

 자, 중심극한정리 덕분에 가능해진 것이 바로 추론입니다. 추정과 검정인데요. 이 추정과 검정방법들이 모두 분석에 연결된다는 점 마음속 어딘가에 남겨두었으면 해요.

보통 회귀는 예측에도 쓰이는데, 왜 분석이라고 불릴까 생각해 보면, 분석을 통해서 모델을 만들어내고, 그 모델을 활용해서 예측하니까 그렇다고 봐야 하지 않을까. 합니다. 뭐, 조금 더 명확하게 두 개로 나누면 어떨까 하는데, 회귀분석과 회귀분석 활용? 정도로 하면 더 좋겠다고 생각합니다. - 사실 분석을 하고 나면 모델링을 할 수 있고, 모델링을 하고 나면 예측도 가능해지는 법이니까, 그래서 구분을 안 했나 하는 생각도 듭니다. -  한마디로 머신러닝으로 치면 분석은 학습, 예측은 예측이라고 보면 1:1 대응이 되는 것 아닐까 하고 생각하고 있습니다. 

머신러닝에 대해서 통계를 알아야 한다는 말을 많이 들어봤을 텐데, 그 이유는 통계의 회귀에서부터 시작된다고 보면 되는데, 머신러닝의 학습과 예측이 회귀의 아이디어와 꼭 닮았기 때문이라고 보면 되겠습니다. 회귀를 보면 알겠지만 통계의 꽃이라고 불리는데, 추정, 검정, 예측 등의 모든 통계적인 지식들이 동원되었기 때문입니다.

통계적 사고와 의사결정은 일반적인 결정적인 의사결정과 많이 달라 보통 그런 식으로 사고하는데 어려움을 겪습니다. 예를 들면, 지난달에 우리 반에서 "공부 잘하는 법"이라는 책을 공구해서 독서토론회를 했더니, 지난달에 비해서 이번 달 성적이 10점 올랐다. 그러면 "공부 잘하는 법"책을 사서 성공적이었어.라고 판단할 것인가, 아니면 "공부 잘하는 법"책을 읽어서 우연히 성적이 10점 오를 가능성(확률)은 얼마인가?라고 판단할 것인가 하는 문제에 봉착합니다. 당연히 후자가 통계학적인 접근이긴 한데, 이렇게 접근하기 쉽지는 않습니다. 이것이 검정을 통한 분석방법인데, 점점 더 익숙해지지 않을까 기대합니다. 

데이터를 검정을 통해 분석을 시작하게 될 때, 도저히 손으로는 풀 수가 없어서 통계 소프트웨어의 도움을 받을 수 밖에 없습니다. 데이터를 수집하고, 수집한 데이터를 넣고 통계 소프트웨어의 검정을 실행하면, 검정 결과가 튀어나옵니다. 어, 이렇게 간단해도 되는 것인가? 할 정도인데, 불안해하지 않고 튀어나온 수치를 해석할 수 있는 수준이 뭐 대단한 것이냐 하면, 그렇지도 않습니다. 그러니까. 통계분석을 할 때는 말만 많지 생각보다 많이 간단하니까 기대해 주세요.

다시 한번 누군가는 동의하지 않을 수 있지만, 빅데이터가 유행하면서 데이터마이닝이라는 용어가 난무하게 되는데, 알고리즘을 통해서 데이터 속의 패턴을 알아내는 것으로써  보통 비지도 학습에서 하는 것들이 데이터 마이닝이라고 보면 어떨까 합니다. 예를 들면, 
1) 군집화(Clustering): 수집한 데이터들을 분리하여 유사한것들끼리 묶이도록 하는 것
2) 요약 : 방대한 데이터를 핵심적인 부분만 축약하는 것 등등 입니다. 
지금은 그렇게 분류하면 마음 편할 것 같아서 그렇게 하긴 했는데, 실은 데이터마이닝 자체는 거의 분석이라는 말과 동일합니다. 데이터에서 의미를 찾아내는 것이니까요. 어떻게 보면 머신러닝을 활용한 데이터분석 정도로 하면 더 나을지 모르겠습니다. 고양이가 제멋대로 이야기한 것입니다. 저는 모릅니다. 

데이터마이닝은 관찰한 데이터에서 현상 및 특성을 발견하는 것이 목적이고, 머신러닝은 획득한 데이터를 통해 기계학습 모델을 학습을 시킨 후 새로운 데이터에 대한 예측값을 알아내는 데 것이 목적인 것이 차이점이라면 차이점이지 않을까 합니다.

데이터분석에 대하여 이런 말이 있는데요, "변수의 척도에 따라 적용해야 되는 모형이 정해집니다. 모형은 우리가 정하는 것이 아닌, 데이터가 정해줍니다."라는 말이 있는데, 사실 이제까지 한 말에 비추어 이야기한다면, 실무적으로는 맞는 말이면서도 조금은 슬픈 이야기가 아닐 수 없다고 생각합니다. 뭔가 분석이라면 creative한 뭐 그런 이야기라고 생각했지만, 이미 정해진 뭐 그런 것이 있다고 하니, 실망이 이만저만이 아닙니다. 이미 정해져 있다고 하면 뭔가 암기를 해야 하나 싶지만, 그런 건 정말 하기 싫으니까, 이제부터 하는 이야기들은 암기가 아니라 조금은 원리가 있다는 느낌으로 이야기해 볼까 합니다. 

친절한 데이터 사이언스 강좌 글 전체 목차 (정주행 링크) -



댓글





친절한 데이터 사이언스 강좌 글 전체 목차 (정주행 링크) -