AYSTORY

[필기] 분석 변수 처리 본문

빅데이터분석기사

[필기] 분석 변수 처리

bye0nzn 2026. 3. 14. 16:56

01. 변수 선택

  • 변수별 모형의 분류
    • 전체 모형(FM: Full Model)
      • 모든 독립변수를 사용한 모형으로 정의
    • 축소 모형 (RM: Reduced Model)
      • 전체 모형에서 사용된 변수의 개수를 줄여서 얻은 모형
    • 영 모형 (NM: Null Model)
      • 독립변수가 하나도 없는 모형
  • 변수 선택 방법
    • 전진 선택법 (Forward Selection)
      • 영 모형에서 시작, 모든 독립변수 중 종속변수와 단순상관계수의 절댓값이 가장 큰 변수를 분석모형에 포함시키는 것
      • 부분 F 검정을 통해 유의성 검증을 시행하여, 유의한 경우는 가장 큰 F 통계량을 가지는 모형을 선택하고 유의하지 않는 경우는 변수선택 없이 과정을 중단
      • 한번 추가된 변수는 제거 X
    • 후진 선택법 (Backward Selection), 후진 소거법 (Backward Elimination)
      • 전체모델에서 시작, 모든 독립변수 중 종속변수와 단순상관계수의 절댓값이 가장 작은 변수를 분석모형에서 제외시킴.
      • 부분 F 검정을 통해 유의성 검증을 시행, 유의하지 않은 경우는 변수를 제거하고 유의한 경우는 변수제거 없이 과정 중단
      • 한번 제거된 변수 추가 X
    • 단계적 선택법 (Stepwise Selection)
      • 전진 선택법과 후진 선택법의 보완방법
      • 전진 선택법을 통해 가장 유의한 변수를 모형에 포함 후 나머지 변수들에 대해 후진 선택법을 적용하여 새롭게 유의하지 않은 변수들 제거
      • 제거된 변수는 다시 모형에 포함하지 않으며 유의한 설명변수가 존재하지 않을 때까지 과정 반복

