Data Analyst/빅데이터 분석기사

[빅데이터 분석기사 2단원] 1.1 데이터 정제 PDF 제공 (양 많음 주의)

Data Analyst / PO 2024. 8. 15. 14:03
반응형
  1. 데이터 정제
  2. 데이터 결측값 처리
  3. 데이터 이상값 처리

[빅분기2단원]1.1데이터정제.pdf
0.34MB


1. 데이터 정제

(1) 데이터 전처리의 중요성

  • 전처리 결과가 분석 결과에 직접적인 영향 주기 때문에 전처리는 반복적으로 수행해야 함
  • 가장 많은 시간이 소요되는 단계가 데이터 수집과 전처리 단계.
  • 데이터 정제 → 결측값 처리 → 이상값 처리 → 분석 변수 처리 순서로 진행된다.

(2) 데이터 정제 (data Cleansing) 개념

  • 결측값을 채우거나 이상값을 제거하는 과정을 통해 데이터의 신뢰도를 높이는 작업

(3) 데이터 정제 절차

  • 데이터 오류 원인 분석 : 원천 데이터의 오류로 인해 발생하거나 빅데이터 플로우의 문제로부터 발생
  • 데이터 정제 대상 선정 : 모든 데이터를 대상으로 정제 활동
  • 데이터 정제 방법 결정 : 오류 데이터를 삭제, 대체, 예측값으로 삽입
  • 데이터 오류 원인
    • 결측값 Missing Value : 필수 데이터가 입력되지 않고 누락된 값.
      • 중심 경향값 넣기 (평균값, 중앙값, 최빈값)
      • 분포기반(랜덤에 의해 자주 나타나는 값 넣기) 처리
    • 노이즈 Noise : 실제는 입력되지 않았지만 입력되었다고 잘못 판단된 값
      • 일정 간격으로 이동하면서 주변보다 높거나 낮으면 평균값 대체
      • 일정 범위 중간값 대체
    • 이상값 Outlier : 데이터의 범위에서 많이 벗어난 아주 작은 값이나 아주 큰 값
      • 하한보다 낮으면 하한값 대체
      • 상한보다 높으면 상한값 대체
  • (3.1) 데이터 오류 원인을 분석

(3.2) 데이터 정제 대상 선정

  • 모든 데이터를 대상으로 정제 활동을 하는 것이 기본이다
  • 특별히 데이터 품질 저하의 위협이 있는 데이터에 대해서는 더 많은 정제 활동을 수행해야 함
  • 원천 데이터의 위치를 기준으로 분류한다면 내부 데이터보다 외부 데이터가 품질 저하 위협에 많이 노출되어 있으며, 정형 데이터보다는 비정형과 반정형 데이터가 품질 저하 위협에 많이 노출되어 있다.

(3.3) 데이터 정제 방법 결정

  • 데이터 정제는 오류 데이터값을 정확한 데이터로 수정하거나 삭제하는 과정
  • 정제 여부의 점검은 정제 규칙을 이용해 위반되는 데이터를 검색하는 방법을 사용한다
  • 노이즈와 이상값은 특히 비정형데이터에서 자주 발생하므로 데이터 특성에 맞는 정제 규칙을 수립하여 점검한다.
    • 데이터 정제 방법
      • 삭제 : 오류 데이터 전체 또는 부분 삭제, 무작위적인 삭제는 데이터 활용의 문제를 일으킬 수 있음.
      • 대체 : 오류 데이터를 평균값, 최빈값, 중앙값으로 대체. 오류 데이터가 수집된 다른 데이터와 관계가 있는 경우 유용할 수 있으나 그렇지 않은 경우 데이터 활용 시 왜곡 발생
      • 예측값 삽입 : 회귀식 등을 이용한 예측값을 생성하여 삽입. 예측값을 적용하기 위해서는 정상 데이터 구간에 대해서도 회귀식이 잘 성립되어야 함

(4) 데이터 정제 기술

