PART02 빅데이터 탐색 - CHAPTER02 데이터 탐색 - (1)

전유진·2021년 11월 14일
0

빅데이터분석기사

목록 보기
3/6

01 데이터 탐색의 기초

1. 데이터 탐색의 개요

1) 탐색적 데이터 분석(EDA: Exploratory Data Analysis)

수집한 데이터를 다양한 방법으로 관찰하고 이해하는 과정.

본격적인 데이터 분석 전에 자료를 직관적인 방법으로 통찰하는 과정

2) 탐색적 데이터 분석의 필요성

  • 데이터 분포 및 값을 검토함으로써 데이터에 내재된 잠재적 문제에 대해 인식하고 해결안(데이터 재수집 등)을 도출할 수 있다.
  • 다양한 각도에서 데이터를 살펴봄으로써 문제정의 단계에서 인지하지 못했던 새로운 양상 및 패턴을 발견, 초기 가설을 수정하거나 새로운 가설을 수립할 수 있다.

3) 분석과정 및 절차

  • 분석 목적과 변수를 이해한다
  • 데이터가 가진 문제점 - 결측치, 이상치 등 - 을 확인한다
  • 데이터의 분포를 확인한다.
  • 데이터의 개별 값이 예상한 범위 분포를 가지는지 기초통계산출을 통해 확인한다
  • 데이터간의 관계속성(상관관계 등)을 확인한다

4) 이상치 검출

이상치 발생 원인 및 이상치의 의미를 파악하는 것이 중요하다. 그 후 이상치를 어떻게 처리할지(제거, 대체, 유지 등) 판단한다.

  • 이상치 검출 방법

    • 개별 데이터 관찰

      • 데이터 개별 값을 무작위로 추출하여 직접 살펴본다
    • 통계값 활용

      • 적절한 요약 통계지표(Summary Statistics)를 사용한다
        • 데이터 중심을 알기 위해 평균(mean), 중앙값(median), 최빈값(mode) 를 확인
        • 데이터 분산을 알기 위해 범위(range), 분산(variance) 등을 확인

      통계지표 이용 시 데이터의 특성에 유의해야 한다. 예를 들어 이상치가 존재하면 평균값이 크게 영향을 받지만 중앙값은 일관적으로 대표성을 가진다.

    • 시각화 활용

      • 확률밀도함수, 히스토그램, 점플롯, 워드클라우드, 시계열차트, 지도 등의 시각화를 통해 데이터를 확인한다
    • 머신러닝 기법 활용

      • K-means 등의 방법을 통해 이상치를 확인할 수 있다.
        • 이상치가 많은 데이터의 경우 k-means 군집화가 적절하게 이루어지지 않음



2. 상관관계 분석

1) 변수 간의 상관성 분석

두 변수간에 선형적인 관계가 있는지 분석하는 방법.

두 변수는 독립적이거나 상관되어있을 수 있으며, 이 두 변수간의 관계의 강도를 상관관계(correlation)라고 함

  • 단순상관분석(Simple Correlation Analysis): 단순히 두 변수가 어느 정도 강한 관계를 갖는지 측정
  • 다중상관분석(Multiple Correlation Analysis): 3개 이상의 변수 간의 관계 강도를 측정
    • 편상관관계분석(Partial Correlation Analysis): 다중상관분석에서 다른 변수와의 관계를 고정하고 두 변수의 관계강도를 측정하는 것

2) 상관분석의 기본 가정

  • 선형성

    • 산점도를 통해 두 변인 X와 Y의 관계가 선형적인지 확인할 수 있다
  • 동변량성(등분산성, Homoscedasticity)

    • X의 값에 관계없이 Y의 흩어진 정도가 같은 것을 의미. (opp. 이분산성, Heteroscedasticity)

    • 특정 구간에 상관없이 값의 퍼진 정도가 일정할 때 동변량성을 띤다고 얘기하며, 반대로 퍼진 정도가 일정하지 않으면 이분산성을 띤다고 말한다.

  • 두 변인의 정규분포성

    • X와 Y의 분포가 모집단에서 모두 정규분포를 이룸
  • 무선독립표본

    • 모집단에서 표본을 뽑을 때 확률적으로 선정됨

