[빅데이터 기초4] - 빅데이터 분석 방법론1 - 통계분석 (요약통계,상관분석,회귀분석:선형회귀-Linear regression)

-들어가며

 

 이번 포스팅에서는 빅데이터 기초3 포스팅에서 언급된 저장방법들로 저장되어진 데이터들을

분석하는 다양한 방법론 중 통계분석방법에 대해서 알아보도록 하겠습니다.

그리고 이번 포스팅도 마찬가지로 방법론에 대한 것이기 때문에 자세하게 다루지는 않겠습니다.

-  빅데이터 분석에 대해서

분석 방법론에 대해서 말하기전에 우선적으로 분석의 목적은 무엇이 되어야하는지 그리고 분석과정은 어떻게 되는지에 대해서 개괄적으로 짚고 넘어가도록 하겠습니다.

1. 데이터 분석의 목적설정

우리는 데이터 분석의 목적에 따라서 어떤 데이터를 어떻게 분석하냐가 결정되기 때문에

기본적으로 데이터 분석의 목적을 분명히하고 분석작업을 수행하는 것이 기본입니다.

그렇다면 데이터 분석의 목적은 어떤 것들이 될 수 있을까요?

우리가 어떤 조직의 입장이 되어 생각한다면 결국은 비즈니스 이슈를 해결하기 위해서 분석을 하게 되겠죠?

공공기관도 마찬가지 일겁니다. 예를 들어, "시군별 노인복지시설을 얼마만큼 확장시켜야 하는가?" 라는

문제 해결사항 즉, 이슈가 존재하면 그 이슈를 해결하기 위해서 뭐... 시군별 70세 이상의 노인인구, 시군별 70세 연령별 소득수준 등등 여러데이터를 활용해서 이슈를 해결해보려고 할 수 있을텐데요.

어쨌든, 결국은 데이터분석의 목적은 결국 문제해결을 통해서 "더 나은 상태"가 되어야한다는 것이죠.

지금까지 제가 책에서 읽었던 내용을 빌려서 말하자면 결국 문제 해결이라는 것은 의사결정을 통해서 해결이 되는 부분이고 분석이란 결국, "의사결정을 최적하기 위함"이라고 볼 수 있겠습니다.

이러한 빅데이터 분석의 목적, 가치 등에 대해서는 일전에 빅데이터 기초-번외 포스팅에서 소개해드린 내용을 살펴보시면 더욱 자세하게 설명되어 있습니다.

2. 데이터 분석의 과정

  첫번재는 데이터를 수집하는 것입니다. 통계학에선 '샘플링'이라고 하는데 우리가 이전 빅데이터 수집기술에서 다뤘던 내용들의 기술들로 수집한 데이터들을 수집하는 것이 가장 첫번째 입니다. 

  더 나아가서는 통계학에서는 원하는 데이터를 얻기 위해서는 설문조사를 통해서 표본을 획득하는데요,

예를 들어, 문재인 대통령의 지지율을 조사하기 위해서 우리나라 5천100만명에게 일일이 조사, 즉 전수조사를 하는 것은 시간도 부족하고 돈도 많이 들어가니까 지역,연령 등을 기준으로 표본을 뽑습니다. 그 표본 데이터를 가지고 모집단에 대해서 설명하려는 것이 기본적인 통계학의 목적입니다.

 따라서 표본이 모집단을 잘 대표할 수 있어야 하기 때문에 적절한 표본을 추출하는 방법이 중요하겠죠?

이 점이 궁금하시다면 샘플링 방법에 대해서 공부를 하시면되는데요. 조사방법론에 관한 서적을 살펴보시면 이러한 표본추출법에 대해서 자세하게 다루고 있을겁니다.

 자 어찌저찌해서 데이터를 모았으면, 두번째는 데이터 전처리입니다. 분석방법에 따라서 명목형 데이터를 수치형으로 바꿔줘야하는 경우, 예를 들어, 남/여로 구분되는 성별이란 변수를 0/1로 표현한다던지

결측값(데이터가 비어있는)을 처리해줘야 한다던지 이상치가 존재한다던지 등등 현실의 데이터들은 다듬어지지 않고 내입맛대로 도출된 데이터가 아니기 때문에 이러한 적절한 전처리 과정을 거쳐줘야합니다.

  마지막 세번째는 분석 방법 선택입니다. 데이터 유형에따라, 데이터 분석의 목적에 따라 등등 여러점을 고려하여 적절한 분석 방법을 선택해야합니다. 이러한 분석 방법을 선택할 수 있는 기준을 하나 제시해보자면 다음과 같습니다.