(4.1) 데이터 일관성 유지를 위한 정제 기법 : 다른 시스템으로부터 들어온 데이터에 대한 일관성을 부여하기 위해 수행한다.

  • 데이터 일관성 유지를 위한 정제 기법
    • 변환 Transform : 다양한 형태로 표현된 값을 일관된 형태로 변환하는 작업. 코드 변환 (남/여 → M/F), 형식 변환(YYYYMMDD → YY/MM/DD)
    • 파싱 Parsing : 데이터를 정제 규칙을 적용하기 위한 유의미한 최소 단위로 분할하는 작업. 주민등록번호를 생년월일, 성별로 분할
    • 보강 Enhancement : 변환, 파싱, 수정, 표준화 등을 통한 추가 정보를 반영하는 작업 . 주민등록번호를 통해 성별을 추출한 후 추가 정보 반영

(4.2) 데이터 정제 기술

  • 분산 처리 시스템을 기반으로 데이터를 정제하고 성능을 보장하기 위해 인 메모리(in-memory) 기반 컴퓨팅 기술을 사용
  • 정제된 데이터는 데이터 변경(분석)에 활용 됨
    • 데이터 정제 기술
      • ETL : 수집 대상 데이터를 추출, 가공(변환, 정제)하여 데이터 웨어하우스 및 데이터 마트에 저장하는 기술. extract, transform, load
      • MAP REDUCE : 구글에서 대용량 데이터 세트를 분산, 병렬 컴퓨팅에서 처리하거나 생성하기 위한 목적으로 만들어진 소프트웨어 프레임워크, key-value 쌍으로 구성. 데이터를 추출하는 맵 기술과 추출한 데이터를 중복이 없게 처리하는 리듀스 기술로 구성. 배치 형태 처리 방식으로 많은 데이터를 처리할 때 성능이 느림.
      • SPARK/STORM : 인 메모리 기반 데이터 처리 방식. 스파크는 맵리듀스를 기반으로 성능을 개선한 것으로서 실시간, 배치 처리 모두 가능하며, 기계 학습과 라이브러리도 지원 가능. 스톰은 실시간 데이터 처리에 특화되어있음.
      • CEP Complex Event Processing : 실시간으로 발생하는 이벤트 처리에 대한 결괏값을 수집하고 처리하는 기술. loT 센싱 데이터, 로그, 음성 데이터 등 실시간 데이터의 처리 기술
      • PIG : 대용량 데이터 집합을 분석하기 위한 플랫폼. 하둡을 이용하여 맵리듀스를 사용하기 위한 높은 수준의 스크립트 언어인 피그 라틴 이라는 자체 언어를 제공
      • FLUME 플럼 : 로그 데이터를 수집하고 처리하는 기법. 실시간에 근접하게 데이터를 전처리하고 수집하는 기술

*배치 Batch : 실시간 작업의 반대 개념. 일련의 작업들을 하나의 작업 단위로 묶어서 일괄 처리하는 기법

*인 메모리 기반 데이터 처리 방식 : 디스크에 최적화된 데이터베이스보다 더 빠른 접근과 처리가 가능하도록 메인 메모리에 설치되어 운영되는 데이터 처리 방식

*피그 라틴 Pig Latin : 데이터의 흐름을 표현하기 위해 사용하는 Data&Flow 기반의 스크립트 프로그래밍 언어.