02. 차원 축소

  • 자료의 차원
    • 분석하는 데이터 종류의 수
  • 차원의 축소
    • 어떤 목적에 따라 변수(데이터의 종류)의 양을 줄이는 것
  • 차원 축소의 필요성
    • 복잡도의 축소(Reduce Complexity)
      • 데이터를 분석하는 데 있어서 분석시간의 증가와 저장변수 양의 증가를 고려 시 동일한 품질을 나타낼 수 있다면 효율성 측면에서 데이터 종류의 수를 줄여야 함.
    • 과적합 방지
      • 차원의 증가는 분석모델 파라미터의 증가 및 파라미터 간 복잡한 관계의 증가로 분석결과의 과적합 발생 가능성이 커짐. 이것은 분석모형의 정확도(신뢰도) 저하를 발생시킬 수 있음.
      • 작은 차원만으로 안정적인(robust) 결과를 도출해낼 수 있다면 많은 차원을 다루는 것보다 효율적
    • 해석력(interpretability) 확보
      • 차원이 작은 간단한 모델일수록 내부구조 이해가 용이하고 해석이 쉬워짐.
      • 해석이 쉬워지면 명확한 결과 도출에 많은 도움을 줄 수 있음.
    • 차원의 저주(Curse of Dimensionality)
      • 데이터 분석 및 알고리즘을 통한 학습을 위해 차원이 증가하면서 학습데이터의 수가 차원의 수보다 적어져 성능이 저하되는 현상
      • 차원을 줄이거나 데이터 수 늘리는 방법 이용
  • 차원 축소의 방법
    • 요인 분석 (Factor Analysis)
      • 다수의 변수들 간의 관계(상관관계) 분석하여 공통차원 축약하는 통계분석 과정
      • 목적
        • 변수 축소 : 다수 변수들의 정보손실을 억제하면서 소수의 요인으로 축약하는 것
        • 변수 제거
        • 변수특성 파악 : 관련 변수들이 군집으로써 요인 간의 상호 독립성 파악이 용이해짐.
        • 타당성 평가 : 묶여지지 않는 변수의 독립성 여부 판단
        • 파생변수 : 요인점수를 이용한 새로운 변수 생성. 회귀분석, 판별분석 및 군집분석 등에 이용 가능
      • 독립변수, 종속변수 개념이 없음. 주로 기술 통계에 의한 방법을 이용.
      • 종류
        • 주성분 분석, 공통요인 분석, 특이값 분해(SVD) 행렬, 음수미포함 행렬분해(NMF) 등
        • 공통요인 분석은 분석대상 변수들이 기저를 이루는 구조를 정의하기 위한 요인분석 방법으로 변수들이 갖고 있는 공통분산만을 이용하여 공통요인만 추출하는 방법
    • 주성분 분석(PCA: Principal Component Analysis)
      • 분포된 데이터들의 특성을 설명할 수 있는 하나 또는 복수 개의 특징(주성분, Principal Component)을 찾는 것
      • 서로 연관성 있는 고차원 공간의 데이터를 선형연관성이 없는 저차원(주성분)으로 변환하는 과정(직교변환 사용)
      • 기존의 기본변수들은 새로운 변수의 세트로 변환하여 차원을 줄이되 기존 변수들의 분포특성을 최대한 보존하여 이를 통한 분석결과의 신뢰성 확보
      • 데이터 하나하나에 대한 성분을 분석하는 것이 아니라, 여러 데이터들이 모여 하나의 분포를 이룰 때, 이 분포의 주성분을 분석해주는 방법
      • 특징
        • 차원 축소에 폭넓게 사용. 어떠한 사전적 분포 가정의 요구가 없음.
        • 가장 큰 분산의 방향들이 주요 중심 관심으로 가정
        • 본래 변수들의 선형결합으로만 고려
        • 차원의 축소는 본래 변수들이 서로 상관이 있을 때만 가능
        • 스케일에 대한 영향이 큼. 즉, PCA 수행을 위해선 변수들 간 스케일링 필수
    • 특이값 분해(SVD: Singular Value Decomposition)
      • 차원축소 원리
        • 수학적 원리 : 주어진 행렬 M(크기가 m x n인 행렬)을 여러 개의 행렬 M과 동일한 크기를 갖는 행렬로 분해할 수 있으며 각 행렬의 원소값의 크기는 Diagonal Matrix에서 대각성분의 크기에 의해 결정
        • 데이터 응용 : 기존 전차원 정보를 이용해 원래 행렬 A와 비슷한 정보력을 갖는 차원을 만들어낼 수 있음.
        • 즉, 큰 몇 개의 특이값을 갖고도 충분히 유용한 정보를 유지할 수 있는 차원 생성 가능
    • 음수 미포함 행렬분해(NMF: Non-negative Matrix Factorization)
      • 음수를 포함하지 않은 행렬 V를 음수를 포함하지 않은 두 행렬의 곱으로 분해하는 알고리즘
      • 일반적으로 W의 열 개수와 H의 행 개수가 WH=V가 되도록 결정. 기존행렬 V와 분해한 음수 미포함 행렬 W와 H의 곱과의 차이를 오차 U라고 함. V=WH+U, U의 원소들은 양수나 음수가 될 수 있음.
      • W와 H의 크기가 V보다 작기 때문에 저장하거나 다루기 용이함. V를 원래 정보보다 상대적으로 적은 정보로 표현하여 분해한 행렬 하나가 전체 정보의 대략적 정보를 제시할 수 있음.
      • 행렬 곱셈에서 곱해지는 행렬은 결과행렬보다 훨씬 적은 차원을 갖기 때문에 NMF가 차원축소 가능

03. 파생변수의 생성