3) 상관분석 방법

  • 피어슨 상관계수(Pearson Correlation Coefficient or Pearson's r)

    • 두 변수 X, Y 간의 선형 상관관계를 계량화한 수치.
    • 피어슨 상관계수는 1과 -1 사이의 값을 가지며, 1은 완벽한 양의 선형 상관관계, 0은 상관관계 없음, -1은 완벽한 음의 선형 상관관계를 의미

    p=C(x,y)σxσyC(x,y)=Cov(x,y)=1n1Σi=1n(xixˉ)(yiyˉ):표본 간의 공분산σx:표본 x의 표준편차,    σy:표본 y의 표준편차,    xˉ,yˉ:각각의 평균p = \frac{C(x, y)}{\sigma_x\sigma_y}\\\\ C(x,y) = Cov(x,y) = \frac{1}{n-1}\Sigma^n_{i=1}(x_i-\bar{x})(y_i - \bar{y}) : \text{표본 간의 공분산}\\ \sigma_x: \text{표본 x의 표준편차}, ~~~~ \sigma_y: \text{표본 y의 표준편차}, ~~~~ \bar{x}, \bar{y}: \text{각각의 평균}

  • 스피어만 상관계수(Spearman Correlation Coefficient)

    • 데이터가 심각하게 정규분포를 벗어나거나 데이터가 서열자료인 경우에 측정할 수 있는 상관계수로, 데이터를 작은 것부터 순위를 매겨 서열 순서로 바꾼 뒤 순위를 이용해 상관계수를 구함
    • 두 변수간의 연관관계 유무(단순히 한 변수가 증가할 때 다른 변수가 증가하는지 감소하는지 여부)를 밝혀주며, 자료에 이상치가 있거나 표본크기가 작을 때 유용
    p=Σi(xixˉ)(yiyˉ)Σi(xixˉ)2Σi(yiyˉ)2=16Σdi2n(n21)p = \frac{\Sigma_i(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\Sigma_i(x_i-\bar{x})^2}\sqrt{\Sigma_i(y_i-\bar{y})^2}} \\ = 1 - \frac{6\Sigma d_i^2}{n(n^2 - 1)}
    • xi,yix_i, y_i 는 X에서 i번째 데이터의 순위, Y에서 i번째 데이터의 순위
    • di=xiyid_i = x_i - y_i, 즉 xix_iyiy_i의 순위 차이
    • 크기 순으로 정렬한 두 변수의 차이가 클수록 스피어만 상관계수의 값은 커짐. 상관계수가 1에 가까울수록 두 변수는 단조적 상관성(커지면 같이 증가)을 가지고, 0에 가까우면 상관성이 없는 것으로 판단할 수 있다



3. 기초통계량의 추출 및 이해

기초통계, 혹은 기술통계란 자료를 수집한 후 자료의 특성을 정량적인 수치로 요약, 정리하는 방법이다.

중심화 경향(Central Tendency), 퍼짐 정도(산포도, 분산도), 자료의 분포형태(Shape of Distribution) 등의 방법이 있다.

1) 중심화 경향 기초통계량

(1) 산술평균(Arithmetic Mean)

자료의 일반적인 평균 값을 의미한다.

  • 모평균 μ\mu (Population Mean): 모집단 전체의 산술평균

    μ=x1+x2+x3++xNN=1NΣi=1Nxi  (N:전체 모집단의 크기)\mu = \frac{x_1 + x_2 + x_3 + \cdots + x_N}{N} = \frac{1}{N}\Sigma^N_{i=1}x_i ~~ (N: \text{전체 모집단의 크기})
  • 표본평균 Xˉ\bar{X} (Sample Mean): 모집단에서 추출된 표본 전체의 산술평균

    Xˉ=x1+x2+x3++xnn=1nΣi=1nxi  (n:전체 표본의 크기)\bar{X} = \frac{x_1 + x_2 + x_3 + \cdots + x_n}{n} = \frac{1}{n}\Sigma^n_{i=1}x_i ~~ (n: \text{전체 표본의 크기})

(2) 기하평균 (Geometric Mean)

산술평균이 합의 평균이라면, 기하평균은 곱의 평균이다.

  • n개의 관측치를 곱한 후 n 제곱근을 취한 값

    기하평균=x1×x2×x3×xnn\text{기하평균} = \sqrt[n]{x_1 \times x_2 \times x_3 \cdots \times x_n}
    • 주식에서 평균 수익률과 같이 일정 기간동안 변동이 잦은 경우에 대한 평균을 계산할 때 자주 사용된다.

(3) 조화평균(Harmonic Mean)

  • 각 값의 역수들의 산술평균을 구한 후 다시 역수를 취한 값

    조화평균=n1x1+1x2++1xn\text{조화평균} = \frac{n}{\frac{1}{x_1} + \frac{1}{x_2} + \cdots + \frac{1}{x_n}}
    • 평균속력, 변화율 평균 등을 구할 때 사용한다.