(5) 데이터 세분화

  • 데이터 세분화 개념
    • 데이터 세분화는 데이터를 기준에 따라 나누고, 선택한 매개변수를 기반으로 유사한 데이터를 그룹화하여 효율적으로 사용할 수 있는 프로세스이다.
  • 데이터 세분화 방법
    • 군집화란 이질적인 집단을 몇 개의 동질적인 소집단으로 세분화하는 작업이다
    • 군집 방법은 크게 계층적 방법과 비 계층적 방법으로 구분한다
      • 계층적 방법 : 사전에 군집수를 정하지 않고 단계적으로 단계별 군집 결과를 산출하는 방법 (응집 분석법, 분할 분석법)
      • 비계층적 방법 : 군집을 위한 소집단의 개수를 정해놓고 각 객체 중 하나의 소집단으로 배정하는 방법 (인공신경망 모델 , K-평균 군집화)
  • 데이터 세분화 방법 상세
    • 계층적 방법
      • 응집 분석법 : 각 객체를 하나의 소집단으로 간주하고 단계적으로 유사한 소집단들을 합쳐 새로운 소집단을 구성해가는 기법
      • 분할 분석법 : 전제 집단으로부터 시작하여 유사성이 떨어지는 객체들을 분리해가는 기법
    • 비 계층적 방법
      • 인공신경망 모델 : 기계 학습에서 생물학의 신경망으로부터 영감을 얻은 통계학적 학습 모델
      • K-평균 군집화 : K개 소집단의 중심 좌표를 이용하여 각 객체와 중심 좌표간의 거리를 산출하고, 가장 근접한 소집단에 배정한 후 해당 소집단의 중심 좌표를 업데이트하는 방식으로 군집화하는 방식

2. 데이터 결측값 처리

(1) 데이터 결측값 (Data Missing Value) 개념

  • 결측값은 입력이 누락된 값이다
  • 결측값은 NA, 999999, Null 등으로 표현한다

(2) 데이터 결측값 종류

  • 완전 무작위 결측 MCAR(Missing Completely At Random) : 변수상에서 발생한 결측값이 다른 변수들과 아무런 상관이 없는 경우 ex) 수입에서 결측 발생 시 응답자와 무응답자 간에 어떤 차이가 없다면 응답자의 수입에 대한 분포와 무응답자 수입에 관한 분포가 같음
  • 무작위 결측 (MAR : Missing At Random) : 누락된 자료가 특정 변수와 관련되어 일어나지만, 그 변수의 결과는 관계가 없는 경우. 누락이 전체 정보가 있는 변수로 설명이 될 수 있음을 의미 (누락이 완전히 설명될 수 있는 경우 발생) ex) 남성은 우울증 설문조사에 기재할 확률이 낮지만 우울함의 정도와는 상관이 없는 경우
  • 비 무작위 결측 (MNAR : Missing not At Random) : 누락된 값(변수의 결과)이 다른 변수와 연관 있는 경우 소득에 관한 무응답이 소득 자체와 관련 (세금 정보가 주어져도 소득이 더 높은 사람이 더 높은 무응답률을 보이는 경우)
  • 예시 : 성별 (변수 X) 의 함수로 키 (변수 Y)를 모델링한다고 가정하고, 일부 응답자가 키를 공개하지 않아서 일부 Y값이 누락 되었다고 가정한다.

MCAR : 일부 응답자가 키를 공개하지 않았다고 해서 다른 응답자는 키를 공개하지 않을 이유는 없다. 그렇기 때문에 Y가 누락될 확률은 X 또는 Y와 관련이 없다.

MAR : 여성은 키를 공개할 가능성이 적다. Y 가 누락될 확률은 X 값에만 의존한다.

MNAR : 키가 작은 사람들은 키를 공개할 가능성이적다. Y가 누락될 확률은 Y 자체의 관찰되지 않는 값에 달려 있다.

(3) 데이터 결측값 처리 절차

  • 결측값 식별 : 원본 데이터에서 다양한 형태로 결측 정보가 표현되어 있으므로 현황 파악을 해야 함
  • 결측값 부호화 : 파악된 정보를 바탕으로 컴퓨터가 처리 가능한 형태로 부호화 Na, Nan, inf, Null (encode missing value)
  • 결측값 대체 : 결측값을 자료형에 맞춰 대체 알고리즘을 통해 결측값을 처리 (impute missing value)

