데이터 분석, BigData와 통계

데이터 분석에 대한 내용을 다루기로 마음먹고 본격적으로 공부를 하면 가장 먼저 부딪히게 되는 단어가 바로 “통계”일 것입니다.

데이터를 다루는 영역의 DX를 논함에 있어서 BigData, 머신러닝, 딥러닝 등과 같은 여러 기술들이 꾸준히 언급되고 사용되지만, 그 근간에는 역시 통계 가 있음을 그 누구도 부인하지는 못할것 같습니다.

​실제 데이터를 다루면서 통계와 관련하여 구체적인 수식을 꿰뚫고 있지는 못하더라도 기본적인 개념, 흐름은 이해 해야만 의미 있는 결론을 도출할 수 있습니다.

통계가 무엇이고, 데이터 분석에 있어서의 통계는 어떤 쓸모가 있는지, 우리 업무에서 어떤 의미를 가질 수 있는지를 제가 이해한 수준에서 가볍게 알아보고자 합니다.

(통계 전문가의 관점이 아니라, 통계에 관심이 많은 한 직장인이 현업에 활용하는 관점에서 정리하다 보니 다소 부정확한 표현이나 오류가 있을 수 있습니다.)


1. 통계란?

통계와 관련되어 있는 전문 서적을 보면 다르게 정의하고, 많은 방법으로 설명이 가능하겠지만, 저는 통계를 이렇게 정의하고 싶습니다.

일부 데이터(샘플)로 전체의 모습을 추측하는 기술

예를 들어 생각해 보겠습니다.

어떤 학교 학생들의 키를 알고자 한다고 했을 때, 가장 좋은 방법은 전 학생의 키를 하나하나 재 보는 것이겠지만, 모든 학생의 키를 재는 것은 상당히 어려운 일입니다. 시간도 많이 걸리고, 경우에 따라서는 불가능하기도 합니다. 휴학을 하거나 해외로 교환학생으로 가능 경우 등 측정이 불가능한 경우도 발생할 수 있기 때문입니다.

​이때 모든 학생에 대한 키를 재는 것이 아니라 일부 학생들의 키만 측정하고 그 결과를 통해 전체 학생에 대한 키의 분포를 추측하한다면 어떨까요?

물론 정확한 값을 뽑아 낼 수는 없겠지만, 개략적인 데이터의 모습을 추측할 수는 있을 것입니다.

이와 같은 사례가 통계를 활용하는 한 예가 될 듯 합니다.

이와 같은 통계는 실제 상황에서 어떤식으로 활용되는지 살펴 보겠습니다.


2. 통계의 쓸모 1 – 현재의 수준을 측정, 비교

통계의 쓸모 그 첫번째로 다른 두 집단이 있을때 그 전체 데이터의 모습이 차이가 있는지를 추측하는데 사용할 수 있습니다.

그리고, 그 결과를 비교 함으로써 두 집단의 차이점이 실제 의미가 있는 차이 인지를 분석할 수 있습니다.

​예를 들어 살펴 보겠습니다.

​”우유를 마시는 학생이 우유를 마시지 않는 학생에 비하여 키가 더 크다.”

라고 가정을 하고, 이 사실이 맞는지를 확인해 보고자 한다고 하면

​1) 우유를 마시는 학생 vs. 우유를 마시지 않는 학생 의 2개 그룹을 나누고
2) 각 그룹에서 Sample 인원을 추출하여 키를 측정하고
3) 각 그룹별 키를 각각 통계 분석을 해 보는 것입니다.

​간단한 통계 분석을 해 보면 당장 평균값을 구해서 예상 되는 차이값을 구할 수 있습니다.

여기서 한발 더 나아가 그 차이가 유의미한 수준인지까지 판단해 볼수 있게 도와주는 것이 통계의 첫번째 쓸모라고 할 수 있겠습니다.

실제 이와 같은 분석은 오늘날 기업에서도 많이 사용됩니다.

의약품의 효과를 검증하는 경우나 홈페이지의 디자인 변경효과를 테스트하는 경우가 대표적인 예라고 할 수 있습니다.

신약이 개발 되었을때 약의 효능을 확인하기 위한 임상 실험 중 위약 대조라는 방법이 있습니다.