(4) 중앙값(Median)

중앙값은 자료를 크기순으로 나열할 때 가운데에 위치한 값이다.

(5) 최빈값(Mode)

가장 출현 빈도가 높은 값을 최빈값이라고 한다. 질적자료, 양적자료 모두에 사용된다.

(6) 분위수(Quantile)

분위수는 데이터를 크기순으로 배열한 후 그 자료를 분할하는 특정 위치를 나타내는 값이다.

  • 자료를 몇 등분하느냐에 따라 사분위수(quartile), 오분위수(quintile), 십분위수(decile), 백분위수(percentile) 등으로 구분된다.

2) 산포도(분산도, Degree Dispersion)

자료의 퍼짐 정도를 나타내는 기초 통계량이다.

(1) 분산(Variance), 표준편차(Standard Deviation)

분산: 평균을 중심으로 퍼진 정도를 나타내는 척도

표준편차: 분산의 제곱근

분산은 개별 자료값과 평균과의 편차의 제곱을 이용하여 계산되므로 분산으로 얻은 수치를 해석하기 어려울 때 표준편차를 이용한다.

  • 모분산, 모표준편차
σ2=1Ni=1n(xiμ)2σ=1Ni=1n(xiμ)2\sigma^2 = \frac{1}{N}\sum^n_{i=1}(x_i - \mu)^2 \\ \sigma = \sqrt{\frac{1}{N}\sum^n_{i=1}(x_i - \mu)^2}
  • 표본분산, 표본표준편차

    s2=1n1i=1n(xixˉ)2s=1n1i=1n(xixˉ)2s^2 = \frac{1}{n-1}\sum^n_{i=1}(x_i - \bar{x})^2\\ s = \sqrt{\frac{1}{n-1}\sum^n_{i=1}(x_i - \bar{x})^2}
  • 분산의 특성

    • 개별 자료값에 대한 정보를 반영한다
    • 수리적으로 다루기 쉽다
    • 특이값에 큰 영향을 받는다
    • 분산이 클수록 각 자료값이 평균으로부터 넓게 흩어진 형태로 분포한다
    • 미지의 모분산을 추론할 때 많이 사용한다

(2) 범위(Range)

데이터의 최댓값과 최솟값의 차이를 범위라고 한다. 동일한 범위를 갖는 데이터라도 분포모양은 다를 수 있다.


(3) 평균 절대 편차(평균 편차, 절대 편차, MAD: Mean Absolute Deviation, MD: Mean Deviation)

각 관측값과 평균값의 차이에 절대값을 취한 후 그 값들을 모두 더해 전체 데이터 개수로 나눈 값이다.

다시 말해 각 자료값과 표본평균과의 편차의 절대값에 대한 산술평균을 의미한다.

MAD=1ni=1nxixˉMAD = \frac{1}{n}\sum^n_{i=1}|{x_i - \bar{x}|}
  • 개별 자료값에 대한 정보를 반영한다
  • 이상치에 대한 영향을 상대적으로 적게 받는다
  • 절대값을 사용한다는 점에서 수리적으로 다루기 어렵다(분산이나 표준편차가 더 선호되는 이유)
    • 절대편차는 유클리디안 거리 개념이므로 특정 대표값으로부터 떨어진 거리를 의미한다
    • 절대편차의 최소값을 갖는 자료값은 평균값이 아닌 중앙값에 해당한다
    • 절대편차는 미분 불가능한 점이 존재한다
  • 평균 절대 편차 값이 클수록 자료의 분포가 넓음을 의미한다

(4) 사분위범위(Inter Quartile Range)

자료를 크기순으로 배열한 후 자료의 1/4에 해당하는 1사분위수(Q1)를 구하고, 3/4에 해당하는 3사분위수(Q3)를 구한다.

사분위범위(IQR)는 Q3에서 Q1을 뺀 값으로 정의되며, 자료의 50% 범위 내에 위치함을 의미한다.

주로 이상치 판단 시에 사용되며, 아래와 같이 정상범위 데이터의 최소/최대값을 정의하여 해당 범위를 벗어나는 값을 이상치로 간주할 수 있다.

정상범위 데이터 최대값 = 3사분위수(75% percentile) + 1.5 x IQR 정상범위 데이터 최소값 = 1사분위수(25% percentile) - 1.5 x IQR

예) 8, 10, 12, 13, 15, 17, 17, 18, 19, 23, 24 자료의 사분위범위는?

