마케팅 팀장이 묻습니다. "광고비를 100만원 더 쓰면 매출이 얼마나 오르나요?"
이 질문에 "대략 올라갑니다"가 아니라 "약 350만원 증가합니다"라고 답하려면,
데이터에서 두 변수의 관계를 수학적으로 표현하는 도구가 필요합니다.
상관분석은 "관계가 있다/없다"를 알려주지만, 얼마나 변하는지는 알려주지 않습니다.
회귀분석은 한 걸음 더 나아가, 관계의 크기와 방향을 하나의 직선 방정식으로 요약합니다.
이 장에서는 산점도 위에 직선을 직접 그어보고, "가장 잘 맞는 직선"이 무엇인지 체험합니다.
산점도 위의 직선: 회귀의 기본 아이디어
"회귀"라는 이름은 어디서 왔을까?
1886년 영국의 프랜시스 갈턴(Francis Galton)은 부모와 자녀의 키를 조사했습니다.
키가 큰 부모의 자녀는 부모보다 약간 작고, 키가 작은 부모의 자녀는 부모보다 약간 컸습니다.
즉, 자녀의 키가 전체 평균 쪽으로 "되돌아간다"는 것을 발견했습니다.
갈턴은 이 현상을 "평균으로의 회귀(regression toward the mean)"라 불렀고,
여기서 "회귀분석"이라는 이름이 탄생했습니다.
두 변수 X(원인)와 Y(결과)가 있을 때, 산점도를 그리면 점들이 흩어져 있습니다.
이 점들 사이를 관통하는 직선을 하나 그을 수 있다면,
"X가 1 증가하면 Y가 대략 얼마나 변하는가"를 읽어낼 수 있습니다.
쉽게 말하면: 산점도 위에 투명한 자를 올려놓고,
점들 한가운데를 관통하도록 자를 기울여보는 것을 상상하세요.
그 자의 기울기가 바로 "X가 변할 때 Y가 얼마나 변하는가"를 알려줍니다.
회귀 직선의 방정식:
Y = b0 + b1 * X. 여기서 b0은 절편(intercept)으로 X가 0일 때 Y의 예측값,
b1은 기울기(slope)로 X가 1 증가할 때 Y의 변화량입니다.
일상 비유로 말하면, b0은 "기본 매출"이고 b1은 "광고 1원당 매출 효과"입니다.
그런데 직선은 무한히 많이 그을 수 있습니다. 어떤 직선이 "가장 좋은" 직선일까요?
여기서 최소제곱법(OLS, Ordinary Least Squares)이 등장합니다.
SSE = Sum of (yi - y-hat_i)^2 = Sum of (잔차)^2 --> 최소화!
쉽게 말하면: OLS는 "고무줄 비유"로 이해할 수 있습니다.
각 데이터 점에서 직선까지 고무줄이 연결되어 있다고 상상하세요.
고무줄이 길수록(잔차가 클수록) 직선을 세게 당깁니다.
모든 고무줄의 장력(잔차의 제곱합)이 가장 적어지는 위치에 직선이 놓이는 것 --
그것이 OLS가 찾는 "최적의 직선"입니다.
각 데이터 점에서 직선까지의 수직 거리를 잔차(residual)라고 합니다.
잔차를 제곱해서 모두 더한 것이 SSE(Sum of Squared Errors).
OLS는 이 SSE를 가장 작게 만드는 b0, b1을 찾습니다.
왜 제곱할까요? 양수와 음수 잔차가 서로 상쇄되지 않게 하기 위해서입니다.
실습 1: 직접 직선을 그어보세요
드래그 회귀 실습:
아래 산점도에 광고비(X)와 매출(Y) 데이터가 있습니다.
슬라이더로 절편(b0)과 기울기(b1)를 조절하여 점들에 가장 잘 맞는 직선을 찾아보세요.
잔차의 제곱이 색칠된 정사각형으로 표시됩니다. SSE가 최소가 되도록 도전해보세요.
3003.0
현재 SSE
-
최적 SSE
-
차이
-
작을수록 좋음
체험 포인트:
직접 슬라이더를 움직여보면, 기울기를 조금만 바꿔도 SSE가 크게 변하는 것을 느낄 수 있습니다.
OLS 최적 직선은 수학적으로 유일하게 결정되며, 어떤 다른 직선보다 SSE가 작습니다.
실습 2: 잔차 해부하기
잔차(residual)는 실제값과 예측값의 차이입니다. 즉 "직선이 예측한 값"과 "실제 데이터"가 얼마나 벗어나 있는지를 나타냅니다.
잔차 = 실제값(yi) - 예측값(y-hat_i)
잔차 > 0: 실제값이 직선 위에 있음 (과소예측)
잔차 < 0: 실제값이 직선 아래에 있음 (과대예측)
잔차 = 0: 직선 위에 정확히 놓임
잔차 탐색:
아래 산점도에서 점을 클릭하면 해당 점의 잔차가 강조 표시됩니다.
잔차의 부호, 크기, 제곱값을 확인해보세요.
선택된 점의 실제값
-
예측값
-
잔차
-
잔차 제곱
-
잔차의 합은 항상 0:
OLS 회귀에서 잔차를 모두 더하면 정확히 0이 됩니다.
양수 잔차와 음수 잔차가 완벽하게 상쇄됩니다.
이것이 "제곱합"을 기준으로 삼는 이유 중 하나입니다.
OLS 추정량의 공식
미분을 이용하면 SSE를 최소화하는 b0, b1을 정확히 구할 수 있습니다.
수학적 유도 과정보다 결과의 의미를 이해하는 것이 더 중요합니다.
공식의 의미:
b1(기울기)은 X와 Y의 공분산을 X의 분산으로 나눈 것입니다.
"X가 퍼진 만큼 Y가 함께 움직이는 정도"를 측정합니다.
b0(절편)은 회귀 직선이 반드시 (x-bar, y-bar), 즉 두 변수의 평균점을 지나도록 보장합니다.
실무 해석 예시:
b1 = 3.5, b0 = 200이라면 "광고비를 1만원 늘릴 때마다 매출이 약 3.5만원 증가하며,
광고를 전혀 하지 않아도 기본 매출 200만원이 예상된다"고 해석합니다.
단, 데이터 범위 밖으로 외삽(extrapolation)하면 위험합니다.
실습 3: 결정계수 R-squared 탐색기
직선이 데이터를 얼마나 잘 설명하는지를 하나의 숫자로 요약한 것이
결정계수(R-squared)입니다.
R-squared = 1 - (SSE / SST) = 설명된 변동 / 총 변동
쉽게 말하면: R-squared는 "모델이 설명하는 비율"입니다.
학생의 성적을 예측하는 상황을 생각해보세요.
"이 학생의 성적은 아마 평균 정도일 것이다"라고만 말하면 설명력이 0입니다.
하지만 "공부 시간을 알면 성적을 꽤 정확히 맞출 수 있다"라면 설명력이 높은 것입니다.
R-squared = 0.85라면, Y의 총 변동 중 85%를 X로 설명할 수 있고 나머지 15%는 아직 미스터리라는 뜻입니다.
SST (총 변동): Y의 전체 흩어짐 = Sum(yi - y-bar)^2 SSE (잔차 변동): 직선으로 설명 못 한 부분 SSR (회귀 변동): 직선이 설명한 부분 = SST - SSE
R-squared = 1이면 모든 점이 직선 위에 있고, R-squared = 0이면 직선이 전혀 설명하지 못합니다.
시각적 이해:
차트에서 파란 영역은 회귀로 설명된 변동(SSR), 빨간 영역은 설명하지 못한 변동(SSE)입니다.
R-squared는 전체 변동 중 파란 영역의 비율입니다.
실습 4: 회귀 가정 진단
회귀분석의 결과를 신뢰하려면, 데이터가 몇 가지 가정을 만족해야 합니다.
가정이 위반되면 추정치가 편향되거나 신뢰구간이 무의미해질 수 있습니다.
요리 후 맛보기 비유:
잔차 진단은 "요리를 만든 뒤 맛을 보는 것"과 같습니다.
아무리 레시피(모형)가 좋아도, 완성된 요리를 맛보지 않으면 제대로 됐는지 모릅니다.
잔차는 "모형이 설명하지 못하고 남긴 찌꺼기"입니다.
이 찌꺼기에 패턴이 있다면 -- 예를 들어 한쪽으로 치우쳐 있거나, 점점 커지거나 --
레시피에 빠진 재료가 있다는 뜻입니다.
잔차 진단을 건너뛰는 것은, 요리를 맛보지 않고 손님에게 내놓는 것과 같습니다.
회귀의 4가지 가정 (LINE): Linearity: X와 Y의 관계가 직선적 Independence: 잔차가 서로 독립 Normality: 잔차가 정규분포 Equal variance: 잔차의 분산이 일정 (등분산성)
진단 실습:
아래에서 데이터 유형을 선택하면, 회귀 적합 후 4가지 진단 플롯이 그려집니다.
각 플롯에서 "무엇을 봐야 하는지" 가이드를 읽고, 가정 위반 여부를 판단해보세요.
1. 잔차 vs 적합값
패턴 없이 랜덤하게 흩어져야 정상. U자형이면 비선형, 깔때기형이면 이분산.
2. Q-Q 플롯 (정규성)
점들이 대각선 위에 놓이면 정규분포. 양끝이 휘면 꼬리가 두텁거나 비대칭.
3. 척도-위치 플롯
수평 추세선이면 등분산. 우상향이면 X가 클수록 잔차가 커짐 (이분산).
4. 레버리지 플롯
Cook's distance가 큰 점(빨간 점선 바깥)은 회귀선에 과도한 영향을 미침.
가정 위반 시 대처:
비선형이면 변수를 변환(로그 등)하거나 다항 회귀를 고려합니다.
이분산이면 가중 최소제곱(WLS)이나 로버스트 표준오차를 사용합니다.
이상치가 있으면 해당 데이터의 원인을 조사한 후 제거 여부를 판단합니다.
회귀 결과 읽기: 실무 가이드
통계 소프트웨어가 출력하는 회귀 결과표를 읽는 방법을 정리합니다.
항목
추정치
표준오차
t값
p값
해석
R-squared
-
Adj R-squared
-
F-statistic
-
p-value (F)
-
핵심 읽기 순서:
1단계: R-squared로 모형의 전반적 설명력 확인
2단계: F검정 p값으로 모형 전체의 유의성 확인
3단계: 각 계수의 p값으로 개별 변수의 유의성 확인
4단계: 계수값(b1)으로 효과의 크기와 방향 해석
주의 -- 인과관계가 아닙니다:
회귀분석은 "X가 변할 때 Y가 어떻게 변하는가"의 연관(association)을 보여줄 뿐입니다.
"광고비가 매출을 증가시킨다"는 인과적 주장은 실험 설계(무작위 배정)가 뒷받침되어야 합니다.
관측 데이터만으로는 "아이스크림 판매가 늘면 익사 사고도 늘어난다"와 같은 혼동 변수 문제가 생깁니다.
이 장의 핵심
단순선형회귀는 두 변수의 관계를 Y = b0 + b1*X 직선으로 요약한다.
OLS는 잔차 제곱합(SSE)을 최소화하여 최적의 b0, b1을 구한다.
잔차는 실제값과 예측값의 차이이며, 잔차의 합은 항상 0이다.
R-squared는 회귀선이 Y의 변동을 얼마나 설명하는지의 비율이다.
회귀 결과를 신뢰하려면 LINE 가정(선형성, 독립성, 정규성, 등분산성)을 확인해야 한다.
회귀분석은 연관을 보여줄 뿐, 인과관계의 증거는 아니다.
다음 장 예고: 변수 하나로는 부족합니다.
아파트 가격은 면적뿐 아니라 층수, 역세권, 학군 등 여러 요인이 동시에 영향을 미칩니다.
다음 장에서는 다중회귀분석으로 여러 변수를 동시에 다루는 방법을 배웁니다.