현재 선택한 빅데이터 분석 과정

빅데이터분석기사 필기 이론 학습

이론 목록으로 돌아가기

파생변수·변수변환·스케일링

파생변수·변환·인코딩·스케일링의 적용 조건을 구분한다.

예상 읽기 12

핵심 요약

좋은 변수 가공은 값을 많이 만드는 작업이 아니라 예측 시점에 실제로 알 수 있는 정보를 목적에 맞는 표현으로 바꾸는 작업이다. 파생변수는 비율·차이·기간·집계·상호작용을 만들고, 변수변환은 분포나 관계의 형태를 바꾸며, 인코딩은 범주를 계산 가능한 형태로 표현하고, 스케일링은 변수 단위의 영향을 조정한다.

모든 데이터 기반 기준은 훈련 데이터 또는 각 훈련 폴드에서만 학습해야 한다. 여기에는 평균·표준편차뿐 아니라 집계 기준시점, 구간 경계, 범주 사전, 빈도·타깃 인코딩 값, 로그·거듭제곱 변환 계수, 최솟값·최댓값·중앙값·IQR이 모두 포함된다.

학습 목표

  • 파생변수·변수변환·범주형 인코딩·스케일링의 역할을 구분한다.
  • 기준시점과 관측 창을 고정해 시점 누수 없는 집계변수를 설계한다.
  • 비율의 0분모와 순환형 시간의 경계조건을 처리한다.
  • 로그·Box-Cox·구간화의 적용 조건을 판정한다.
  • 표준화·최소최대·로버스트 스케일링의 수식과 0분모 경계를 계산한다.
  • 교차검증에서 타깃 인코딩과 전처리 파라미터 누수를 방지한다.

1. 변수 가공 방법의 구분

구분목적대표 예결과의 의미
파생변수원변수 관계·업무량을 직접 표현비율, 기간, 집계, 상호작용새로운 업무 특성
변수변환분포·비선형 관계·해석 단위 변경로그, 거듭제곱, 구간화같은 정보를 다른 함수로 표현
범주형 인코딩범주를 모형이 처리할 수 있게 표현원-핫, 순서형, 빈도, 타깃 인코딩범주 구조의 수치 표현
스케일링단위와 값 범위의 상대적 영향 조정표준화, 최소최대, 로버스트중심·산포·범위 조정

파생변수와 변환은 원자료의 오류를 자동으로 고치지 않는다. 단위·결측·이상값·중복·사용 가능 시점을 먼저 확인하고 원값, 변환식, 파라미터, 생성 버전을 추적 가능하게 남긴다.

2. 시점이 맞는 파생변수

2.1 기준시점과 관측 창

파생변수를 만들기 전에 다음을 고정한다.

  • 예측 기준시점(as-of time): 모형이 답을 내야 하는 시점
  • 관측 창: 기준시점 이전 어느 기간을 집계할지
  • 포함 경계: 기준시점과 같은 시각의 사건을 포함하는지
  • 대상 키: 고객·상품·장비 등 어떤 단위로 집계하는지
  • 이벤트 시각과 적재 시각: 실제 발생 시각과 시스템 유입 시각의 차이

예를 들어 기준일이 9월 1일이고 최근 30일 구매 건수를 만든다면 종료 경계를 명시하고, 9월 1일 이후 거래나 나중에 정정된 미래 정보를 포함하지 않는다. 같은 행의 목표 결과까지 집계에 들어가면 자기 자신을 이용한 누수가 된다. 시계열·패널 자료에서는 엔터티별로 시간 정렬한 뒤 현재 행보다 이전 사건만 누적하도록 한 칸 이동하는 방식을 검토한다.

2.2 비율과 0분모

비율은 규모 차이를 보정할 수 있지만 분모가 작거나 0이면 불안정하다.

r=(A) ÷ (B)

$B=0$이면 비율은 정의되지 않는다. 이를 임의로 0으로 두면 기회가 없었음기회가 있었지만 사건이 없었음을 같은 상태로 만든다. 업무 의미에 따라 결측 표시, 분모 0 플래그, 분자·분모 동시 제공, 최소 노출량 기준을 사용한다.

성공 건수 $A$, 노출 건수 $B$, 훈련 자료의 기준 비율 $p$, 평활 강도 $\alpha$가 있을 때 다음과 같은 평활 비율을 검토할 수 있다.

r_smooth=(A+\alpha p) ÷ (B+\alpha)

이는 분모가 작은 집단의 극단적 비율을 기준 비율 쪽으로 완화한다. $p$와 $\alpha$는 훈련 자료에서 정하고, 원비율·분모 크기와 함께 해석한다.