실험 방법은 다음과 같습니다.

1) 임의로 2개의 그룹으로 나누고
2) 한 그룹에는 테스트 하기위한 임상 실험중인 약을 투여
3) 다른 그룹에는 아무 효과가 없는 가짜 약을 투여
4) 그 결과를 통계적으로 분석

​※ 아무 효과가 없는 가짜약을 활용하는 이유 :

개발된 신약이 실제로 효과가 없다 하더라도, 치료를 받는 사람들은 약을 먹었다는 심리적인 이유로 증세가 호전되는 현상이 있는데, 이를 플라시보 효과라고 합니다.

신약이 실제 효과가 있다면, 최소한 이 플라시보 효과보다는 높은 수준의 치료 효과가 있어야 하므로, 아무 약을 투여하지 않은 그룹과 비교하는 것이 아니라 가짜약을 투여한 그룹과 비교를 합니다.

다른 예로 온라인 서비스 상에서 이루어지는 “A/B 테스트”를 예로 들 수 있습니다.

홈페이지 개편을 하거나, 마케팅 이벤트를 하는 등이 같은 온라인 서비스에서 사용자에게 제공하는 구성에 변경이 발생할 경우가 있습니다.

이때, 어떤 것이 보다 효과가 있는지를 알아보기 위한 대표적인 테스트가 이 “A/B 테스트”입니다.

​A안과 B안의 2가지 페이지를 구성해 두고 온라인 사이트에 접속한 사람을 랜덤하게 A/B 페이지로 접속하게 나눈 다음 사용자의 반응을 살펴보는 방식입니다.

우리가 인터넷 상에서 어떤 서비스를 활용하는 중에 어느 순간 보면 같은 주소로 접속 했는데, 보이는 화면이 다른경우가 있습니다.

이 경우가 나도 모르는 사이에 업체에서 진행하는 A/B 테스트에 개입한 케이스라고 볼 수 있습니다.

이 A/B 테스트의 분석 결과를 분석하여 어떤 페이지가 상대적으로 개선 효과가 있는지, 그리고, 효과가 있다면 그 차이는 어느 정도인지에 대한 분석을 하는 데도 사용됩니다.

이와 같이 어떤 중요한 변화 요인을 두고 그 요인에 의한 효과가 진짜 있는지, 있다면 얼마나 큰 효과가 있는지를 알아보는데 통계는 매우 유용하게 활용된다고 할 수 있겠습니다.


3. 통계의 쓸모 2 – 영향 추측

통계는 일부 데이터로 전체 데이터의 모습을 추측하는 기술이라고 했습니다.

이 추측의 범위에는 여러 인자가 복합적으로 영향을 있을 경우에도 그 상호 연관성에 대한 내용을 포함하여 추측하는 것을 포함하고 있습니다.

여러 인자의 상호 영향을 분석하여 추측할 수 있다는 점은 크게 보면 3가지 방향의 활용처가 있을듯 합니다.

​1) 추측을 통한 결과 예측하기
2) 추측을 통해 알게된 모델로 개선의 방향잡기
3) 여러 인자에 대한 보다 효과적인 실험 설계하기

대학에서 전공을 살펴보면 통계학은 그렇게 수학을 많이 활용하는 숫자 친화적인 전공임에도 불구하고 학교에 따라서는 문과로 분류된 학교가 많습니다.

왜 그럴까 하는 생각을 해 봤는데, 제가 내린 결론은 “자연 과학에서는 통계 없이도 할 수 있는 연구가 꽤 있지만, 사회 과학에서는 통계가 없으면 연구 자체가 불가능에 가깝다” 였습니다.

즉, 쓸모에 의해 문과로 분류된 케이스가 있었다고 생각됩니다.

자연 과학에서는 어떤 실험을 진행할 때 실험 결과에 영향을 주는 여러가지 요소들을 내 마음대로 정하고, 통제할 수 있습니다.

예를 들어 어떤 조건에서 지은 밥이 가장 맛있는가? 라는 실험을 한다고 가정하겠습니다.

쌀의 양을 얼마로 할 것인지, 물의 양을 얼마로 할 것인지, 불을 어느정도의 세기로 할 것인지, 시간을 얼마나 가져갈 것인지 등의 밥맛에 영향을 줄 수 있는 여러 인자를 내가 정하고 통제하여 실험할 수 있습니다.