1. 그룹비교 : 어떤 그룹과 그룹과의 비교를 하기위해

2. 자료추이 : 데이터의 전체적인 변화과정이나 모습을 알고 싶을 때

3. 자료예측 : 아직 일어나지 않은 사건에 대한 데이터를 알고 싶을 때

이런 카테고리별로 적절한 분석 방법이나 모델을 찾아서 분석을 진행해야합니다.

그럼 이제 본격적으로 분석 방법론을 하나하나씩 살펴보도록 하겠습니다.

2.1 통계 분석

혹시 '#통계 분석'을 보자마자 실망하셨거나 벌써부터 읽기가 싫어졌다거나 하시나요?

하지만 분석과 통계는 한쌍의 개념인지라 분석을 말하는데 통계를 빼먹고 말할 수 없습니다.

더불어, 빅데이터도 결국 데이터라는 것을 유념해주세요.

사실 빅데이터 분석이라고 기존의 데이터분석과 크게 다르다고 생각하시면 매우곤란합니다.

기존의 데이터 분석방법들을 기반으로 발전한 것이지 절대 전혀 다른차원의 방법이라고 생각하시면 안됩니다.

그리고 이건 개인적인건데, 저는 빅데이터라는 단어자체를 별로 좋아하지 않습니다. 제가 읽었던책들의 영향을 받은 것도 있고 사실 빅데이터란 말은 많은 사람들에게 부풀려진 단어, 많은 사람들이 오해하고 있는 단어이기 때문이죠.

어쨌든, 기본적으로 빅데이터를 공부하기로 하셨다면 통계적인 지식은 어느정도 필수 사항입니다.

(그래서 저도 통계학과가아니지만 열심히 공부중... )

자! #통계분석 딱 해놓고 통계 분석에 대해서 줄줄줄 써내려가면 두꺼운 전공책 양이 넘어가기 때문에

빅데이터라는 단어가 떠오르면서 중요하다고 생각되어지는 통계 기법을 위주로 설명드리도록 하겠습니다.

그리고 다른 분석 기법들 또한 전부 통계적인 내용이 들어가 있으니 그 점 참고하시기를 바라겠습니다!

#기술통계 분석

기술통계 이는 통계의 테크니컬한 기술을 말하는 것이 아니라

Data들을 요약, 정리하는, Describe하는 통계를 기술통계라고 합니다.

기술통계는 어떠한 빅데이터의 어떠한 분석기법을 쓰던간에 무조건, 그리고 가장 기본적으로 수행되어야하는

분석입니다. 기초적인 내용이지만 중요한내용이기도 하니 꼭 중점적으로 공부하셨으면 바랍니다.

기술통계에는 다소 간단한 자료의 시각화내용도 있으니 기술통계만 잘해도 자료의 시각화가 어느정도 가능합니다.

1. 도수분포표(빈도표 :Frequency table) : 특정 구간에 속하는 자료의 개수를 나타내는 표

도수분포표, 또는 빈도표라고하여 자료(data)분표를 몇개의 구간으로 나누고 각 구간에 속한 자료가 몇개인지 정리한 표입니다.

도수분포표

2. 히스토그램(histogram) : 도수 분포표를 시각적으로 표현한 막대 그래프

도수분포표의 구간이 여러개라면 도수분포표를 보아도 가시적으로 보이지 않아 파악이 잘되지 않습니다.

그럴때 도수분포표를 눈에 확들어오게 해주는 녀석이 바로 히스토그램입니다.

X축은 구간을 나타내고, Y축은 빈도수를나타냅니다.

예를 들어, A대학교 학생 300명의 키를 조사하여 다음 그림과 같은 300개의 데이터가 있다고 가정합시다.

이를 도수분포표로 나타내면

이렇듯 한눈에 가시적으로 들어오지 않기 때문에 히스토그램을 그려보겠습니다.

히스토그램

보이시다시피 도수분포표보다 훨씬더 깔끔하고 확 데이터가 한눈에 보이시는게 느껴지실거라 생각합니다.

