본문 바로가기
IT/빅데이터분석

빅데이터분석 필기[2과목]빅데이터 탐색 1.데이터전처리

by unicorn 2023. 3. 16.
728x90
반응형

1. 데이터 전처리 

* 데이터 전처리

- 데이터 전처리에는 데이터를 정제하는 과정과 분석 변수를 처리하는 과정, 반드시 거쳐야하는과정이고 반복적인 전처리 수행이 필요, 데이터 분석단계중 가장많은 시간이 소요됨 

* 데이터 전처리 순서

데이터 정제 -> 결측값 처리 -> 이상값 처리 -> 분석 변수 처리

 

* 데이터 정제

 - 분석전단계에 수행하며 결측값, 잡음 , 이상값 등을 제거하는 것을 말함

  • 결측값(Missing Value): 누락된 값(입력 X, NA, NaN, NULL, inf, 999999)
    • 처리 방법: 평균값, 중앙값, 최빈값 등의 중심 경향값 넣기, 분포 기반 처리
  • 노이즈(Noise): 잘못 판단된 값(입력되지 않았는데, 입력되었다고 판단됨)
    • 처리 방법: 일정 간격으로 이동하면서 평균값 대체, 일정 범위 중간값 대체
  • 이상값(Outlier): 범위에서 많이 벗어난 값(지나치게 작은 값 or 큰값 )
    • 처리 방법: 하한보다 낮으면 하한값, 상한보다 높으면 상한값 대체

 

* 데이터 일관성 유지를 위한 정제

  - 다른 시스템에서 들어온 데이터에 일관성 부여

 

        * 변환(Transform): 다양한 형태로 표현된값을 일관된 형태로 변환 ex) YYYYMMDD → YY/MM/DD

        * 파싱(Parsing): 유의미한 최소 단위로 분할(정제 규칙을 적용하기 위함) ex) 주민등록번호 → 생년월일, 성별

        * 보강(Enhancement): 변환, 파싱, 수정, 표준화 등을 통한 추가 정보를 반영 ex) 주민등록번호 → 성별 추출 후 반영

데이터 정제 기술

* 분산 처리 시스템을 기반으로 정제

- 성능 보장을 위해 인메모리 기반 기술을 사용하기도 함, 정제된 후, 데이터 변경(분석)에 활용됨

 

    - ETL: 데이터를 추출 → 가공 → 데이터 웨어하우스, 데이터 마트에 저장

    - 맵리듀스: 대용량 데이터셋을 분산, 병렬 컴퓨팅 처리 , 모든 데이터를 키-값 쌍으로 구성, (맵: 데이터 추출) + (리듀스: 중복 없게 처리), 배치 형태 같은 많은 데이터 처리 시 성능 느림

    - 스파크/스톰: 인메모리 기반 데이터 처리 방식

    - 스파크: 맵리듀스 기반으로 성능 개선, 실시간, 배치 처리 둘다 가능

    - CEP(Complex Event Processing): 실시간 이벤트 처리에 대한 결괏값 수집, 처리 , 실시간 데이터(IoT 센싱 데이터, 로그, 음성 데이터 등)

    - 피그(Pig): 대용량 데이터 집합을 분석하기 위한 플랫폼, 피그 라틴이라는 자체 언어 제공

    - 플럼(Flume): 로그 데이터를 수집, 처리하는 기법, 실시간에 근접하게 처리함

 

 

* 데이터 세분화(Data Segmentation):

 - 데이터를 기준에 따라 나누고, 선택한 매개변수를 기반으로 유사한 데이터를 그룹화

 - 군집화 - 이질적인 집단을 몇개의 동질적인 소집단으로 세분화 (계층적방법, 비계층적방법) 

계층적 방법: 군집 개수 정하지 않는다 비 계층적 방법: 군집 개수 를 사전에 정한다
응집분석법 분할분석법 인공신경망 모델 K-평균 군집화
각 객체를 하나의 소집단으로 간주→유사한소집단합침 전체 집단→유사성이 떨어지는 객체를 분리 생물학적 신경망으로 부터 영감을 받은 통계학적 학습모델 K개 군집의걱 각 객체간 거리를 계산해서  중심좌표 업데이트

* 데이터 결측값 종류 

1.완전무작위 결측 (MCAR) - 다른변수와 무관하게 발생한결측, 설문조사에서 특정항목에 대답을하지않음