2.3 기간·상호작용·순환 변수

  • 기간: 기준시점 - 가입일, 직전 사건 이후 경과시간
  • 차이: 실제값 - 기준값, 단 두 값 모두 예측 시점에 이용 가능해야 함
  • 상호작용: 가격×할인율, 온도×습도처럼 결합 효과 표현
  • 집계: 최근 7일·30일 건수, 평균, 최대, 추세

상호작용과 다항항은 선형 모형에서 관계를 표현하지만 계수 해석과 다중공선성을 복잡하게 할 수 있다. 필요한 경우 중심화와 규제를 검토하되 주효과를 근거 없이 제거하지 않는다.

시간·요일처럼 끝과 시작이 이어지는 값은 주기 $P$를 사용해 사인·코사인 쌍으로 표현한다.

x_sin=\sin((2\pi t) ÷ (P)), x_cos=\cos((2\pi t) ÷ (P))

시간대에서 $P=24$일 때 0시는 (0, 1), 23시는 약 (-0.2588, 0.9659)다. 두 점의 거리는 약 0.261로 가까워 원값의 차이 23보다 주기적 인접성을 잘 표현한다. 사인 또는 코사인 하나만 쓰면 서로 다른 시점이 같은 값이 될 수 있으므로 보통 둘을 함께 사용한다.

3. 범주형 변수 인코딩

방법적합한 상황주요 위험·대응
원-핫 인코딩순서 없는 명목형 범주고카디널리티·희소성, 미지 범주 처리 필요
순서형 인코딩업무상 순서가 명확한 범주코드 간 간격이 실제 간격으로 해석될 수 있음
빈도 인코딩범주 출현 빈도를 신호로 사용범주 정체성 손실, 빈도는 훈련 자료에서 계산
타깃 인코딩범주별 목표 평균을 활용직접적인 목표 누수와 희귀 범주 과대적합 위험

원-핫 인코딩의 범주 사전은 훈련 자료에서 만들고, 검증·운영의 미지 범주는 기타/미지 규칙 또는 모두 0과 같은 사전 정의 방식으로 처리한다. 순서가 없는 범주를 서울=1, 부산=2, 대전=3처럼 임의 정수로 바꾸면 모형이 거짓 순서와 거리를 학습할 수 있다.

타깃 인코딩은 훈련 행 자신의 목표값이 그 행의 인코딩에 직접 들어가지 않도록 주의한다. 훈련 자료에는 폴드 밖 목표로 만든 out-of-fold 값을 사용하고, 검증·시험 자료에는 전체 훈련 자료로 확정한 매핑을 적용한다. 희귀·미지 범주는 훈련 전체 평균 쪽으로 평활하거나 사전 정의 기본값을 사용한다.

4. 수치형 변수변환

4.1 로그 변환

양수 값이 오른쪽으로 길게 치우치거나 곱셈적 관계를 덧셈적으로 표현하려면 로그 변환을 검토한다.

x'=log(x) (x>0), x'=log(1+x) (x\ge0)

로그 밑이 달라지면 상수배가 달라지지만 순서는 유지된다. log(1+x)는 0을 포함한 비음수 값에 편리하지만 음수에는 조건 없이 적용할 수 없다. 상수를 임의로 더하면 값의 간격과 역변환 해석이 바뀌므로 근거를 기록한다. 로그 변환이 정규성을 보장하거나 이상값 문제를 자동 해결하지도 않는다.

4.2 거듭제곱 변환

Box-Cox 변환은 양수 $x$에 대해 다음처럼 정의할 수 있다.

BC_λ(x)= \begincases \dfracx^λ-1λ, & λ\ne0\ log(x), & λ=0 \endcases (x>0)

Yeo-Johnson 변환은 0과 음수를 포함한 자료에도 사용할 수 있다. 변환 계수 $\lambda$는 훈련 폴드에서 선택하며, 분포가 대칭에 가까워졌다는 사실만으로 후속 성능 향상을 확정하지 않는다.

4.3 구간화

업무 경계나 비선형 관계를 단순화할 때 구간화를 사용할 수 있다. 그러나 경계 양쪽의 가까운 값이 다른 범주가 되고 구간 안 순서와 차이가 사라진다. 분위수·최적 분할처럼 데이터에서 경계를 학습하면 훈련 폴드에서만 정하고 검증·시험에는 같은 경계를 적용한다. 경계 밖 새 값과 중복 분위수의 처리 규칙도 정한다.

5. 스케일링 수식과 경계조건

5.1 표준화

z=\fracx-\mu_train\sigma_train

