본문 바로가기
Python notes/Statistical Analysis

데이터, 통계학 입문 수업 요약 (2)

by 성실한 나무 2021. 4. 6.

#1. 통계검정방법

 1) 신뢰구간:실제 모수가 존재할 가능성이 높은 구간으로 추정

   - 모평균, 모비율 등 모수를 포함할 확률

   - 신뢰수준(confidence level): 구간에 모수가 포함될 확률

   - 95% 신뢰구간의 의미: 100번의 샘플링으로 얻은 평균과 편차로 계산한 100개의 신뢰구간 중 5개는 실제모평균을 포함하지 않는다

   - 정확도를 생각했을 때는 신뢰구간이 좁아야 함 (신뢰구간이 90, 95, 99%인 경우를 비교)

   - 신뢰구간에서 허용오차에 영향을 미치는 요소: 표본의 크기, 표준편차, 유의수준

 

 2) 통계적 검정: 가설의 진위 여부를 판단, 증명, 검정하는 통계적 추론 방식

   - 귀무가설(null hypothesis, H0): 기각을 목표로 함, 검정 대상이 되는 가설, 

      대립가설(alternative hypothesis, H1): 채택을 목표로 함, 귀무가설이 기각될 대 받아들여지는 가설

   - 가설 검정의 절차: 가설 설정 - 유의수준(5%) 설정 - 검정통계량(t값) 산출 - 가설 기각/채택

   - 단측검정(one-sided test), 양측검정(two-sided test)

      예) 단측검정: 카페에서 파는 커피 용량이 200ml보다 적다

   - t-분포(T-distribution)를 이용한 검정: 한집단 혹은 두 집단 간 평균 차이에 대한 통계적 검정 방법

     (T-test의 가정: 두 집단의 변수는 서로 독립, 두 집단의 데이터는 정규분포, 두 집단의 분산은 동일)

     p-value는 t값과 자유도를 알면 구할 수 있음

     유의수준 > p-value일 때 귀무가설을 기각함

  - 기각역(rejection region): 기각이 되는 p값의 영역

  - 두 집단의 평균을 검정하는 경우, 두 집단의 모분산이 주어진다면 두 집단은 표준정규분포를 이용하여 비교

     두 집단의 모분산을 몰라도 표본수가 100이상이면 표준정규분포 이용 가능

     두 집단의 데이터 수의 합에 따라 검정에 사용하는 분포가 다름

  - p-value: 데이터 결과자료에서 보게 되는 값, 해당변수의 통계적 유의도를 나타내주는 값, 유의확률 

                   가설 채택/기각에 대한 정도

  

 

#2. 데이터수집

 1) 양질의 데이터: 대표성, 랜덤

 2) 분석용 데이터와 현장 데이터의 차이 확인 필요

 3) 측정의 재현성 - 반복측정의 편차 (편차가 큰 값이 나왔을 때 보정이 필요)

 4) 표본 추출: 모집단의 특성을 가능한 정확하게 반영한 표본, 대표성 있는 표본 확보

   - random sampling: 모집단에서 표본을 뽑을 때 각 개체가 선택될 확률은 동일, 편의가 최대한 배제됨

   - cluster sampling(군집표본추출): 각 군집이 동일한 특성을 갖고 있다고 하면 그 중 무작위로 cluster를 선택 (1, 2, 3반이 다 비슷한 특성을 가지는 경우 1반만 추출)

   - stratified sampling(층화표본추출):모집단내 하위집단의 특성이 다를 때 그 하위집단을 기반으로 표본 선택 (정치적의견 조사시 연령별, 지역별; 각 연령별로 몇명씩 추출)

   - 복원 추출: 표본추출 시 뽑은 표본의 데이터를 해당 표본을 다시 넣고 추출

   - 비복원 추출: 표본추출시 해당 표본을 제외하고 추출

 

 