(4) 데이터 결측값 처리 방법

  • 단순 대치법
    • 단순 대치법 개념
      • 결측값을 그럴듯한 값으로 대체하는 통계적 기법
      • 결측값을 가진 자료 분석에 사용하기가 쉽고, 통계적 추론에 사용된 통계량의 효율성 및 일치성 등의 문제를 부분적으로 보완해준다.
      • 대체된 자료는 결측값 없이 완전한 형태를 지닌다.
    • 단순 대치법 종류
      • 완전 분석법 Completes Analysis : 불완전 자료는 모두 무시하고 완전하게 관측된 자료만 사용하여 분석하는 방법, 분석은 쉽지만 부분적으로 관측된 자료가 무시되어 효율성이 상실되고 통계적 추론의 타당성 문제가 발생
      • 평균 대치법 Mean Imputation : 관측 또는 실험되어 얻어진 자료의 평균값으로 결측값을 대치해서 불완전한 자료를 완전한 자료로 만드는 방법, 대표적 방법으로 비 조건부 평균 대치법과 조건부 평균 대치법이 있음
      • 단순 확률 대치법 Single Stochastic Imputation : 평균 대치법에서 관측된 자료를 토대로 추정된 통계량으로 결측값을 대치할 때 어떤 적절한 확률값을 부여한 후 대치하는 방법

*회귀 분석 Regression Analysis : 회귀 분석이란 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법이다.

  • 비조건부 평균 대치법 : 관측값이 빠져있을 경우 평균으로 대치한다.
  • 조건부 평균 대치법 : 회귀분석을 활용하여 결측값을 대치한다.
  • 단순 확률 대치법의 종류
    • 핫덱 대체 Hot-Deck : 무응답을 현재 진행중인 연구에서 '비슷한' 성향을 가진 응답자의 자료로 대체하는 방법
    • 콜드덱 대체 Cold-Deck : 핫덱과 비슷하나 대체할 자료를 현재 진행 중인 연구에서 얻는 것이 아니라 외부 출처 또는 이전의 비슷한 연구에서 가져오는 방법
    • 혼합 방법 : 몇 가지 다른 방법을 혼합하는 방법 ex) 회귀 대체를 이용하여 예측값을 얻고 핫덱 방법을 이용하여 잔차를 얻어 두 값을 더하는 경우
  • 다중 대치법
    • 다중 대치법 개념
      • 단순 대치법을 한 번 하지 않고 m번 대치를 통해 m개의 가상적 완전한 자료를 만들어서 분석하는 방법이다
      • 다중 대치법은 대치 → 분석 → 결합의 3단계로 구성되어 있다.
    • 다중 대치법 적용 방식
      • 다중 대치 방법은 원 표본의 결측값을 한 번 이상 대치하여 여러개의 대치된 표본을 구하는 방법.
      • D개의 대치된 표본을 만들어야 하므로 항상 같은 값으로 결측 자료를 대치할 수 없다.
        • 대치 : 각 대치표본은 결측 자료의 예측분포 또는 사후분포에서 추출된 값으로 결측값을 대치하는 방법 활용. 다중 대치 방법은 베이지안 방법 이용
        • 분석 : 같은 예측분포로부터 대치 값을 구하여 D개의 대치표본을 구하게 되면 이 D개의 대치표본으로부터 원하는 분석을 각각 수행함
        • 결합 : 모수 θ의 점 추정과 표준 오차의 추정치를 D개 구한 후 이들을 결합하여 하나의 결과를 제시
    • 다중 대치법은 여러번의 대체표본으로 대체 내 분산과 대체 간 분산을 구하여 추정치의 총 분산을 추정하는 방법이다
    • 대체로 발생하는 불확실성은 대체-간 분산 부분에서 고려함으로써 과소 추정된 분산 추정치가 원 분산에 가까워지도록 해야 한다.

3. 데이터 이상값 처리

(1) 데이터 이상값 개념 Data Outlier

(2) 데이터 이상값 발생 원인

  • 데이터 입력 오류
  • 측정 오류 : 몸무게를 측정하는데 체중계가 비정상적으로 작동했을 때
  • 실험 오류 : 실험 조건이 동일하지 않은 경우
  • 고의적인 이상값 : 자기 보고식 측정에서 나타나는 에러. 정확하게 기입한 값이 이상값으로 보일 수도 있음. 음주량 조사에서 거짓으로 응답한 경우.
  • 표본추출 에러 : 데이터를 샘플링하는 과정에서 나타나는 에러. 샘플링을 잘못한 경우. 신입생 키 조사인데 농구선수가 포함되어 있는 경우.