훈련 평균이 50, 표준편차가 10이면 값 70의 표준화 결과는 2다. 표준화는 훈련 자료의 중심과 산포를 맞추지만 정규분포로 바꾸거나 값을 특정 구간에 제한하지 않는다. $\sigma_{train}=0$이면 분모가 0이므로 계산할 수 없으며 상수 변수의 원인을 확인해 제외 등을 결정한다.

5.2 최소-최대 스케일링

구간 $[a,b]$로 변환하는 식은 다음과 같다.

x'=a+\fracx-x_minx_max-x_min(b-a)

$[0,1]$ 변환에서 훈련 최솟값 10, 최댓값 30이면 값 15는 0.25이고 새 값 40은 1.5다. 운영 자료가 훈련 범위를 벗어나면 결과도 지정 구간 밖으로 나갈 수 있다. 자동 클리핑은 원래 크기 정보를 잃으므로 모형 요구와 정책 근거가 있을 때만 사용한다. $x_{max}=x_{min}$이면 분모가 0이다.

5.3 로버스트 스케일링

x'=\fracx-mediantrainIQRtrain, IQR=Q_3-Q_1

중앙값과 IQR을 사용해 평균·표준편차보다 극단값 영향이 작지만, 극단값을 제거하거나 결과를 일정 범위로 제한하지 않는다. $IQR=0$이면 계산할 수 없으므로 동일값 비율과 변수 의미를 확인한다. 사분위수 계산 관례도 기록한다.

방법학습 파라미터장점핵심 경계
표준화평균·표준편차거리·경사·규제에 널리 사용표준편차 0
최소최대최솟값·최댓값·목표 구간범위 해석이 직관적최대=최소, 새 값의 범위 이탈
로버스트중앙값·IQR극단값 영향이 비교적 작음IQR 0

6. 알고리즘과 스케일의 관계

방법스케일 영향판단
k-평균·k-최근접 이웃거리 계산에 직접 영향스케일링을 우선 검토
PCA분산이 큰 변수가 성분을 지배단위와 분산 의미 확인
SVM·커널 방법거리·내적·마진에 영향스케일링 검토
신경망·경사 기반 학습최적화 속도와 안정성에 영향입력 범위 조정
L1·L2 규제 선형모형계수 크기에 페널티 적용비교 가능한 척도 필요
의사결정나무변수별 순서와 임곗값 분할단조 선형 스케일 영향이 일반적으로 작음

나무 기반 모형이 스케일에 덜 민감하다는 사실은 결측·이상값·누수 점검이나 파생변수가 불필요하다는 뜻이 아니다. 로그 변환처럼 순서를 보존하는 단조 변환은 이상적인 나무 분할을 크게 바꾸지 않을 수 있지만, 구간화·반올림·클리핑은 순서와 동률을 바꿀 수 있다.

7. 누수 없는 전처리 파이프라인

각 교차검증 훈련 폴드 안에서 다음을 다시 수행한다.

  1. 예측 기준시점과 과거 관측 창으로 파생변수를 계산한다.
  2. 결측 처리와 상수·오류 변수 판정을 한다.
  3. 범주 사전, 빈도·타깃 인코딩 매핑을 학습한다.
  4. 구간 경계, 변환 계수, 평균·표준편차·최솟값·최댓값·중앙값·IQR을 학습한다.
  5. 고정된 파이프라인을 해당 검증 폴드에 적용한다.

타깃 인코딩의 훈련 행은 내부 out-of-fold 값으로 만들고, 집계형 변수는 해당 행의 시점보다 과거 정보만 사용한다. 변환 종류나 하이퍼파라미터를 검증 성능으로 고른다면 안쪽 검증에서 선택하고 바깥 검증은 최종 평가에만 사용한다.

운영 시에는 학습한 파라미터와 범주 사전의 버전을 고정하고 미지 범주율, 범위 초과율, 0분모율, 결측률과 분포 변화를 모니터링한다. 운영 자료에 맞춰 기준을 즉시 다시 학습하면 학습 모형이 기대한 변수 정의와 달라질 수 있다.

8. 사례 적용

상황: 출고 직전에 배송 지연을 예측한다. 주문금액, 상품 수, 고객 가입일, 과거 배송 이력, 실제 배송완료일이 있으며 거리 기반 분류 모형을 비교한다.

판단 과정:

  1. 출고 시점 이후에 확정되는 실제 배송완료일은 제외한다.
  2. 가입일은 출고 시점 기준 가입기간으로 바꾼다.
  3. 과거 지연률은 현재 주문 이전의 지연건수/배송건수로 만들고, 분모 0 플래그와 분모 크기를 함께 제공한다.
  4. 주문금액은 0 이상인지 확인한 뒤 log(1+x) 후보를 검증한다.
  5. 범주형 배송지역은 훈련 자료로 원-핫 사전을 만들고 미지 범주 규칙을 정한다.
  6. 거리 기반 모형 입력은 훈련 폴드의 평균·표준편차로 표준화한다.

