SyntaxHighlighter.all(); [빅데이터 분석기사] [2-1]빅데이터 탐색 -데이터 전처리 :: 또르의 개발노트 ss
반응형

결측값(Missing Value) 

  • 데이터가 입력되지 않고 누락된 값
  • NA, N/A, NULL, 공백, NaN 등 다양하게 표기됨
  • 분석에 영향을 미치기 때문에 반드시 처리

단순 대치법(Single Imputation)

  1. 완전 분석법
    • 불완료 자료 모두 무시
    • 관측된 자료 중 일부를 무시하게되어 효율성 상실, 통계적 추론의 타당성 문제 발생
  2. 평균 대치법
    • 데이터의 평균, 중앙값, 최빈값 등으로 결측값 대치
    • 결측값 발생이 다른 변수와 관계 있는 경우 유용
  3. 단순 확률 대치
    • 평균 대치법에 적절한 확률 값을 부여하여 대치하는 방법
    • 평균 대치법에서 추정한 표준오차의 과소추정문제를 보완하고자 고안됨
    • Hot-Deck : 진행 중인 연구에서 비슷한 성향을 가진 응답자의 자료로 대체
    • Cold-Deck : 외부 출처 또는 이전의 비슷한 연구에서 대체할 자료를 가져옴

다중 대치법

  • 단순 대치법을 m번 수행하여 m개의 가성적 완료 자료를 만듦
  • 여러 개의 대치된 표본이 생성, 값은 값으로 결측 자료를 대치할 수 없음
  • 추저양 표준오차의 과소추정 및 계산의 난해성 문제를 가지고 있음

이상값(Outlier)

  • 일반적인 다른 값과 멀리 떨어져 있는 값(거리, 밀도)
  • 노이즈, 이상값은 정형 데이터보다 반정형, 비정형 데이터에서 많이 발생
  • 분포를 왜곡할 수 있으나 실제 오류인지 통계적으로 검증할 수 없으므로 제거 여부는 해당 분야의 전문가와 상의하여 판별하여야 함
  • 반드시 제거해야 하는 것은 아니며, 분석의 목적이나 종류에 따라 적절한 판단이 필요함

이상값 발생 원인

  1. 의도하지 않은 잘못 입력/측정/실험된 데이터 
    • 입력/측정/실험의 잘못으로 발생하는 데이터 
    • 잘못된 측정도구 사용, 실험조건의 동일하지 않음
  2. 고의적인 이상값
    • 응답자의 고의적인 거짓에 의해 발생하는 데이터
  3. 데이터 표본 설정 오류
    • 표본이 해당 집단의 특정 세부 그룹을 충분히 대표하지 못할 경우
  4. 처리오류 
    • 데이터를 분석하거나 처리하는 과정에서 발생할 수 있는 오류

이상값 검출 방법

  1. ESD(Extreme Studentized Deviation)
    • µ - 3σ < 정상데이터 < µ+3σ      (µ : 평균, σ: 표준편차)
  2. 사분위수사용
    • IQR = Q3- Q1 (IQR: 데이터의 가운데 50%, Interauartile Range)
    • Q1 - 1.5 * IQR < 정상데이터 < Q3+1.5 * IQR ( Q1: 제1사분위수, Q3: 제3사분위수)
  3. 기하평균
  4. 데이터 시각화
    • 히스토그램, 밀도차트, 상자그림, 산포도, 진차도 등
  5. 분석 기법 활용
    • 비지도 학습의 군집 기법 사용 : 군집으로 정의되지 않는 영역을 outlier로 판단
    • 마할라노비스 거리 : 데이터 밀도(분산)을 고려한 거리, 다변량 이상치 판단에 대표적 방법
    • LOF(Local Outlier Factor) : 관측치 주변의 밀도와 근접한 관측치 주변 밀도의 상대적 비교를 통해 검출
    • iForest(Isolation Forest) : 의사결정나무를 이용, 분할 횟수로 이상값 검출, 관측치 사이의 거리, 밀도에 의존하지 않음