총 11개의 크기순으로 나열된 숫자 중 1사분위수(Q1)과 3사분위수(Q3)에 해당하는 숫자는 다음과 같이 구할 수 있다.

(11 + 1) x (1/4) = 3, (11 + 1) x (3/4) = 9 이므로 3번째, 9번째 숫자에 해당하는 12, 19가 각각 Q1, Q3이 된다.

따라서 위 자료의 사분위범위는 19 - 12 = 7이다.


(5) 변동계수(CV: Coefficient of Variance)

평균을 중심으로 한 상대적인 산포의 정도를 나타내는 수치이다.

측정 단위가 동일하지만 평균이 큰 차이를 보이는 두 자료집단, 혹은 측정단위가 서로 다른 두 자료집단에 대한 산포의 정도를 비교할 때 많이 사용한다.
(ex. 신생아의 몸무게와 산모의 몸무게: 단위는 동일하지만 평균이 크게 다르므로 변동계수를 이용해 분산을 비교한다)

CV=σμ×100(%)     모집단의 변동계수CV = \frac{\sigma}{\mu} \times 100 (\%) ~~~~~\text{모집단의 변동계수}

예) 100명의 여성에 대한 신장과 체중을 비교한 자료가 있을 때, 체중의 개인차와 신장의 개인차를 비교하려면?

체중 - 평균 52.3kg, 표준편차 2.54kg
신장 - 152.7cm, 표준편차 2.28cm

각각의 CV를 구해보면 2.54 / 52.3 x 100 = 4.857%, 2.28 / 152.7 x 100 = 1.493%로, 체중의 CV값이 더 크다.
즉 체중 데이터가 더 넓게 분포한다는 의미이므로 체중의 개인차가 신장의 개인차가 더 크다.


3) 자료의 분포 형태(Shape of Distribution)

(1) 왜도(Skewness)

분포의 치우친 정도를 나타내는 통계적 척도이다.

데이터가 오른쪽으로 더 꼬리가 길면 양의 값, 왼쪽으로 더 길면 음의 값이 된다. 분포가 좌우대칭이면 0이다.

Skewness=Σi=1n(xixˉ)3[Σi=1n(xixˉ)2]3Skewness = \frac{\Sigma_{i=1}^n(x_i-\bar{x})^3}{[\Sigma^n_{i=1}(x_i-\bar{x})^2]^3}

image

이미지 출처: https://dining-developer.tistory.com/17
왜도(Skewness) 값데이터 분포 모양성질
음수(negative)왼쪽으로 긴 꼬리평균 < 중앙값 < 최빈값
0좌우 대칭평균 = 중앙값 = 최빈값
양수(positive)오른쪽으로 긴 꼬리평균 > 중앙값 > 최빈값

피어슨의 비대칭계수(Pearson's skewness coefficients)

피어슨의 비대칭 계수는 왜도와 비슷하게 분포가 좌우로 얼마나 대칭적인지를 나타내는 통계값이다.

피어슨 비대칭계수는 일반적으로 3×(평균중앙값)/표준편차3 \times (\text{평균} - \text{중앙값}) / \text{표준편차}​​ 로 계산할 수 있다.

  • 중앙값, 최빈값, 평균이 일치하는 정규분포라면 Cs = 0 이 된다.
  • 왼쪽으로 치우친 데이터(정적편포)면 Cs > 0 이 된다.
  • 오른쪽으로 치우친 데이터(부적편포)면 Cs < 0이 된다.

예) 평균이 50, 중앙값이 30, 표준편차가 5인 분포의 왜도와 특징은?

평균이 중앙값보다 크면 오른쪽에 데이터가 많이 분포한다는 것을 의미하고, 즉 왼쪽으로 치우친, 오른쪽으로 꼬리가 긴 분포에 해당한다.

피어슨 비대칭계수는 3 x (50 - 30) / 5 = 12 이다.


#### (2) 첨도(Kurtosis)

분포의 뾰족한(peakedness) 정도를 나타내는 통계적 척도이다.

Kurtosis=Σi=1n(xixˉ)4[Σi=1n(xixˉ)2]4Kurtosis = \frac{\Sigma^n_{i=1}(x_i - \bar{x})^4}{[\Sigma^n_{i=1}(x_i-\bar{x})^2]^4}
  • 첨도의 값이 3 미만이면 평평한 분포이고, 3이면 정규분포, 3이 넘으면 뾰족한 분포를 갖는다.

image

[이미지 출처: https://towardsdatascience.com/skewness-kurtosis-simplified-1338e094fc85]
profile
나는야 데이터쟁이

0개의 댓글