(3) 데이터 이상값 검출

  • 데이터 이상값 검출 방법
    1. 개별 데이터 관찰 : 전체 데이터의 추이나 특이사항 관찰하여 이상값 검출 + 무작위 표본 추출 후 관찰하여 이상값 검출
    2. 통곗값 : 통계 지표 데이터(평균, 중앙값, 최빈값)와 데이터 분산도(범위, 분산)를 활용한 이상값 검출
    3. 시각화 : 데이터 시각화를 통한 지표 확인으로 이상값 검출 ex) 확률 밀도 함수, 히스토그램, 시계열 차트
    4. 머신러닝 기법 : 데이터 군집화를 통한 이상값 검출 ex) K-평균 알고리즘
    5. 마할라노비스 거리 활용 : 데이터의 분포를 고려한 거리 측도로, 관측치가 평균으로부터 벗어난 정도를 측정하는 통계량 기법
    6. LOF Local Outlier Factor : 관측치 주변의 밀도와 근접한 관측치 주변 밀도의 상대적인 비교를 통해 이상값을 탐색하는 기법
    7. iForest Isolation Forest : 관측치 사이의 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무를 이용하여 이상값을 탐지하는 기법
  1. 통계 기법을 이용한 데이터 이상값 검출 방법
  • ESD Extreme Studentized Deviation : 평균(μ) 으로부터 3 표준편차(σ) 떨어진 값 (0.15%)을 이상값으로 판단 : μσ-3 < data < μ+3σ
  • 기하평균 활용한 방법 : 기하평균으로부터 2.5 표준편차(σ) 떨어진 값을 이상값으로 판단 : 기하평균 -2.5xσ < data < 기하평균 + 2.5xσ
  • 사분위 수를 이용한 방법 : 제1사분위, 제3사분위를 기준으로 사분위 간 범위(Q3-Q1)의 1.5배 이상 떨어진 값을 이상값으로 판단. : Q1 - 1.5x(Q3-Q1) < data < Q3 + 1.5x(Q3-Q1)
  • 표준화 점수 (Z-score)를 활용한 이상값 검출 : 평균이 μ이고, 표준편차가 σ인 정규 분포를 따르는 관측치들이 자료의 중심(평균)에서 얼마나 떨어져 있는지를 나타냄에 따라서 이상값을 검출
  • 딕슨의 Q 검정 Dixon Q-test : 오름차순으로 정렬된 데이터에서 범위에 대한 관측치 간의 차이의 비율을 활용해 이상값 여부를 검정하는 방법. 데이터 수가 30개 미만일 때 적절함.
  • 그럽스 T-검정 Grubbs T-test : 정규 분포를 만족하는 단변량 자료에서 이상값을 검정하는 방법
  • 카이제곱 검정 Chi-Square Test : 카이제곱 검정은 데이터가 정규 분포를 만족하나, 자료의 수가 적은 경우에 이상값을 검정하는 방법

*기하 평균 : n개 양수 값을 모두 곱한것의 n제곱근. 2와 8의 기하 평균은 4

*단변량 자료 : 단변량 자료는 단위에 대해 하나의 속성만 측정하여 얻게 되는 변수에 대한 자료이다.

  1. 시각화를 이용한 데이터 이상값 검출
  • 확률 밀도 함수 : 확률변수의 분포를 보여주는 함수
  • 히스토그램
  • 시계열 차트
  1. 머신러닝 기법을 이용한 데이터 이상값 검출
  • 주어진 데이터를 k개의 클러스터로 묶는 알고리즘. 각 클러스터와 거리 차이의 분산을 최소화하는 방식의 군집 방법
  • 머신러닝 기법을 이용한 데이터 군집화시키는 기법 등을 활용하여 이상값을 검출할 수 있음