결론: 변수의 사용 가능 시점, 수학적 정의, 경계조건, 모형 계산 방식을 함께 만족하는 버전화된 파이프라인을 사용한다.

오른쪽으로 긴 꼬리를 가진 양수 자료의 원분포와 log1p 변환 후 더 대칭적으로 된 분포를 비교한 두 히스토그램
오른쪽으로 긴 꼬리를 가진 양수 자료의 원분포와 log1p 변환 후 더 대칭적으로 된 분포를 비교한 두 히스토그램

로그변환은 큰 값의 간격을 압축해 오른쪽 꼬리를 완화할 수 있다. 0·음수 처리와 역변환 해석을 명시해야 하며 정규성을 보장하는 자동 처리가 아니다.

원값 10,20,30,40,50을 원단위, 표준점수, 0~1 최소최대 값으로 나란히 비교한 그래프
원값 10,20,30,40,50을 원단위, 표준점수, 0~1 최소최대 값으로 나란히 비교한 그래프

표준화는 평균 0·표준편차 1로, 최소최대 스케일링은 지정 범위로 옮긴다. 평균·표준편차·최솟값·최댓값은 학습 데이터에서만 계산하고 검증·테스트에는 같은 값을 적용한다.

z=\fracx-x̄trainstrain, x'=\fracx-x_min,trainx_max,train-x_min,train
처리바꾸는 것바꾸지 않는 것
로그변환간격·왜도·계수 해석관측 순서(양수 단조변환)
표준화중심과 척도분포 모양·이상값 존재
최소최대범위이상값 민감성

시험 판단 포인트

  • 파생변수는 예측 기준시점과 과거 관측 창을 명시해야 한다.
  • 비율의 분모가 0이면 결과는 정의되지 않으며 별도 규칙이 필요하다.
  • 순환 변수는 주기에 맞는 사인·코사인 쌍으로 표현한다.
  • 명목형 범주에 임의 순서를 부여하지 않고 타깃 인코딩은 out-of-fold로 누수를 막는다.
  • 표준화·최소최대·로버스트 스케일링은 각각 0분모 경계를 가진다.
  • 최소최대 변환은 새 데이터에서 지정 구간을 벗어날 수 있다.
  • 모든 데이터 기반 기준은 훈련 폴드 안에서 학습한다.

자주 틀리는 부분

  • 목표 발생 이후 정보를 포함한 집계를 유용한 파생변수로만 보지 않는다.
  • 분모 0인 비율을 근거 없이 0으로 채우지 않는다.
  • 로그 변환을 음수 값에 조건 없이 적용하지 않는다.
  • 표준화가 정규화나 정규분포 변환과 같은 뜻이라고 보지 않는다.
  • 최소최대 결과가 새 데이터에서도 항상 0과 1 사이라고 보지 않는다.
  • 테스트 데이터로 범주 사전·변환 계수·스케일 기준을 다시 계산하지 않는다.
스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01과거 지연건수/과거 배송건수 비율을 만들 때 과거 배송건수가 0인 고객의 처리를 서술하시오.
정답 및 해설

비율이 정의되지 않음을 반영하고 분모 0 플래그·분모 크기·업무 규칙을 함께 사용한다.

과거 배송건수가 0이면 지연률의 분모가 0이므로 비율은 정의되지 않는다. 배송 기회 없음배송은 있었지만 지연 없음을 구분해야 한다.

02시간대 $t$를 주기 24의 순환 변수로 표현하는 방법을 올바르게 제시하시오.
정답 및 해설

$\sin(2\pi t/24)$와 $\cos(2\pi t/24)$를 함께 사용한다.

주기 24인 시간은 사인과 코사인 쌍으로 원 위의 좌표를 만들면 23시와 0시의 인접성을 표현할 수 있다.

03훈련 최솟값 10, 최댓값 30으로 [0,1] 최소최대 스케일링할 때 새 값 40의 결과는?
정답 및 해설

1.5

최소최대 결과는 $(40-10)/(30-10)=30/20=1.5$다. 새 값이 훈련 최댓값을 넘으면 결과도 1을 넘을 수 있다.

04타깃 인코딩과 전처리 누수를 막는 절차를 서술하시오.
정답 및 해설

훈련 행은 내부 out-of-fold 값으로 만들고 검증·시험에는 훈련 자료로 확정한 매핑을 적용한다.

타깃 인코딩은 훈련 행 자신의 목표가 그 행의 값에 직접 들어가지 않도록 내부 out-of-fold 방식으로 만들고, 검증·시험에는 훈련 자료로 확정한 매핑을 적용한다.