2.무작위결측(MAR) - 다른변수와 연관 있지만 , 결과에 영향을 미치지 않는 경우 , 성별에 따라 응답확률이 달라서 생기는 결측

3.비무작위결측(MNAR) - 다른변수와 연관있고, 결과에 영향을 미치는 결측값 , 임금을 조사할때 임금이 낮은 사람이 임금에대해 응답할 확률이 낮아서 생기는 결측. 

 

* 데이터 결측값 처리 절차 

식별 - 컴퓨터가 처리 가능한 형태로 부호화 - 알고리즘을 통해 결측값 처리(대체 )

 

* 부호화 

 - NA(Not Available) - 기록되지않은값 

 - NAN(Not a Number) - 수학적으로 정의도지않은값 

 -  inf (infinite)- 무한대

 - NULL 값이 없음 

 

* 데이터 결측값 처리방법

 - 단순대치법 : 결측값을 그럴듯한 값으로 대체하는 통계적 기법(완전분석법, 평균대치법, 단순확률대치법)

 - 다중대치법 : 단순대치법을 1번이상, N 번대치 하여 완전한 자료로 생성(대치 - 분석 - 결합 )

 

* 단순 대치법 종류 

  • 완전 분석법: 불완전 자료는 완전 무시, 완전하게 관측된 자료만 사용 → 효율성 상실, 통계적 추론의 타당성 문제 발생
  • 평균 대치법: 얻어진 자료의 평균값으로 결측값을 대치
    • 비 조건부 평균 대치법: 평균값으로 대치
    • 조건부 평규 대치법: 회귀분석을 활용하여 결측값 대치
  • 단순 활률 대치법: 확률값을 부여한 후 대치
    • 핫덱 대체(Hot-Deck): 현재 진행 중인 연구에서 비슷한 성향을 가진 응답자의 자료로 무응답을 대체, 표본조사에 흔히 사용
    • 골드덱 대체(Cold-Deck): 외부 출처, 이전의 비슷한 연구에서 가져온 자료로 대체
    • 혼합 방법: 몇 가지 다른 방법을 혼합, 회기 대체를 이용해서 예측값을 얻고, 핫덱방법을 잉용해서 잔차를 얻어 두값을 더하는 경우

 

* 이상값의 원인 : 표본 추출 오류 , 고의적인 이상값, 데이터 입력오류, 실험오류, 측정오류,자연오류등 

* 이상값 검출 방법 

 

 

1. 통계기법 

  • ESD(Extreme Studentized Deviation): 평균에서 3표준편차 떨어진 값은 이상값 ⇒ μ - 3σ < data < μ + 3σ
  • 기하평균 활용: 기하평균에서 2.5표준편차 떨어진 값은 이상값 ⇒ 기하평균 - 2.5σ < data < 기하평균 + 2.5σ
  • 사분위 수 활용:제 1사분위, 제 3사분위 를 기준으로 사분위간 범위의 1.5배이상 떨어진 값을 이상값으로 판단 Q₁ - 1.5(Q₃ - Q₁) < data < Q₃ + 1.5(Q₃ - Q₁)
  • 표준화 점수(Z-score) 활용: 정규분포를 따르는 관측치들이 평균에서 얼마나 떨어져 있는지 나타내어 이상값 검출
  • 딕슨의 Q 검정: 오름차순 정렬 → 범위에 대한 관측치 간의 차이의 비율을 활용(데이터 30개 미만인 경우 적절함)
  • 그럽스 T-검정: 정규분포를 만족하는 단변량 자료에서 이상값 검정
  • 카이제곱 검정: 정규분포를 만족하나, 자료 수가 적은 경우

2. 개별 데이터 관찰  -전체 데이터 추이 특이사항, 무작위 추출 

3. 시각화 -확률밀도 함수 , 히스토그램 ,시계열차트

 

*  사분위수 

     * 4등분하는 위치의 수 

     * 전체 데이터를 순위별로 4등분하는 위치의 수 3개 Q1, Q2, Q3 가 있다

     * 제1 사분위수 (Q1) - 누적 백분율이 25%에 해당하는 값 

     * 제2 사분위수 (Q2) - 누적 백분율이 50 %에 해당하는 값 , 중위수 (Median) 과 같음

     * 제3 사분위수 (Q3) -  누적 백분율이 75% 에 해당하는값 