이상값 처리 방법

  1. 삭제
    • 이상값 제거하는 방법, 양극단 값을 모두 제거함
    • 실제 데이터를 모두 반영한 결과가 아니기 때문에 적절하지 않을 수 있음
  2. 대체
    • 하한값보다 작은 것을 하한값, 상한값보다 큰 것을 상한값으로 대체
    • 평균, 중위수 등의 대푯값으로 대체
  3. 변환
    • 오른쪽 꼬리가 긴 경우 : 로그(log) 변환, 제곱 루트 변환, 큰 값을 작게 만들기
    • 왼쪽 꼬리가 긴 경우 : 지수 변환, 제곱 변환, 작은 값을 크게 만들기

이상값 & 대표값 , 산포, 분석기법

  1. 이상값 영향 많이 받음
    • 평균분산, 표준편차 , Range 등
    • 앙상블 - Boosting
    • 비지도 - 군집 - 비계층적 - k-means
  2. 이상값 영향 적게 받음
    • 중앙값
    • 지도학습 - 분류/회귀 - kNN
    • 비지도 - 군집 - 비계층적 - DBSCAN

이상값 검색 활용 응용 시스템

  • 부정사용방지 시스템
  • 의료, 사기탐지, 침입탐지 

 

*편향(bias): 추정량의 기댓값 - 실제값 (=모수의 값)

*결측치(missing value) : 값이 관찰되지 않은 것

*편차(deviation) : 변량에서 평균을 뺀 값, 편차의 절대값이 작을수록 평균에 가까이 있음

 

*변수

  • RDBMS에서 속성, 열 이라고 부르는것, 머신 러닝에서는 통계학의 영향으로 변수로 사용

*변수유형

  • 입력(X)용 : 독립변수, 변수, 속성, 예측변수, 설명변수차원, 관측치
  • 출력(Y)용 : 종속변수, 라벨, 클래스, 목푯값, 결과변수, 반응 변수

*샘플

  • RDBMS에서 레코드, 행이라고 부르는 것
  • 많은 Sample이 있을 때 보다 좋은 데이터 분석, 모델 생성이 가능함
  • 과대적합을 방지하고 모델의 훈련 및 평가에도 도움이 됨

변수 선택

  • 모델을 단순화하여 데이터 분석 결과를 해석하기 쉽게함
  • 훈련 시간 축소, 과대적합 줄이는데 도움이 됨
  • 모델의 정확도 및 성능 향상 기여