3. 요약 통계

자료를 보기좋게 정리했으면 이제 자료의 요약통계량을 확인할 필요가 있습니다.

요약 통계는 크게 중심화경향, 산포도, 분포형태 및 대칭정도 이 3가지를 확인하는 것을 말합니다.

*중심화경향

-평균값 : 일상생활에서도 너무 익숙하게 쓰는 평균값을 말합니다. 이건 따로 설명은 하지 않겠습니다.

-최빈값 : 수집한 데이터 중 그 빈도가 가장 많이 나타난 값을 말합니다.

-중앙값 : 자료를 크기순으로 정렬했을때, 중앙에 위치한 값을 말합니다.

-기하평균 : n개의 자료값(단 n>0)을 모두 곱한 것의 n제곱근을 말합니다. (예를 들어 2와8의 기하평균은 4입니다)

 

*산포도

-분산 : 편차 제곱의 평균으로 관측값들이 얼마나 들쭉날쭉한가를 파악할 수 있습니다.

-표준편차 : 분산에 루트를 취한값입니다.

-변동계수 : 표준편차를 평균으로 나눈값입니다.

*분포형태와 대칭정도

-왜도 : 자료들의 분포가 좌우로 치우친 정도를 말합니다.

-첨도 : 자료들의 분포가 얼마나 한곳에 몰렸는지, 즉 그래프가 얼마나 뾰족한지를 알 수 있습니다.

Tip : 편차란 관측값이 모집단의 평균에서 얼마나 떨어져 있는가? 라는 의미입니다. 예를 들어 A학교 30명의 학생들의 영어 점수 평균이 60점이고 David라는 1등 학생의 성적이 95점이라면 편차는 35입니다.

이렇게 각각의 학생들의 편차에다가 제곱을 취해서 평균을 낸 것이 분산입니다.

2.2 상관분석과 회귀분석

사실 상관분석따로 회귀분석 따로 설명하려고 했었으나 두개를 같이 설명하는게 더좋을 것 같아서 묶어봤는데요

우선 상관분석, 회귀분석 모두 '연속형 변수'에 대해서 다루는 것이므로 데이터가 수치형자료여야 한다는 점!

(물론, 상관분석에서 연속형 변수가 아닌 명목형 data를 상관분석하는 방법도 소개해드립니다. 하지만 기본적으로 '연속형 변수'이어야 한다는점을 기억해주세요)

여기서 잠깐!

우리가 맨날 Data, 데이타 말하는데 이 데이터를 좀 더 명확하게 인식할 필요가 있습니다.

자료(변수)의 종류

먼저 범주형 자료는 관측결과가 몇개의 범주(Categoty)의 형태로 나타나는 자료를 말합니다.

또 그중에서 성별,혈액형 등 범주안에서 순서의 의미가 없는 것들이 명목형자료

"매우좋다", "좋다", "보통이다","싫다","매우싫다" 이런 선호도조사 선택지들로 모은 자료는 범주간에 순위가 있기 때문에 순위형자료라고합니다.

다음 수치형자료는 관측된 값이 수치로 측정되는 자료를 말하며 양적자료라고도 합니다.

이런 수치형자료는 이산형과 연속형으로 나뉘는데 관측되는 값의 성질에 따라서

키, 몸무게, 온도 처럼 값이 셀수없는(즉, 연속적인 :키는 세는게아니죠 재는거죠)​ 자료를 연속형자료라고하며

교통사고 건수, 지우개 개수, 사람 명수 등 셀수있는(즉, 이산적인:사람명수는 재는게 아니죠 세는거죠)자료를 이산형자료라고 합니다.

그럼 다시돌아와서...

상관분석이란 "두 변수간의 관계의 정도"만을 분석하는 것을 말합니다. 그리고

회귀 분석은 이 두 변수간의 관계를 설명하는 식을 찾는, 즉 회귀식을 찾는 것입니다.

상관분석

  먼저 상관분석이란 두 변수간의 관계의 정도를 분석하는 것이라고 했는데

만약 변수가 2개 이상이라면 "다중상관분석"이라고 하고 두개 변수만을 분석하면 "단순상관분석"이라고합니다.

다.

*상관계수 : 변수간의 관계의 정도와 방향을 하나의 수치로 요약한 지수입니다.