4. 데이터 군집/분류를 이용한 데이터 이상값 검출

  - K - 평균 군집 (K-Means)

    * 주어진 데이터를 K개의 클러스터 로 묶는 알고리즘

    * 각 클러스터와 거리 차이의 분산을 최소화 하는 방식

    * 머신러닝 기법을 이용한 데이터 군집화 시키는 기법 등을 활용하여 이상값 검출 

- LOF(Local Outlier Factor)

  * 관측지 주변의 밀도와 근접한 관측지 주변의 밀도의 상대적 비교를 통해 이상값 탐색

  * LOF 값이 클수록 이상값 정도가 크다 

- iForest(Isolation Forest)

 * 관측지 사이의 거리 또는 밀도에 의존하지 않고 데이터 마이닝 기법인 의사결정 나무를 이용하여 이상값 탐지하는 방법

 * 의사결정 나무 기법으로 분류 모형을 생성하여 모든 관측치를 고립 시켜 나가면서 분할 횟수로 이상값 탐색 

    * 의사결정 나무 기법 

     - 데이터들이 가진속성들로 부터 분할 기준속성을 판별하고, 분할 기준속성에따라 트리형태로 분류

     - 의사결정 나무 기법 에서는 적은 횟수로 잎(leaf)노드에 도달하는 관측지 일수록 이상값일 가능성이 크다 

5. 마할라 노비스 기법  

 * 데이터 분포 고려한 거리 측도 

 * 관측지가 평균으로 부터 벗어난 정도를 측정 

 * 모든 편수간 선형관계 만족 & 각 변수들이 정규 분포를 따르는 경우에 적용 할수 있음

 

* 이상값 처리 방법

방법 삭제 : 절단/ 조정 대체법 : 상/하한값 변환 : 자연로그 박스플롯 해석 : 수염 분류하여 처리
특징 - 추정치의 분산이 작아짐
- 양극단 값을 절단

- 기하평균 이용
- 절단보다 극단값 조정활용해야 데이터 손실율이 줄어듬
- 하한값보다 작으면
  하한값 대체
- 상한값보다 크면
  상한값 대체
- 자연로그를 취해 데이터값 감소 -> 실제값을 변형
- 오른쪽 꼬리 긴 분포는 평균중심 대칭형태로변환

-수염(Whiskers) 밖
이상값으로 판단
-수염:사분위수 = Q3 - Q1의 1.5배 내에있는 가장멀리떨어진 데이터까지 이어진 선
-이상값이 많은 경우
- 서로 다른 그룹으로 묶고 그룹별 통계모형을 생성해서 결과 결합

* 변수

 - 변수(Feature): 데이터 모델에서 예측에 사용되는 입력변수

 - RDBMS에서 속성/열 = 머신러닝에서 변수

 - 변수 유형: 알려진 값 & 예측값

                   알려진 값: 변수, 속성, 예측변수, 차원, 관측치, 독립변수( 종속변수에 영향 주는 변수 (의도적으로 변화시킴))

                   예측 값: 라벨, 클래스, 목푯값, 반응, 종속변수(독립변수로부터 영향 받는 변수 (연구대상))

* 변수속성

  • 명목형: 이름만 의미 부여, 크가와 순서는 상관 없음, 명사형
  • 순서형: 순서에 의미 부여 가능
  • 이산형: 하나하나 셀 수 있음
  • 연속형: 구간 안의 모든 값을 가질 수 있음

* 변수 간 관계

  • 독립변수, 종속변수 둘 다 연속형, 범주형 자료로 분석 가능
  • 연속형 자료에서 원인은 공변량(Covariate)
  • 범주형 자료에서 원인은 요인(Factor) 이라고 부름

* 변수 선택 (Feature Selection)

 - 종속변수와 가장 관련성 높은 독립변수만 선정하는 방법

 

* 변수 선택 특징

  • 해석하기 쉽도록 모델 단순화
  • 훈련 시간 축소
  • 차원의 저주 방지(차원이 증가할수록, 필요한 샘플 데이터가 기하급수적으로 증가하는 현상)
  • 과적합 줄이고 일반화
  • 모델 정확도, 성능 향상 기대