반면 사회 과학에서는 이와 같은 영향을 주는 요소를 내 마음대로 통제하는 실험이 불가능한 경우가 아주, 몹시, 매우 많습니다.

예를 들어 교육수준이 높을 수록 수입이 더 클 것이다 라는 가설을 세우고 이에 대해서 확인을 하고 싶다고 했을 경우를 생각해 보겠습니다.

이때, 교육 수준이라는 변수에 대한 통제를 위해서 누군가는 교육을 더 받게 하고 누군가는 교육을 더 받을수 없게 한다는 등의 방식의 통제가 불가능합니다.

뿐만 아니라 교육 수준이 유사한 수준이라고 할지라도 교육 수준 이외의 변수로 인해 수입에 큰 영향을 줄 수 있는 요소가 있어서 이를 명확하게 분리하여 분석을 하는 것은 불가능합니다.

부모님의 재력, 가정 환경 등의 환경 요인을 인위적으로 통제할 수 없기 때문입니다.

따라서 이와 같은 영향을 주는 여러가지 인자에 대해서 취할 수 있는 방법은 아래의 두가지중 하나가 됩니다.

1) 영향을 주는 다른 인자가 없는 대상 집단을 찾거나
2) 여러가지 인자까지 포함하여 상호 연관성까지 고려하여 분석을 하거나

​위의 두가지중에서는 1)번에 해당하는 케이스가 더 좋기는 하겠지만, 그와 같은 케이스는… 정말 신이 도와주신 경우가 아닌 다음에야 찾기가 어렵습니다.

결국 영향을 줄 수 있는 다른 요소들의 상호 연관성까지 고려된 분석을 진행해야 되는데, 이때는 통계의 힘을 빌릴 수 밖에 없습니다.

통계 기법을 이용하여 이와 같은 여러 변수에 대한 상호 영향까지 반영된 관계식을 구하면 그 식을 통하여 결과를 예측할 수도 있습니다.

이와 같은 관계식을 구하면 어떤 용도로 사용할 수 있을까요?

1) 추측을 통한 결과 예측하기

관계식을 구하게 되면 우리는 영향을 주는 인자의 값을 통해 그 결과를 예측할 수 있습니다.

​요즘 자주 듣는 머신러닝이나 딥러닝의 기본적인 접근 방법 또한 크게 다르지는 않습니다.

머신러닝의 경우 관계식이라기 보다는 모델링이라는 표현을 하지만, 결국 활용되는 방법 면에서는 유사하다고 볼 수 있습니다.

자율 주행을 생각해 볼경우 수많은 센서(카메라, 라이다, 적외선 센서 등)에서 인식한 수많은 정보를 기반으로하여, 잘 만들어진 모델을 통해 사물과 현재 상황을 인식하고, 주행에 필요한 필요한 정보를 제공하는데 활용된다고 보면 되겠습니다.

2) 추측을 통해 알게 된 모델로 개선 방향잡기

모델링을 통해 의미가 있는 관계식을 구할 수 있다면 우리가 원하는 방향으로 변화가 일어나게 개선의 기회를 찾을 수 있습니다.

​실제 제조업에서 생산 현장을 관리하다 보면 알 수 없는 불량률 증가의 현상이 발생하기도 합니다. 그도 그럴것이 생산 현장에서 품질에 영향을 줄 수 있는 요소는 너무나 많습니다.

온도, 습도, 먼지, 작업조, 부품, 날씨, 작업 시간, 기계 내부의 여러 특성 등등…

그나마, 이미 알려진 불량의 원인이 있을 경우에는 비교적 빨리 개선을 할 수 있겠지만 새롭게 갑자기 발생한 불량이라면 그 원인을 찾아가는 과정은 지독히 험난할 수 밖에 없습니다.

이럴 때 활용할 수 있는 분석 방법 중 하나가 통계의 힘을 빌리는 것입니다.

이미 알고 있는 원인 요인에서 부터 실제 불량이 발생했는지를 분석하는 방식으로 접근하는 것이 아니라, 수집할 수 있는 데이터는 모두 모아서 통계 모델링을 통해 상관관계가 높은 요인을 찾아내는 것이 그 방법입니다.