#3. 예측모형에서 training과 test set

 1) 예측모형: 새로운 데이터가 들어왔을 때 정확하게 예측하는 모형

   - 주어진 데이터를 이용해서 적절한 함수식(예측모형)을 찾아서 타겟값y를 얻어내는 것

   - 주어진 데이터를 나누어서 훈련데이터와 검증데이터로 활용:  *대체로 비율 80:20 혹은 70:30

      Training set(훈련데이터): 모형을 만들기 위해 사용,  Test set(검증데이터): 만들어진 모형의 성능을 평가하기 위해 사용

   - k-fold cross-validation (k=3,5,10): 교차 타당성 검증

     주어진 데이터를 k만큼 나누어서 그 중 한 단위는 검증 데이터로 쓰고, 나머지는 훈련데이터로 사용 (k번 데이터 셋을 변경해서 반복)

 

 2) 예측 모형의 과적합 (overfitting)

  - overfitting: 모형이 주어진 데이터에 과하게 적합하여(오차가 0) 새로운 데이터(오차가 커짐)가 들어오면 정확도를 보장할 수 없는 경우

                        훈련데이터에는 잘 맞지만 새로운 데이터에는 오차가 많이 남

  -> 최적의 예측모형? 잠재변수 개수에 따라 훈련데이터와 검증데이터의 오차 간 차이가 최소일 때

       (*잠재변수는 원래의 변수들이 아니라 원래의 변수를 통해 다변량기법 등 특정 기법에 의해 도출된 새로운 변수)

 

 

#4. over sampling, under sampling 문제

 1) 데이터가 불균형한 문제 (다른 범주의 데이터 간 데이터량 차이가 큰 경우)

   - 분류예측모형에서 특정 범주의 집단이 매우 소수인 경우

     -> 전체정확도 기준 이외 소수집단의 오분류율에 위험비용을 주고 최적 모형이 바람직

 

 2) oversampling: 소수범주에서 다수 범주의 수만큼 복원 추출, 무작위로 소수범주의 데이터를 반복추출

   - 정보의 손실이 없음, 소수의 데이터가 단순복사되어 과적합의 가능성이 있음 

     undersampling: 다수 범주에서 소수범주의 수만큼 랜덤하게 추출, 무작위로 다수범주의 데이터를 제거

   - 데이터 저장용량이 감소, 적은 데이터를 다루게 되어 실행 속도 향상, 중요한 정보가 누락될 가능성이 있음

 

 3) hybrid sampling을 통해 데이터 불균형 문제 해결 가능

     

 

#5. 데이터 탐색과 정제

 1) 데이터 탐색: 기본정보(분포, 평균, 최소값, 최대값, 분산 등), variation(변동성, 시계열;시간별 변동성),

                        outlier(모든데이터가 상식적인 범위 안에 존재하는지), correlation(변수 간 상관성, 변수간 상호작용이 있는지)

 2) 상세:

    - R, Pyhon 활용

    - 기술통계치(평균, 최소값, 최대값, 분산 등) , 데이터 시각화

    - 시계열 변동성 (단일변수의 변동성, 다변량 탐색)

    - 이상치: 분석에서 제외, 잘못된 데이터가 포함됨으로써 상관계수가 확 높아지기도 함

       *상관계수: 두 변수간의 선형관계를 나타내는 척도, 0~1사이 1에 가까울수록 두 변수가 상관관계가 높음

    - 다변량 공간에서의 이상치: 주성분을 시각화하여 이상치를 찾을 수 있음

    - 변수간 상관관계: 회귀예측모형에서 독립변수간의 상관관계가 1에 가까운 독립변수를 체크할 것

 

 

