불필요한 입력을 줄이고 현상을 더 직접적으로 표현하기
고객 이탈 데이터에 열이 2,000개 있어도 대부분은 같은 행동을 반복 측정하거나 결과 발생 뒤 만들어진 코드일 수 있습니다.
변수가 많으면 학습자료에는 더 잘 맞지만 잡음·중복·누수까지 학습할 기회도 늘어납니다. 변수 선택은 일반화, 해석, 측정비용과 배포 안정성을 위해 입력을 줄이는 과정입니다.
파생변수는 원자료를 버리는 작업이 아니라 질문에 맞는 표현을 만드는 작업입니다. 거래 1,000건보다 최근구매일·구매빈도·평균금액이 고객상태를 더 직접적으로 나타낼 수 있습니다.
핵심 질문
이 변수는 예측시점에 실제로 존재하고, 다른 변수 이후에도 새 정보가 있으며, 새 표본과 운영환경에서도 같은 의미를 유지하는가?
업무 의미와 측정 시점을 확인해 사용할 수 있는 변수를 모읍니다.
비율·차이·기간·집계로 문제에 맞는 신호를 만듭니다.
교차검증 안에서 선택해 성능과 안정성을 함께 평가합니다.
불필요한 변수를 줄이면 추정분산, 계산·수집비용과 규제 위험을 줄이고 설명 가능한 핵심 입력을 남길 수 있습니다. 특히 p가 n에 가까운 고차원 자료에서는 과적합 통제가 중요합니다.
하지만 강한 규제가 있는 모델은 많은 약한 변수를 직접 다룰 수 있고, 변수 하나의 제거가 상호작용 정보를 없앨 수 있습니다. 선택이 항상 성능을 높이는 것은 아닙니다.
예측 최적화, 인과효과 추정, 과학적 설명은 선택 기준이 다릅니다. 인과분석에서 결과와 약하게 관련돼도 중요한 교란변수를 예측점수 때문에 제거하면 편향이 커질 수 있습니다.
분산, 단변량 상관, 카이제곱, ANOVA 점수, 상호정보량처럼 모델 적합 전에 각 변수를 빠르게 평가합니다. 계산이 저렴하고 고차원 1차 축소에 유용합니다.
단변량 점수는 변수 조합을 무시합니다. XOR 문제에서는 두 변수가 함께 완벽히 예측해도 각각의 목표 상관은 0일 수 있습니다. 높은 상관 변수 여러 개가 같은 정보를 반복하는 것도 놓칩니다.
점수와 임계값은 훈련 폴드 안에서 계산합니다. 전체 데이터로 상위 변수를 고른 뒤 CV하면 검증목표가 선택에 들어가 성능이 낙관적으로 보입니다.
순차 전진·후진 선택과 RFE는 후보 부분집합마다 모델을 다시 적합해 검증성능을 직접 비교합니다. 변수 간 조합과 모델 특성을 반영할 수 있습니다.
후보가 p개면 가능한 부분집합은 2ᵖ개이므로 탐욕적 탐색을 사용해도 계산량이 큽니다. 같은 검증자료를 수백 번 비교하면 우연히 잘 맞는 부분집합을 선택하는 과적합이 생깁니다.
선택과 성능평가를 분리하려면 바깥 CV는 일반화 평가, 안쪽 CV는 변수부분집합과 하이퍼파라미터 선택에 사용하는 nested CV가 필요합니다.
Lasso는 계수에 L1 벌점을 주어 일부를 0으로 만들고, 트리는 분할에 유용한 변수를 선택합니다. 모델 학습과 선택이 한 과정이라 wrapper보다 효율적입니다.
선택 결과는 알고리즘 가정에 의존합니다. Lasso는 선형효과, 트리는 임계값·상호작용을 선호하고, impurity importance는 범주 수가 많거나 연속값인 변수에 편향될 수 있습니다.
| 방법 | 예시 | 장점 | 핵심 한계 |
|---|---|---|---|
| Filter | MI·상관 | 빠름 | 조합 무시 |
| Wrapper | RFE·순차선택 | 모델 성능 직접 반영 | 비용·선택과적합 |
| Embedded | L1·트리 | 학습과 동시 선택 | 모델·상관구조 의존 |
강하게 상관된 변수는 같은 신호를 공유해 계수와 중요도를 나눠 갖습니다. Lasso는 둘 중 하나를 임의로 남길 수 있고, 트리는 먼저 선택한 변수에 중요도를 몰아줄 수 있습니다.
“선택되지 않음”이 중요하지 않다는 뜻은 아닙니다. 비용·신뢰도·예측시점 가용성이 더 좋은 대표변수를 정하거나 elastic net·group lasso로 묶음을 안정화합니다.
PCA는 상관된 변수를 직교 성분으로 압축하지만 원변수 해석을 잃고 목표와 무관한 큰 분산 방향을 보존할 수 있습니다. 목적에 맞게 선택합니다.
날짜에서 가입 후 경과일·요일·계절, 거래에서 RFM, 센서에서 롤링 평균·변화율, 두 값에서 차이·비율·단위당 값을 만듭니다. 변수 정의에는 기준시점과 계산창을 포함해야 합니다.
비율은 분모가 0 또는 매우 작을 때 폭발하고, 변화율은 기준값 부호에 따라 해석이 달라집니다. 단위와 경계처리, 결측 규칙을 명시합니다.
파생변수는 업무개념을 더 직접적으로 표현할 수 있지만 원자료 오류를 증폭하기도 합니다. 생성 전후 분포, 극단값과 사용 가능한 시점을 검증합니다.
선형모형에서 x₁x₂ 상호작용은 x₁의 효과가 x₂ 값에 따라 달라짐을 표현합니다. 주효과 없이 곱항만 넣으면 기준점에서 해석이 이상해질 수 있어 계층 원칙을 검토합니다.
제곱항·로그·spline은 곡선을 표현하지만 항 수와 자유도가 늘어 과적합 위험이 커집니다. 연속변수를 중심화하면 상호작용이 있는 모형에서 주효과 해석과 수치안정성이 좋아집니다.
트리와 신경망은 상호작용을 자동 학습할 수 있지만 표본과 규제가 필요합니다. 가능한 조합을 모두 미리 만들면 차원이 폭발하므로 도메인 가설과 검증으로 제한합니다.
해지 후 상담기록, 결과 확정 뒤 청구코드, 월말 총액을 월중 예측에 사용하는 것은 높은 성능을 만들지만 실제 시점에는 사용할 수 없습니다. event time뿐 아니라 시스템에 기록되어 사용 가능해진 available time을 저장합니다.
“최근 30일 구매액”은 예측일 이전 30일만 포함해야 합니다. 전체 기간에서 계산한 고객평균이나 이후 수정된 최종상태가 과거 행에 들어가면 point-in-time 누수입니다.
변수 목록마다 소스, 계산식, 관측창, 지연시간과 유효시점을 기록하고 시간순 재현 테스트로 해당 시점에 동일 값을 만들 수 있는지 확인합니다.
교차검증·부트스트랩마다 선택된 변수와 계수부호를 기록합니다. 한 변수의 선택률이 50%라면 최종 목록은 표본의 작은 변화에 민감합니다.
성능은 비슷한데 변수목록이 계속 바뀐다면 상관된 대체변수와 약한 신호가 많다는 뜻일 수 있습니다. 개별 변수 해석보다 변수군과 예측 안정성을 보고합니다.
운영에서는 입력 비용·지연·결측률·분포 드리프트도 안정성의 일부입니다. 학습에서 중요한 변수라도 배포에서 자주 늦거나 누락되면 제외하는 편이 나을 수 있습니다.
후보 변수를 많이 시험할수록 우연히 좋은 검증 결과를 찾을 기회가 얼마나 늘어나는지 단순 근사로 확인하세요.
변수 선택·파생변수 인터랙티브 랩
데이터 문제의 양과 처리 강도를 바꾸며 남는 정보와 왜곡이 어떻게 달라지는지 비교하세요.
조작할 때 그래프의 위치·모양·오류 구조를 먼저 보세요.
계산 결과
하나 이상 우연 통과할 확률 99.4%
후보가 독립이라는 단순 근사입니다. 선택과 최종 평가를 같은 데이터에서 하면 낙관적 편향이 커지는 이유를 보여줍니다.
한 조절값만 먼저 움직인 뒤 그래프의 어떤 부분이 변하고 무엇은 그대로인지 설명해보세요.
| 주제 | 핵심 내용 |
|---|---|
| Stability Selection | 재표본과 규제강도를 반복해 선택확률이 높은 변수를 찾고 거짓 선택 수를 제어하는 방향으로 사용합니다. |
| Group Lasso | 한 범주의 더미열이나 spline 기저처럼 함께 의미를 이루는 변수군을 통째로 선택·제외합니다. |
| Knockoffs | 원변수의 상관구조는 닮았지만 목표와는 무관한 대조변수를 만들어 변수선택의 거짓발견률을 제어합니다. |
| 다음 학습 | 표본추출과 데이터 분할은 어떤 모집단을 대표할지와 변수 선택을 포함한 전체 모델링 과정의 미사용 평가를 설계합니다. |