3) 여러 인자에 대한 보다 효과적인 실험 설계하기

앞의 2가지 방법은 이미 발생한 사건에 대하여 데이터를 모으고 분석하는 어떻게 보면 소극적인 데이터 접근 방법이었다면, 이번에 이야기할 내용은 데이터를 어떻게 만들 것인지에 대한 고민부터 시작하는 적극적인 방법이라고 할 수 있습니다.

​자연 과학의 영역의 경우 아무래도 사회 과학의 영역에 비해서 실험에서의 여러가지 변수를 통제할 수는 있지만, 그 통제가 쉽지만은 않고, 또 통제해야 하는 변수가 너무 많을 수도 있습니다.

무턱대고 실험에 영향을 줄 수 있는 여러 변수를 모두 고려한 실험을 설계했다가는 끝없는 실험의 늪에 빠져서 투자는 투자대로 일어나고 시간은 시간대로 쓰고서도 성과는 얻지 못하는 일이 발생할 수 있습니다.

​예를 들어 X라는 제품을 만드는데 영향을 주는 각 요인에 따른 영향을 분석해 본다고 하겠습니다.

1) α / β / γ 라는 3개의 부품이 필요하고
2) 부품을 만드는 제조사는 A / B / C의 3개 회사가 있고
3) 제품을 만드는 온도 조건에 민감하기 때문에 온도 조건을 21℃, 23℃, 25℃의 3가지 경우에 대해 확인하고
4) 3개의 부품을 결합하는 순서에 따라 결과가 달라질 수 있기 때문에 결합 순서별로 실험을 해야 한다

라는 경우를 생각해 보겠습니다.

​각각의 경우를 따져 보면 만들어야 하는 샘플의 숫자는 다음과 같이 계산할 수 있습니다.

2)의 조건에 따라 각 부품의 제조사별 조합을 따졌을때 27 종류의 조합
3)의 조건에 따라 온도별 실험을 한다면 3가지 종류의 조합
4)의 조건에 따라 결합 순서는 6가지 종류의 조합

※ 상기 샘플을 만들때 우연히 잘 만들어지거나 잘못될 경우가 있으므로 각각의 실험 케이스는 5번

이들 조건을 모두 조합하면, → 27 * 3 * 6 * 5 = 2,430 로 위의 조건들에 대한 각각의 경우를 분석하기 위해서는 최소한 실험을 2,430번은 실행해야 한다는 결론이 나옵니다.

여기에 숙련공과 비숙련공, 사용하는 기구의 조건 등에 의한 차이가 품질에 영향을 주어 실험 변수가 더해지면, 현상을 분석하기 위한 필요 실험 횟수는 기하급수적으로 늘어나게 됩니다.

​실제 우리가 원하는 모든 영향인자를 분석하기 위해서는 모든 경우의 수에 대한 실험을 해야 하겠지만, 이를 조금이라도 줄이고 최적화 할 수 있는 방법을 찾을 필요가 있습니다.

​바로 여기에도 활용이 가능한 기술이 통계입니다.

이 글의 제일 처음에 이야기 했던 것처럼 통계라는 학문은 일부 데이터(샘플)를 통해 전체의 모습을 추측하는 기술입니다. 그렇다면, 전체의 모습을 가장 잘 추측하게 할 수 있는, 샘플 크기는 크지 않으면서 정확도는 높게 전체를 파악할 수 있는 Golden 샘플을 추려낼 수도 있지 않을까요?

​이런 관점에서 통계학을 역산으로 이용한 방법이 실험 계획법 (Design of experiments)라고 할 수 있겠습니다.


요약.

​1. 통계학은 일부 데이터(샘플)로 전체의 모습을 추측하는 기술이다

2. 통계의 대표적인 쓸모는 현재의 수준을 측정 & 비교 / 여러 인자의 영향을 추측 이다

3. 위의 쓸모에 따른 실질적인 사용처는

1) 개선 효능 & 유효성 검증
2) 추측을 통한 결과 예측
3) 추측을 통해 알게된 모델로 개선의 방향 잡기
4) 여러 인자에 대한 보다 효과적인 실험 설계하기 이다.

※ 상기 내용 이외의 여러 쓸모가 있을 수 있다.