데이터 분석 시 주어진 원데이터를 그대로 활용하기보다는 분석의 목표에 적합하게 계속해서 데이터 형태를 수정보완할 필요가 있음. Data Mart는 Data Warehouse로부터 복제 또는 자체 수집된 데이터모임의 중간층이지만 분석을 위한 기본단계변수가 모여지는 단계로 요약변수와 파생변수들의 모임이라고 볼 수 있음. 

  • 파생변수
    • 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여하는 변수로 매우 주관적일 수 있으므로 논리적 타당성을 갖출 필요가 있음.
    • 세분화 고객행동예측, 캠페인반응예측 등에 활용
    • 특정상황에만 유의미하지 않게 대표성을 나타나게 할 필요
  • 요약변수
    • 수집된 정보를 분석에 맞게 종합(aggregate)한 변수
    • 데이터 마트에서 가장 기본적 변수
    • 많은 분석 모델에서 공통으로 사용될 수 있어 재활용성이 높음.
  • 요약변수 vs 파생변수
    • 요약변수 처리시 유의점
      • 처리(단어 빈도, 초기행동변수, 트렌드변수 등) 방법에 따라 결측치 처리 및 이상값 처리에 유의
      • 연속형 변수의 구간화 적용과 구간화를 통한 의미 파악 시 정구간이 아닌 의미 있는 구간을 찾도록 해야 함.
    • 파생변수 생성 및 처리의 유의점
      • 특정 상황에만 의미성 부여가 아닌 보편적이고 전 데이터구간에 대표성을 가지는 파생변수 생성을 위해 노력해야 함.
      • 생성방법
        • 한 값으로부터 특징 추출
        • 한 레코드내의 값들 결합
        • 다른 테이블의 부가적 정보 결합
        • 다수 필드내에 시간 종속적 데이터를 선택(pivoting)
        • 레코드 또는 중요 필드 요약
      • 교호작용(interaction)을 포함한 파생변수 생성
        • 교호작용 : 데이터 분석에서 변수 간 상호작용을 말하는 것으로 두 개 이상의 독립변수가 함께 작용하여 종속변수에 영향을 미치는 경우
        • 교호작용을 포함한 파생변수는 독립변수 간의 상호작용 효과를 모델에 반영하는 중요한 방법 중 하나
        • 독립변수 간 교호작용을 파생변수로 만드는 것은 일반적인 기법이지만, 종속변수와 독립변수의 교호작용을 사용하는 것은 피해야 함.
요약변수(단순 종합 개념) 파생변수(주관적 변수 개념)
매장이용 횟수 주 구매매장 변수
구매상품품목 개수 구매상품 다양성 변수
기간별 구매금액 · 횟수 주 활동지역 변수
상품별 구매금액 · 횟수 주 구매상품 변수

 