상관계수는 -1.00 ~에서 +1.00 사이의 값을 가집니다.

상관계수는 다음 표와 같은 의미를 지닙니다. 하지만 상관계수가 0이라고 해서 "선형의상관관계가 전혀없다" 라는 뜻이지 두변수가 "전혀 상관관계가 없다"는 의미는 아닙니다.

즉 선형이 아닌 비선형으로 접근한다면 높은 상관관계를 나타낼 수 도 있다는 의미입니다.

또한 상관관계는 인과관계가 아닐 수 도있다는 것입니다. 두 변수가 선형관계를 가졌다고 해서 두 변수가 서로를 설명해준다고 보는 것은 적절치 않다라는 뜻이죠.

이러한 상관분석은 가지고 있는 Data의 형태에 따라 종류가 다양해집니다.

피어슨(Pearson)의 상관관계, 스피어만(Spearman)의 상관관계, 켄달의 타우(Kendall'sTau), point-biserial correlation coefficient, 파이 계수(Phi coefficient) 등등 여러가지 상관계수가 존재합니다.

각 상관계수를 증명하는 과정이나 계산식을 보기보단 어느 상황에서 어떤 상관계수를 사용하는지만 보도록 합니다.

1. 연속형 & 연속형 (모수적) = 피어슨 상관계수

연속형자료와 연속형자료간의 선형관계를 나타내야 할때는 피어슨 상관계수를 사용합니다.

다만 피어슨 상관계수는 두 변수가 모두 정규성을 따른다는 가정이 필요하기 때문에 모수적 방법이라고도 합니다.

2. 연속형 & 연속형 자료 (비모수적) = 스피어만 상관계수

만약 두 연속형 변수가 정규성을 따르지 않는 경우, 피어슨의 상관계수 대신 스피어만 상관계수를 이용합니다.

스피어만 순위 상관계수는 값에 순위를매겨 그 순위에 대해 상관계수 값을 구하기 때문에 비모수적 방법입니다.

*모수적? 비모수적?

보통 통계에서 자료(data)가 30개가 넘어가면, (즉 통계적으로 대표본이라고 할 수 있을 때..) 정규분포를 따른다고 가정을 합니다. (중심극한정리에 의해서말이죠.... 중심극한정리는 네이버지식백과사전에도 나옵니다)

이렇게 정규분포를 따르는 것을 정규성을 따른다고 말합니다.

3. 명목형(이분형) & 명목형(이분형) - 파이 계수(Phi coefficient)

두 개의 변수가 모두 binary 변수일 때(예를 들변 성별을 0,1로) 두 변수간의 계수 값을 구할 수 있습니다.

4. 명목형(이분형) & 연속형 - point-biserial correlation coefficient

한 변수는 있음/없음, 네/아니오, 남자/여자와 같은 binary(이분형) 변수(data)이고 하나는 연속형인 경우에도 상관계수를 구할 수 있습니다. 이 때 상관계수의 이름을 point-biserial correlation coefficient라고 합니다.

2.3 회귀 분석

  위에서 말씀 드렸듯이 회귀분석은 두변수 간의 관계를 식으로 표현하는 회귀식을 찾는 방법을 말합니다.

회귀분석은 거의 모든 것의 기초이므로 정확하게 알아두는 것이 좋습니다.

독립변수(또는 설명변수라고도함)가 종속변수(예측변수,결과변수라고도함)에 미치는 영향력의 크기를 파악하기 위한 통계적 기법입니다.

  회귀분석은 상관분석과는 달리 관측 변수간의 인과관계를 전제로 하고 있습니다. 이는 종속변수의 변화는 독립변수의 변화 때문에 발생한다는 사실을 뒷받침할 만한 논리적인 근거가 있어야만 합니다.

  그렇지 않으면 회귀분석은 단지 통계적 계산이 지나지 않게 됩니다. 왜냐면 아무런 인과관계가 없는 자료라 할지라도 통계적으로 얼마든지 회귀식을 산출해 낼 수 있기 때문입니다.

  회귀분석을 정의하자면 다음과 같이 정리할 수 있습니다.

 

회귀분석이란 변수간의 관련성을 규명하기 위해서 어떤 수학적 모형을 가정하고,

이 모형을 측정된 변수들의 데이터로부터 추정하는 통계적인 방법으로서 독립변수의 값에 의하여 종속변수의 값을 예측하기 위함이다.

상관분석과 달리 회귀분석은 인과관계를 본다고 했는데, 여기에 덧붙여 수학적 모형이 있다는점과 종속변수의 값을 예측한다는 점이 다릅니다.

선형회귀 : Linear regression

  회귀분석모형 중 가장 간단한 것은 하나의 독립변수, 하나의 종속변수의 관계를 분석하는 것인데

이를 단순선형회귀분석(Linear regression Analysis) 라고 하며 만약 독립변수가 여러개일 경우에는

다중선형회귀분석(Multiple linear regression Analysis)라고 합니다.

  회귀분석을 하기 위해서는 먼저 두 변수 간에 어떤 관계가 있는가를 개략적으로나마 파악해야합니다.

앞서 말씀드렸던 기술통계가 선행되었다면 이미 알고있겠죠?

  자 하나의 예를 들어보도록 하겠습니다.

아버지의 키가 크면 아들의 키도 클지, 즉 아버지의 키가 아들의 키에 영향을 주는지에 대한 상관관계를 알아보려합니다.

그리고 우리는 이를 위해 300명의 아버지와 아들의 키를 조사했다고 가정합시다.

이제 이문제를 해결하기 위한 회귀식의 변수들을 설정하자면

아버지의 키 =종속변수 y

아들의 키 =독립변수 x 로 설정하고

이를 1차함수 형태로 나타내면 다음과 같습니다.

1차함수 형태

 

하지만 위식에서 우리는 고려해야할 것이 한가지 더있습니다. 간단하게 아들의 생활습관 등이 변수로 작용 할 수 있지 않을까요? 생활습관에 따라 키가 작아질수도 커질수도 있으니 말이죠. 따라서 이렇게 고려해야 할 항을 오차항으로 추가합니다.

회귀식

 

이제 우리의 목표는 300 부자의 자료를 종합하여 오차가 가장 작은 1차함수식을 찾는 것입니다.

즉 300부자의 자료를 가장 잘표현하는 β0와 β1를 구해야 합니다. 이것을 우리는 '회귀계수'를 구한다고 합니다.

 

β0 : 절편(intercept)

β1 : 기울기(slope coefficient)

  회귀계수를 구하는 방법은 기댓값과 공분산을 이용하는 방법 또는 최소자승법(최소제곱법)이 있습니다. 여기서 설명은 하지않겠습니다. 궁금하신분들은 구글링을 통해서 더 자세하게 살펴보시면 되겠습니다.

  이렇게 표본으로 부터 얻은 회귀식을 "적합회귀선 (fitted regression line)" 또는 적합회귀모델이라고 합니다. 그리고 전체 모집단의 경향성을 보여주는 '참회귀선(true regression line'은 실제로 구할 수 없습니다. 따라서 적합회귀선은 참회귀선과 완전히 같지는 않지만 어느정도 비슷합니다.

  그리고 훗날에 실제 모집단의 자료가 모아져서 '참회귀선'을 구할 수 있게되었다고 합시다.

그럼 우리가 이전에 표본으로부터 도출한 적합회귀선과 참회귀선의 차이를 '잔차'라고 합니다.

  잔차분석이라고 있긴한데 이 이상은 다루지 않고 여기서 포스팅을 마무리 짓고자하는데요

이 Linear regression은 빅데이터 분석기법 중 하나인 머신러닝(기계학습)에서도 기본적으로 다루는 내용이기 때문에 알고가시면 분명히 도움이 되실겁니다.

  이렇게 이번 포스팅에서는 빅데이터의 분석방법(기법)중에 가장 기본이 되는 통계 분석에 대해서 알아보았습니다. 다음 포스팅 빅데이터 기초5에서는 데이터 마이닝에 대해서 알아보도록 하겠습니다.

  갈수록 내용이 어려워져서 힘들어 하실 수도 있을 것 같습니다. 저도 배우는 입장이기 때문에

그런점을 잘 알고 있습니다. 그래서 최대한 더 이해하기 쉽게 글을쓰도록 노력해보겠습니다.

그러면 이번 포스팅도 공부하시는분들에게 도움이 되셨기를 바랍니다.

댓글로 피드백을 달아주시면 더욱 글을 개선하는데 도움이 될 것같구...

읽어주셔서 감사합니다!