*k-평균 군집화 : 주어진 데이터를 k개의 클러스터로 묶는 군집 방법. 각 클러스터와 거리 차이의 분산을 최소화하는 방식의 군집 방법

  1. 마할라노비스 거리를 활용한 이상값 탐색
  • 데이터의 분포를 고려한 거리 측도. 관측치가 평균으로부터 벗어난 정도를 측정하는 통계량 기법
  • 데이터의 분포를 측정할 수 있는 마할라노비스 거리를 이용해 평균으로부터 벗어난 이상값을 검출할 수 있다
  • 이상값 탐색을 위해 고려되는 모든 변수 간에 선형관계를 만족하고, 각 변수들이 정규 분포를 따르는 경우에 적용할 수 있는 전통적인 접근법이다.
  1. LOF local Outlier Factor
  • LOF는 관측치 주변의 밀도와 근접한 관측치 주변의 밀도의 상대적인 비교를 통해 이상값을 탐색하는 기법이다
  • 각 관측치에서 k번째 근접이웃까지의 거리를 산출해 해당 거리 안에 포함되는 관측치의 개수를 나눈 역수 값으로 산출한다.
  1. iForest isolation Forest
  • iForest 기법은 관측치 사이의 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무를 이용하여 이상값을 탐지하는 방법이다
  • 의사결정나무 기법으로 분류 모형을 생성하여 모든 관측치를 고립시켜나가면서 분할 횟수로 이상값을 탐색한다.
  • 데이터의 평균적인 관측치와 멀리 떨어진 관측치일수록 적은 횟수의 공간 분할을 통해 고립시킬 수 있다.

(4) 데이터 이상값 처리 : 삭제, 대체법, 변환, 박스플롯 해석

  • 삭제 Deleting Observations
    • 극단값 절단
      • 기하평균을 이용한 제거 : 여러개의 수를 연속으로 곱해 그 개수의 거듭제곤근으로 구함
      • 하단, 상단 % 이용한 제거 : 10% 절단. 상하위5%
  • 대체법 Imputation
    • 하한값과 상한값을 결정한 후 하한값보다 작으면 하한값으로 대체, 상한값보다 크면 상한값으로 대체.
    • 이상값을 평균이나 중앙값 등으로 대체하는 방법이다.
    • 대체법은 '데이터의 결측값 Missing Value 처리' 에 관한 내용과 동일
  • 변환 Transformation
    • 데이터의 변환은 극단적인 이상값으로 인해 이상값이 발생했다면 자연로그를 취해서 값을 감소시키는 방법으로 실젯값을 변형하는 것이다.
  • 박스 플롯 해석을 통한 이상값 제거 방법 : 사분위 수 이용
    • 박스 플롯의 구성요소
      • 하위 경계 : 제 1사분위에서 1.5 IQR을 뺀 위치
      • 최솟값 : 하위 경계 내의 관측치의 최솟값
      • 제1 사분위
      • 제2 사분위 : 자료들의 50% 위치. 중위수. 두꺼운 막대로 가시성 높임
      • 최댓값
      • 상위 경계 : 제3 사분위에서 IQR의 1.5배 위치
      • 수염(whiskers) : Q1 , Q3로부터 IQR 의 1.5배 내에 있는 가장 멀리 떨어진 데이터까지 이어진선
      • 이상값 : 수염보다 바깥쪽에 데이터가 존재한다면 이상값

*IQR은 Inter Quatile Range의 약자로 Q1과 Q3의 범위 즉 차이를 말합니다.

  • 분류하여 처리
    • 이상값이 많을 경우에 사용하는 방법. 서로 다른 그룹으로 통계 분석을 실행해 처리함.
    • 각 그룹에 대해 통계 모형을 생성하고, 결과를 결합하는 방법 사용 (그림 참고)
혼자 공부하며 시험에 나올 법한 내용들 위주로 정리한 개인 파일입니다.
반응형