#6. 빅데이터의 차원축소

 1) 필요성: 현업데이터의 특성 상 타겟변수의 특성에 영향을 미치는 요인이 매우 많음

   - 변수들간 다중공선성 (높은 상관관계, 상호작용), 차원이 너무 많은 경우(변수가 너무 많은 경우) 과적합의 위험 증가

      --> 타겟값의 정보가 어떤 구조로 들어있는지 파악이 안됨

 

 2) 주성분분석 (Principal Component Analysis, PCA): 가장 대표적인 차원 축소 방법

   a) 데이터공간에서 분산이 최대인 축을 찾는다 (첫번째 주성분: PC1)

   b) 첫번째 축과 직교하면서 분산이 최대인 두번째 축을 찾는다 (두번째 주성분: PC2)

  - 첫번째 변수가 전체 분산을 가장 많이 설명하도록, 다음 변수가 나머지 분산을 가장 많이 설명하는 방식으로 변수 생성

  - 새로 구성된 변수는 서로 독립 

 

 3) 주성분의 weight 산정방법

  - 공분산 행렬: 서로 다른 확률변수의 상관관계를 나타내는 행렬

  - 변수가 k개일 때의 공분산 행렬

  - 공분산 행렬의 eigenvalue, eigenvector의 기하학적 의미

    *가장 큰 eigenvalue = (타원 최대축의 길이)^2

    *가장 작은 eigenvalue = (타원 최소축의 길이)^2

    *첫번째 eigenvector=타원 최대축의 방향

    *k번째 eigenvector=타원 최소축의 방향

 

 4) 최적 주성분은 몇개일까?

  a) 전체 변동에 대한 기여도: 전체 변동 중 처음 m개의 주성분에 의해 설명되는 변동의 비율

      (전체 변동의 약 90%를 설명하는 차원까지 감소)

  b) Scree plot(x축 eigenvalue의 수, y축 eigenvalue 값) 활용:

      Scree plot에서 기울기가 갑자기 줄어드는 차원까지 감소 

 

 5) 요약

  - 현업 데이터를 탐색해보면 연관관계 요인들(변수)이 많음

  - 상호 관련성이 있는 변수들이 많으면 raw data보다는 데이터변환 혹은 차원 축소가 필요함

  - 차원 축소효과는 raw data의 정보를 보존하면서 노이즈를 제거하는 기능

 

 

#7. 데이터 변환에 의한 저차원 시각화

 1) 고차원데이터(독립변수가 많은 데이터)의 차원 축소: 독립변수들이 굉장히 많을 때 일부를 선택하거나 특징추출

   a) 변수선택 (feature selection) 기법: 특정변수를 선택하여 모델링

   b) 특징 추출 (feature extraction 기법: 각 변수들에 가중치를 둬서 새로운 변수를 만듦

     - 각 변수들로부터 이렇게 추출된 feature가 연속형(예:판매량)일때는 prediction, 범주형(사기냐 아니냐)일때는 classification하게 됨

     - 고차원 데이터의 정보를 보존하면서 불필요정보(노이즈)를 제거하는 방식으로 특징을 추출

 

  2) 예시: NIR 흡광도 데이터를 이용한 분류 (normal, adenoma, cancer)

    - 원래의 데이터를 주성분분석으로 표현: 선형 추출기법

    - 원래의 데이터를 인접보존기법: 비선형 기법

    ---> 저차원 시각화를 한 후, 분류분석(classification)을 하거나 모델 예측(prediction)을 하게 됨

    ---> 예시) data -> Feature extraction (RBM; restricted boltzmann machine; or 인접보존기법 or Auto Encoder)

                    -> Classifier(SVM; support vector machine) -> trained model

 

  3) 차원 축소는 정보를 손실하지 않고 데이터의 변동을 잘 설명하기 위한 것임

  4) 특징추출은 타겟변수와 관련된 정보를 추출하고 노이즈를 제거하는 효과가 있음 -> 선형/비선형 특징추출기법

 

 

#8. 선형모형의 특성과 상관분석

 1) 데이터 탐색- 변수간 관계: 상관관계 여부, 어떤 형태인지 (정비례, 반비례)

     ex) scatter plot: 변수간 관계의 방향, 형태, 관계의 강도 알 수 있음

 

 2) 상관계수 (correlation coefficient): -1~1, 두변수간 선형관계의 강도를 나타내주는 척도

     - 절대값이 0~1 사이 값을 갖는다

     - 절대값이 0에 가까울수록 상관관계가 없다, 1에 가까울수록 강한 상관성이 있다

 

 3) 회귀분석의 목적: 예측(prediction), 추정(estimation)

    - 선형 모형: 독립변수와 종속변수 간의 관계가 선형식으로 적합

      *최소자승법(least squares method): 예측값과 관측치 간의 오차를 최소화시키는 회귀계수를 추정

댓글