04. 변수 변환

  • 변수 변환 개념
    • 데이터를 분석하기 좋은 형태로 바꾸는 작업
    • 수학적 의미로 변환은 기존의 변수공간에서는 해결하거나 관찰할 수 없는 사실을 영역을 달리 하는 것으로(변환) 해석이 용이해지거나 취급이 단순해지는 장점이 있음.
    • Data Preprocessing(전처리) 과정 중 하나
  • 변수 변환 방법
    • 범주형 변환
      • 연속형 변수 중 변수자체로의 분석보다는 분석결과의 명료성 및 정확성을 배가시키기 위해 범주형으로 바꾸는 것이 좋은 경우가 있음.
    • 정규화
      • 데이터가 가진 스케일이 심하게 차이나는 경우 그 차이를 그대로 반영하기보다는 상대적 특성이 반영된 데이터로 변환하는 것이 필요함.
      • 일반 정규화
        • 수치로 된 값들을 여러 개 사용할 때 각 수치의 범위가 다르면 이를 같은 범위로 변환해서 사용
        • ex) 과목 A의 시험은 10점 만점에 8점, 과목 B의 시험은 50점 만점에 20점일 때, 정규화하여 8/10=0.8점, 20/50=0.4점으로 변환
      • 최소-최대 정규화 (Min-Max Normalization)
        • 데이터를 정규화하는 가장 일반적 방법
        • 모든 feature에 대해 최소값 0, 최대값 1로, 그리고 다른 값들은 0과 1 사이의 값으로 변환하는 것
        • 만약 X라는 값에 대해 최소-최대 정규화를 한다면 다음과 같은 수식 사용
          • Min-Max Normalization = (X - Min) / (Max - Min)
        • Outlier(이상치) 영향을 많이 받는 점 유의
      • Z-점수(Z-score) 정규화
        • 이상치 문제를 피하는 데이터 정규화 전략
        • 만약 데이터 값이 평균과 일치하면 0으로 정규화되고, 평균보다 작으면 음수, 평균보다 크면 양수로 나타남. 이때 계산되는 음수와 양수의 크기는 그 데이터의 표준편차에 의해 결정됨. 그래서 만약 데이터 표준편차가 크면(값이 넓게 퍼져 있으면) 정규화되는 값이 0에 가까워짐.
        • 이상치를 잘 처리하지만, 정확히 동일한 척도로 정규화된 데이터 생성하지 않는다는 점 유의
      • 로그변환 (Log Transformation)
        • 어떤 수치값을 그대로 사용하지 않고 여기에 로그를 취한 값을 사용하는 것
        • 로그를 취하면 그 분포가 정규분포에 가깝게 분포하는 경우가 있음. 이런 분포를 로그정규분포(Log-normal Distribution)을 가진다고 함.
          • X ~ ln(X)
        • 로그변환분포를 사용하는 전형적 데이터
          • 국가별 수출액, 사람의 통증 정도 수치화, 개별 주식의 가격이용 변동성 분석 등
          • 데이터분포의 형태가 좌측으로 치우친 경우 정규분포화를 위해 로그변환 사용
      • 역수변환 (Inverse Transformation)
        • 어떤 변수를 데이터 분석에 그대로 사용하지 않고 역수를 사용하면 오히려 선형적 특성을 갖게 되어 의미를 해석하기가 쉬워지는 경우
        • 데이터분포 형태로 보면 극단적인 좌측으로 치우친 경우 정규분포화를 위해 역수변환 사용
          • X ~ 1/X
      • 지수변환 (Power Transformation)
        • 어떤 변수를 데이터 분석에 그대로 사용하지 않고 지수를 사용하면 오히려 선형적 특성을 갖게 되어 의미를 해석하기가 쉬워지는 경우
        • 데이터 분포형태가 우측으로 치우친 경우 정규분포화를 위해 지수변환 사용
          • X ~ Xⁿ
      • 제곱근변환 (Square Root Transformation)
        • 어떤 변수를 데이터 분석에 그대로 사용하지 않고 제곱근을 사용하면 오히려 선형적 특성을 갖게 되어 의미를 해석하기 쉬워지는 경우
        • 데이터분포 형태로 보면 좌측으로 약간 치우친 경우 정규분포화를 위해 제곱근변환 사용
          • X ~ √X
      • 분포형태별 정규분포로의 변화
        • 모집단의 분포형태별로 사용가능한 변수변환이 다름. 최종적으로 정규분포 형태 지향함.
          • 우로 치우침 → X³
          • 우로 약간 치우침 → X²
          • 좌로 약간 치우침 → √X
          • 좌로 치우침 → ln(X)
          • 극단적 좌로 치우침 → 1/X
        • 모두 정규분포화 따름.
        • 기본적으로 단일집단의 정규성 검정은 데이터 분포의 형태를 눈으로 확인할 수도 있지만 샤피로테스트 또는 큐큐 플롯을 이용해 확인 가능하며, 결과에 따라 적당한 변수변환식을 사용하여 정규분포 형태로 변환이 가능
      • Box-Cox
        • 데이터 변환을 통해 정규분포에 가깝게 만들어 통계 분석 및 모델링을 용이하게 하는 통계적 방법
        • λ에 따라서 0일 때는 로그변환, 0이 아닐 때는 멱변환(Power Transform)으로 변환
        • λ를 자동으로 결정하는 방법과 사용자가 수동으로 설정하는 방법
          • 자동으로 결정하는 방법: 최대 가능도 추정을 통해 최적의 λ 값을 찾아내는 것
          • 수동으로 설정하는 방법: 분석가가 경험과 지식을 바탕으로 λ 값을 선택하는 것

05. 불균형 데이터 처리

어떤 데이터에서 각 클래스(주로 범주형 반응 변수)가 갖고 있는 데이터 양에 차이가 큰 경우, 클래스 불균형이 있다고 말함. 예를 들어, 병원에서 질병이 있는 사람과 없는 사람의 데이터를 수집했다고 하자. 일반적으로 질병이 있는 사람이 없는 사람에 비해 적음. 병원 데이터뿐 아니라 대부분 '현실 데이터'에 클래스 불균형 문제가 있음.

  • 불균형 데이터 문제점
    • 데이터 클래스 비율이 너무 차이가 나면(Highly-imbalanced Data) 단순히 우세한 클래스를 택하는 모형의 정확도가 높아지므로 모형의 성능판별이 어려워짐. 즉, 정확도가 높아도 데이터 개수가 적은 클래스의 재현율(recall-rate)이 급격히 작아지는 현상 발생 가능
  사실
