변수는 늘릴수록 좋은 걸까?

조정된 R²가 알려준 진짜 설명력 이야기

by 마디


연재 1. 직장생활은 오래되었지만 데이터사이언티스로서는 주니어야


요즘 시험 준비를 하면서 회귀 분석의 기본 개념은 알고 있었지만,
조정된 결정계수(Adjusted R²)를 제대로이해하지 못하고 있었다는 걸 깨달았다.

처음엔 “변수를 많이 넣으면 R²가 무조건 좋아진다”는 것만 알고 있었고,

조정된 상관계수를 보면 된다는 것은 알고 있었는데

왜 조정된 R²가 필요한지, 수식이 어떻게 작동하는지 감이 잡히지 않았다.

그래서 직접 수식을 하나하나 따라가 보고,

AI에게 샘플 데이터를 만들어달라고 하고 그 수치를 확인하니 개념이 확장됐다.

오늘은 그 과정을 정리해보고자 한다.


조정된 R²란?


회귀 모델 평가 시 가장 먼저 보는 지표가 R²다.
하지만 R²는 변수를 많이 넣으면 무조건 올라가서,
불필요한 변수를 넣어도 좋은 성능처럼 보이는 착시가 생긴다.

조정된 R²는 이런 착시를 보정한다.
모델이 진짜 설명력이 좋아졌는지, 변수 추가가 의미 있는지 판단해주는 지표다.


수식과 자유도, MSE의 연결고리

처음엔 변수 수가 많아지면 왜 패널티가 붙는지 이해하기 어려웠다.
“변수가 많으면 자유도가 줄고, 오차 평균이 커진다”는 말이 뭔지 몰랐다.
수식을 차근차근 살펴보면서,
조정된 R² 공식이 MSE(평균 오차 제곱합)를 기준으로 오차를 평가한다는 걸 알게 됐다.

자유도가 줄어들면,
모델이 너무 변수를 넣어 과적합 되는 걸 막는 역할을 하는 것이다.


실험해봤다

세 가지 모델을 만들어 실험했다.

X1, X2: y와 관련 있는 변수

X3: 의미 없는 변수 (노이즈)



실험 결과 (숫자 정리)


모델0 (X1만 사용)
자유도: 98
SSE (오차 제곱합): 541.1794
MSE (평균 오차 제곱합): 5.5222
조정된 R²: 낮음




모델1 (X1, X2 사용)
자유도: 97
SSE: 85.4454
MSE: 0.8809
조정된 R²: 확실히 증가




모델2 (X1, X2, X3 사용)
자유도: 96
SSE: 84.0385
MSE: 0.8754
조정된 R²: 거의 변화 없음


느낀 점

X2를 추가했을 때 MSE가 크게 줄어들면서 조정된 R²도 확 올라갔다.

X3를 추가했을 때는 MSE가 거의 변하지 않고 조정된 R²도 변화가 없었다.

R²만 보면 X3를 넣어서도 값이 조금 올랐지만, 조정된 R²가 그걸 걸러준 것이다.


마치며

시험을 준비하면서 수식을 직접 보고, 실습하면서 이해가 크게 깊어졌다.
앞으로는 보고서나 발표 때도 조정된 R²를 꼭 함께 설명해야겠다는 생각이 들었다.
데이터 사이언티스트로 성장하는 과정에서 이런 ‘이해의 순간’들이 중요하다는 걸 다시 한 번 느꼈다.


덧붙이며

이 글은 OpenAI ChatGPT의 도움을 받아 공부 내용을 정리하고,
실험 코드 작성과 해석에 참고했습니다.
같이 공부하는 분들께 조금이나마 도움이 되길 바랍니다.



keyword
작가의 이전글직무전환으로의 험난한 시작점