변수 선택 기법

  1. 필터 기법(filter)
    • 통계적 측정 방법 사용
    • 정보소득, 카이제곱 검정
    • 피셔 스코어, 상관계수
    • 주로 래퍼 기법 사용 전 전처리에 사용됨
  2. 래퍼 기법(Wrapper)
    • 변수의 일부로 모델링 후, 그 결과를 확인하는 작업을 반복하여 가장 성능 좋은 변수 조합을 찾는 방법
    • 전진 선택법, 후진 제거법, 단계적 선택법
    • 필터 방법보다 예측 정확도가 높음
  3. 임베디드 기법(Embedded
    • 모델 자체에 포함된 변수 선택 기법
    • 모델의 학습, 생성 과정에서 최적의 변수 선택
    • Ridgw, Lasso, ElasticNet, 의사결정나무

차원 축소

  • 차원 = 변수의 수, 차원이 증가할 수록 모델의 정확도가 떨어질 수 있음 #차원의 저주
  • 독립변수간 강한 상관관계가 있는 경우 모델의 정확도와 신뢰성이 떨어짐 #다중공선성
  • 변수의 정보를 최대한 유지하면서 변수의 개수를 줄이는 통계 기법
  • 목적 - 데이터 분석의 효율성 측면에서 복잡도를 축소하고, 과적합을 방지하며, 해석력을 확보하는 것
  • 작은 차원만으로 로보스트(Robust)한 결과를 도출할 수 있다면 많은 차원을 다루는 것보다 효율적

#차원의저주

  • 데이터의 차원이 증가할수록 데이터를 표현할 수 있는 공간은 기하급수적으로 증가하는 것에 반해 데이터의 수는 변하지 않기 때문에 발생
  • 차원이 증가하면서 개별 차원 내의 학습 데이터 수가 차원의 수보다 적어지면서 성능이 저하되는 현상(sparse)
  • 모델링 과정에서 저장공간과 처리시간이 불필요하게 증가되어 성능이 저하
  • 표본의 수가 적을 때 더욱 심화되며 민감하게 반응

#다중공선성

  • 모형의 일부 설명변수가 다른 설명변수와 높은 상관관계가 있을 때 발생
  • 중대한 다중공선성은 회귀계수의 분산을 증가시켜 모델을 불안정하고 해석하기 어렵게 만듦
  • VIF(variance inflation factor)를 측정하여 10이 넘으면 다중공선성이 존재한다고 봄

해결방법

  • 높은 상관 관계가 있는 설명변수를 모형에서 제거 
  • 다양한 변수 선택, 차원 축소 방법을 사용 할 수 있음, PCA(주성분분석)
  • 설명변수를 제거하면 대부분 R2 (결정계수)가 감소
  • 변수축소: 주성분 분석, 요인분석, 다차원 척도법 등의 변수축소 기법 사용
  • Ridge, Lasso, ElasticNet 회귀 분석 활용(+과대적합 해결)
  • Mean Centering(평균대치법) 방법 : 모든 변수를 각 변수의 평균값으로 뺀 뒤에 회귀분석

차원축소 기법

  1. 다차원척도법(MDS, Multi Dimensional Scaling) - 각 개체간 거리(유사성)를 측정하는 기법
  2. 주성분분석(PCA, Principal Component Analysis) 
    • n개의 관측치와 p개의 변수로 구성된 데이터를 상관관계가 없는 k개의 변수로 구성된 데이터로 축소
    • 요약된 변수는 기존 변수의 선형 조합으로 생성
    • 데이터의 분산을 최대한 보존하는 새로운 축을 찾고 그 축에 데이터를 사영 시키는 분석기법
  3. 요인분석 - 변수들 간의 상관관계를 고려하여 서로 유사한 변수들끼리 묶어주는 방법
  4. 특이값 분해(SVD, Singular Value Decomposition) - 
    • PCA와 LDA가 정방행렬에 대한 작업이었다면, 정방행렬이 아닌 비정방행렬에 대해 적용이 가능하다
    • 적용분야 : 데이터 축소, 영상처리 및 압축, 이상치 감지
  5. 선형 판별분석(LDA, Linear Discriminant Analysis) 
    • PCA는 입력된 데이터의 공분산행렬을 구해서 고유벡터와 고유값을 구해 차원을 축소시키지만, LDA는 클래스 내부 분산과 클래스 간 분산 행렬을 생성한 다음 이들의 고유벡터와 고유값을 구해 축소
    • PCA 비지도 학습, LDA는 지도학습

요인분석과 주성분분석의 차이

  1. 생성되는 변수들의 관계
  2. 생성되는 변수의 의미
  3. 생성되는 변수의 수

파생변수

  • 상황에만 유의미하지 않게 논리적 타당성과 대표성을 나타나게 할 필요가 있다.
  • 기존 변수에 특정 조건 혹은 함수 등을 사용하여 새롭게 재정의한 변수

요약변수

  • 단순 데이터를 종합한 변수
  • 재사용이 높고 다른 많은 모델을 공통으로 사용 가능

변수변환 

  • 변환을 통해 자료 해석이 용이하게 하는 작업
  1. 변수변환의 목적
    • 분포의 대칭화
    • 산포를 균일하기 하기 위함
    • 변수사이의 관계를 단순하게 표현하기 위함

정규변환

  1. 로그변환
    • 데이터간 편차를 줄여 왜도(Skewness)와 첨도(Kurtosis)를 줄일 수 있기 때문에 정규성이 높아진다
    • 큰 수를 작게 만들 경우와 복잡한 계산을 간편하게 만들 경우에 사용한다.
  2. 제곱근 변환
    • 오른쪽 긴 꼬리를 갖는 분포를 대칭화에 유용
  3. 지수변환
    • 작은 숫자의 크기를 크게 넓혀주는 역할
  4. 박스-칵스(Box-Cox)변환
    • 데이터를 정규분포에 가깝게 만들거나 데이터의 분산을 안정화
    •   yλ = ( yλ -1) / λ, λ≠0), (log(y), λ=0)
    • Yeo-Johnson 변환과 비교하여 0 혹은 음수인 경우에 적용에 한게가 있다. 