참(positive) 거짓(negative)
실험 결과 참(positive) TP (True Positive) FP (False Positive)
거짓(negative) FN (False Negative) TN (True Negative)
  • 불균형 데이터 처리 방법
    • 가중치 균형방법 (Weighted Balancing)
      • 데이터에서 손실을 측정할 때 특정 클래스의 데이터에 더 큰 loss 값을 갖도록 하는 방법
      • 데이터 클래스의 균형이 필요한 경우로 각 클래스별 특정 비율로 가중치를 주어서 분석하거나 결과를 도출하는 것으로 정의
        • 고정 비율 이용
          • 클래스의 비율에 따라 가중치 두는 방법
        • 최적 비율 이용
          • 분야와 최종 성능을 고려해 가중치 비율의 최적 세팅을 찾으면서 가중치 찾아가는 방법
    • 언더샘플링(Undersampling)과 오버샘플링(Oversampling)
      • 비대칭 데이터는 다수 클래스 데이터에서 일부만 사용하는 언더샘플링이나, 소수 클래스 데이터를 증가시키는 오버샘플링을 사용하여 데이터 비율을 맞추면 정밀도(precision)가 향상됨.
        • 언더샘플링
          • 대표클래스의 일부만을 선택하고, 소수클래스는 최대한 많은 데이털르 사용하는 방법
          • 언더샘플링된 대표클래스 데이터가 원본 데이터와 비교해 대표성이 있어야 함.
        • 오버샘플링
          • 소수클래스의 복사본을 만들어, 대표클래스의 수만큼 데이터를 만들어 주는 것
          • 똑같은 데이터를 그대로 복사하는 것이기 때문에 새로운 데이터는 기존 데이터와 같은 성질을 갖게 됨.

06. 인코딩

범주형 데이터를 수치형으로 변환하여 머신러닝 모델에 적용 가능하게 하는 기법

  • 레이블 인코딩(Label Encoding)
    • 각 범주에 순차적 정수 레이블을 할당하여 데이터를 변환하며, 주로 순서나 크기에 의미가 없는 범주형 데이터를 변환할 때 사용. 예를 들어, 옷의 크기를 표현하는 "S", "M", "L"과 같은 데이터를 레이블 인코딩으로 변환 가능
    • 주의할 점 ; 숫자 값에 의도적으로 순서나 크기를 부여하게 될 수도 있다는 것. 명목형 데이터에서는 문제가 없지만, 순서형 데이터에서는 잘못된 결과를 초래할 수 있음. 따라서, 순서나 계층구조가 없는 데이터에 주로 사용되며, 순서나 계층 구조가 있는 데이터에는 다른 인코딩 기법을 고려해야 함.
  • 원-핫 인코딩(One-Hot Encoding)
    • 각 범주에 대해 해당하는 인덱스만 1이고 나머지는 0인 이직 벡터로 변환. 컴퓨터가 범주형 데이터를 이해하고 처리 가능
    • 예를 들어, 사과: [1 0 0 ], 바나나: [0 1 0], 딸기: [0 0 1]로 변환 가능
      • 각 과일의 범주를 명확히 나타내며, 다른 과일과의 비교나 모델링에 사용 가능
  • 타깃 인코딩(Target Encoding)
    • 주로 분류 문제에서 사용됨. 각 범주에 대한 종속 변수(타깃)의 평균 값을 인코딩으로 사용하는 방식
    • 타깃 인코딩 수행 단계
      • 범주형 변수의 각 범주에 대해 종속 변수의 평균 값 계산
      • 계산된 평균 값을 해당 범주에 대한 인코딩 값으로 대체
    • 타깃 인코딩의 목적은 범주형 변수의 각 변수가 종속 변수와 어떤 관계를 갖는지 수치화하여 모델이 이를 학습할 수 있게 하는 것. 타깃 인코딩을 사용하면 범주형 변수의 정보가 보다 명확하게 모델에 반영되기 때문에 예측 성능 향상 가능
    • 주의할 점 ; 과적합 가능성이 있음. 훈련 데이터에만 적용되어야 함. 교차검증 등을 통해 적절한 평균 값을 계산하고 적용하는 과정이 필요. 또한, 범주의 수가 적고 데이터가 적은 경우, 타깃 인코딩을 사용하는 것이 적절하지 않을 수 있음.

'빅데이터분석기사' 카테고리의 다른 글

[필기] 고급 데이터 탐색  (0) 2026.03.15
[필기] 데이터 탐색의 기초  (0) 2026.03.14
[필기] 데이터 정제  (0) 2026.03.11
[필기] 데이터 적재 및 저장  (0) 2026.03.08
[필기] 데이터 수집 및 전환  (0) 2026.03.07