* 변수 선택 방식 분류

  • 비지도 방식: 분류를 참고하지 않고 변수들만으로 선택 수행
  • 지도 방식: 분류를 참고하여 변수 선택

 

방법 < 필터 기법
(Filter Method)>

통계적 특성으로부터 변수 선택
< 래퍼 기법
(Wrapper Method) >

변수의 일부만으로 모델링 반복
< 임베디드 기법
(Embedded Method)>

모델 자체에 변수 선택 포함
특징 -통계적측정방법으로 변수들의 상관관계를 알아냄 
-계산속도가 빠름 - 래퍼 기버 사용전에 전처리에 사용 


-예측정확도 성능이 가장좋은 하위집합을 선택
-그리디 알고리즘 - 하위집합을 반복선택 
-일반적으로 필터 기법보다 예측정확도 높음
-시간오래걸리고 과적합 위험있음
- 전진선택법 - 빈모델 -> 변수하나씩 추가 (모델을 가장많이 향상시키는 변수)
- 후진제거법 - 풀모델 -> 변수 하나씩 제거 (모델에 가장적은 영향을 주는 변수 
- 단계적방법  - 아무것도 적합하지않은 모형에서 변수를 하니씩 적합하면서 그전단계에서 적합된 변수들의 유의미성을 다시 한번더 검증하는 방법



모델 정확도에 기여하는 변수 학습 
더적은 계수를 가지는 회귀식을 찾는 방향으로 제어 
종류


정보 소득 가장 높은 속성선택 RFE SVM사용-재귀적제거 라쏘 LASSO 가중치절댓값합 최소화 L1 (L1-norm)
카이제곱 검정
(Chi-Square Test)
관찰-기대빈도비교차이가 유의한가 검정 SFS 그리디알고리즘- 빈모델에 하나씩 추가 릿지 Lidge 가중치제곱합 최소화 L2(L2-norm)
피셔 스코어
(Fisher Score)
최대 가능성방정식을 풀기위한 뉴턴의 방법 유전 알고리즘 전역 최적화기법 엘라스틱넷 가중치 절댓값 합과 제곱합을 동시에 제약
라쏘-릿지 선형결합
상관 계수
(Correlation Coefficient)
두변수간 상관관계정도를 나타내기 위한 계수 단변량 선택 각 속성 개별검사- 변수와 반응변수간 관계 강도 결정 SelectFromModel 의사결정나무 기반으로 변수 선택
    mRMR 중복성 최소화    

 

* 노드(Node) - 컴퓨터 과학에 쓰이는 기초적인 단위이며,대형 네트워크에선 장치나 데이터 지점(포인트)를 의미한다.
예를 들면 개인용 컴퓨터, 휴대전화, 프린터, 서버 같은 장치들을 말함

 

* Norm  -  벡터의 크기(길이)를 측정하는 방법
L1-norm -  벡터 p, q 각 원소간 차이의 절댓값의 합

L2-norm - 유클리디안 거리(직선 거리)

 

 

* 차원축소(Dimensionality Reduction) 

 - 분석대상인 여러 변수의 정보를 최대한 유지하면서 변수 개수를 최대한 줄이는 탐색적 분석기법

 - 특성변수(설명변수)만 사용함 → 비지도 학습 머신러닝 기법

 * 차원축소 특징

  • 축약된 변수세트: 원래 전체 변수들의 정보를 최대한 유지해야함
  • 결합변수: 변수간 내재된 특성, 관계를 분석 → 선형/비선형 결합변수 → 결합변수만으로 전체변수 설명 가능하도록
  • 차원축소의 목적: 다른 분석 전 단계, 분석 후 개선, 효과적인 시각화 등
  • 장점: 고차원보다 저차원으로 학습하면 머신러닝 알고리즘이 더 잘 작동함, 가시적인 시각화 쉬움
  • 차원축소 방법 :변수 선택과 변수 추출로 나눈다.
  • 차원축소 기법 주요 활용분야
    • 탐색적 데이터 분석
    • 주요 특정(변수)을 추출하여 타 분석기법의 설명변수로 활용
    • 텍스트에서 주제, 개념 추출
    • 비정형 데이터(이미지, 사운드 등)에서 특징 패턴 추출
    • 상품 추천시스템 알고리즘 구현 및 개선
    • 다차원 공간 정보를 저차원으로 시각화
    • 공통 요인을 추출하여 잠재된 데이터 규칙 발견
주성분분석 (PCA)
Principal Component Analysis
특이값분해 (SVD)
Singular Value Decomposition
요인분석
Factor Analysis
독립성분분석(ICA)
Independent  Component Analysis
다차원척도법(MDS)
Multi-Dimensional Scaling
변수들의 공분산행렬 이나 상관행렬 이용
정방행렬(N*N)만사용
(행개수 = 열개수)
차원 행렬데이터에서특이값 추출
(MxN 행렬)
잠재적인 변수가
존재한다고 가정함
다변량 신호를
독립적 하부성분 분리
개체들 간의
유사성/비유사성 측정
선형연관성 없는
저차원공간으로 축소
변환 (서로 직교하도록)
데이터셋을
효과적으로 축약
행렬분해
잠재요인을 도출하여
데이터안의 구조해석
독립성분의 분포는
비정규 분포를 따름
점으로 표현하여
집단화를 시각화 
(저차원으로 사상)

 

* 파생변수 (Derived Variable)

기존 변수에 특정 조건/함수 등을 사용하여 새롭게 재정의한 변수

 

* 파생변수 생성방법 - 복제는 하지않는다

단위 변환/ 표현형식 변환/ 요약통계량 변환/ 변수 결합(수학적 결합)

 - 하나의 변수에서 정보를 추출해 새로운 변수 생성 

- 한 레코드의 값을 결합하여 파생변수 생성 - 조건문을 이용해 파생변수 생성 

* 변수 변환

-불필요한 변수 제거/ 반환/ 새로운 변수 생성  -> 선형관계로 만들면 분석하기 쉬워짐

 

 

* 변수 변환 방법  

방법 단순 기능 변환 비닝 Binning 정규화 표준화
  한쪽으로 치우친 변수를 변환 연속형데이터를 범주화 특정 구간으로 바꿈 0을 중심으로 양쪽 분포
  우측 꼬리 길 때: 루트, 로그
좌측 꼬리 길 때: 제곱
비즈니스 도메인
지식이 필요함
데이터값을 몇개의 Bin 으로 분할하여 계산
최소-최대 정규화
Z-스코어 정규화
Z = (x - x_bar) / s
* 변수 변환 사례(일반적인 마케팅의 사례)
  • 매출, 판매수량, 가격, 가구소득: 로그
  • 지리적 거리: 역수, 로그
  • 효용에 근거한 시장점유율, 선호점유율: e^x / (1+e^x)
  • 우측으로 꼬리가 긴 분포 → 루트, 로그
  • 좌측으로 꼬리가 긴 분포 → 제곱

 

* 불균형 데이터 처리

 - 타겟 데이터 매우 극소수인 경우, 정밀도 향상을 위함
- 처리 기법: 언더샘플링/ 오버샘플링/ 임곗값이동/ 앙상블기법
- 임곗값 이동: 데이터 많은 쪽으로 임곗값(귀무가설 기각여부를 결정하는 값)을 이동시킴( 변화없이 학습 하고 테스트단계에서 임계값 이동 )
- 앙상블 기법: 서로 같거나 다른 여러 모형들의 예측/분류 결과를 종합

 

< 언더 샘플링 - 과소표집>
무작위로 다수 클래스 데이터를 일부만 선택하여 비율을 맞춤
데이터 소실가능성이큼 
< 오버 샘플링 - 과대 표집>
무작위로 소수 클래스 데이터를 복제/생성하여 비율을 맞춤
정보손실 없음, 과적합 가능성이 있음, 검증성능이 나빠질수있음
  랜덤 언더 샘플링 무작위로 일부 선택 랜덤 오버 샘플링 무작위로 복제
  토멕 링크 방법 클래스구분 경계선 가까이 존재하는
토멕 링크를 제거함
SMOTE 가상의 직선 위에
데이터 추가
  ENN 소수 클래스 주위에 인접한
다수 클래스 데이터 제거
Borderline-SMOTE 다수 클래스와 소수 클래스의
경계선에서 SMOTE 적용
  CNN 다수 클래스에 밀집된
데이터가 없을 때까지 제거(데표적 데이터만 남김)
ADASYN 모든 소수 클래스에
다수 클래스의 관측비율 계산
→ SMOTE 적용
  OSS 토멕 링크 + CNN

 

 

 

 

728x90
반응형

댓글