범주형 변환

  1. 구간화(Bining)
    • 변수 구간화는 변수변환의 방법 중 하나로 주어진 연속형 변수를 범주형 또는 순위형 변수로 변환
  2. 더미변수(Dummy Vriable)
    • 범주형 변수를 연속형 변수로 변환한 것
  3. 데이터 인코딩
    • 범주형 데이터를 숫자 형태로 바꾸는 작업
    • 레이블 인코딩 : 범주형 데이터를 숫자로 일대일 매핑해주는 인코딩 방식
    • 원-핫 인코딩: 여러 값 중 하나만 활성화하는 인코딩
    • 타켓 인코딩 : 평균값으로 범주를 대체하는 방법
    • 오디널 인코딩 : 변수의 순서를 유지하는 인코딩 방식. 순서가 중요한 특성에 대해서 사용되어야 한다

데이터 스케일링

  • 인공지능 학습을 위해 데이터를 입력할 때 데이터 별로 그 데이터 값들의 범위가 다르다면 컴퓨터가 이해하기 어렵게 된다. 그럼으로 각 변수들의 범위 혹은 분포를 같게 만드는 작업
  • 입력변수만 스케일링 하고 결과 변수는 스케일링을 하지 말아야 한다.
  1. 최소-최대 정규화
    • 데이터를 정규화하는 가장 일반적인 방법
    • 모든 Feature에 대해 각각의 최소값을 0, 최대값은 1로, 다른 값들은 0과 1사이의 값으로 변환
    • 최소값이 20이고 최대값이 40인 경우, 30은 중간이므로 0.5로 변환된다. (X-Min)/(Max -Min)
  2. Z-점수 표준화
    • Z = (X-평균) / (표준편차)를 통해 X라는 값을 Z라는 Z - 점수 표준화로 변환 할 수 있다.
  3. 기타 스케일링 종류
    • 최대절대 스케일 : 최대 절대값이 0이 각각 1,0으로 되도록 스케일링
    • 로버스트 스케일 : ((X-MEDIAN)/IQR) 아웃라이어의 영향을 최소화한 기법이다

불균형 데이터처리

  • 클래스 하나에만 데이터가 편중되는 경우가 발생
  • 큰 비중을 차지하는 클래스에 편향되어 학습
  • 분포가 작은 값에 대한 Precision은 낮을 수 있고, 분포가 작은 클래스의 재현율이 낮아지는 문제가 발생할 수 있다.
  • 과적합 문제가 발생 할 수 이음

해결기법

  1. 언더 샘플링 : 다수의 클래스 샘플들을 제거, 정보의 손실을 초래하게 되다는 문제점
  2. Random Under Sampling : 불균형 데이터셋을 무작위 언더 샘플링
  3. Tomek Link : 서로 다른 클래스에 속하는 한 쌍의 데이터로 서로에게 더 가까운 다른데이터가 존재하지 않는 것
  4. CNN(Condensed Nearest Neighbour) :  최근접인 클래스 분포 데이터를 삭제하면서 샘플링하는 방법

오버 샘플링

  • 소수 클래스를 위한 샘플을 생성하는 방식으로 정보 손실을 피할 수 있으나 과적합을 초래할 수 있다.
    1. Random Over Sampling
      • 소수의 클래스 데이터를 반복해서 넣는 것으로 가중치를 증가시키는 것과 유사
    2. ADASYN(Adaptive Synthetic Sampling)
      • 소수클래스 주변에 얼만큼 많은 다수의 관측지가 있는지를 정량한 한 지표
    3. SMOTE
      • 소수 범주에서 가상의 데이터를 생성하는 방법
    4. Borderline-SMOTE
      • 소수 클래스 샘플과 다수 클래스 샘플 간의 경계를 기준으로 SMOTE 방식의 합성 방법

임계값 이동

  • 분류를 시행할 때 사용되는 임계값을 양성과 음성의 비율을 이용해 조정해 가는 방법을 임계값 이동이라 한다.
  • 학습단계에서는 변화 없이 학습하고 검정 단계에서 임계값을 이동한다.

 

반응형

+ Recent posts