통계 학습 노트 · 9강 회귀분석 I
Lecture 09
Linear Regression · Part I

회귀분석 I — 점들 사이를 가장 잘 가로지르는 한 줄

세상의 데이터는 점으로 흩어져 있어요.
그 점들 사이에 관계가 숨어 있다면,
한 줄로 그 관계를 그려낼 수 있어요. 그게 회귀분석이에요.

PROLOGUE

여는 글 · 점 두 개의 이야기

관계라는 것

키와 몸무게. 광고비와 매출. 공부 시간과 시험 점수.
세상엔 한 변수가 다른 변수에 영향을 주는 관계가 셀 수 없이 많아요.

통계학자는 이 관계를 식 하나로 적고 싶어해요.
예를 들어 "공부 시간이 1시간 늘면 점수가 평균 5점 오른다"처럼요.
이 식을 데이터에서 뽑아내는 방법이 회귀분석이에요.

이 강의에서 배우는 것

① 회귀 모델식 — Y와 X들을 연결하는 한 줄.

② "좋은 선"의 기준 — 점들에서 평균적으로 가까운 선.

③ \(R^2\) — 그 선이 데이터를 얼마나 잘 설명하는가의 점수.

회귀는 "점들 사이를 가장 부드럽게 지나가는 한 줄을 긋는 일"이에요.
CHAPTER 01

회귀가 풀고 싶은 세 가지 문제

관계 파악 · 유의성 · 예측

회귀분석은 단순히 식 하나를 만드는 게 아니에요. 세 가지 큰 목표가 있어요.

① 관계를 묘사하기
두 변수가 어떻게 움직이는지

"교육 수준이 높을수록 연봉이 오른다."
"광고비가 늘면 매출이 늘어난다."
이런 경향성을 식으로 적어요.

② 유의성 확인
정말 의미 있는 관계인가?

"교육 수준이 진짜 연봉에 영향을 주나? 아니면 우연일 뿐인가?"
이걸 가설 검정으로 확인해요. (10강에서!)

③ 예측
미래를 미리 그려보기

"올해 광고비를 50% 늘리면 매출이 얼마나 늘까?"
식이 있으면 새로운 \(X\)값에 대해 \(Y\)를 추정할 수 있어요.

실제 예시

이 강의에서 우리는 아파트 가격을 예시로 쓸 거예요.

서울 아파트 데이터셋

가격 · 평수 · 층수 · 위치 · 방 개수 · 연식 등 여러 변수가 모여 있어요.

관심사: "가격은 어떤 변수들의 영향을 받을까?"

특히 단순화해서 "가격 vs 연식"부터 봐요.

KEY TAKEAWAY
회귀의 세 가지 목표: 관계 묘사 → 유의성 확인 → 예측.
CHAPTER 02

회귀 모델식 — \(Y\)를 만드는 레시피

\(Y = \beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k + e\)

회귀의 기본 모양은 한 줄짜리 식이에요.

\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + e \]

처음 보면 좀 복잡한데, 레시피라고 생각하면 쉬워요.

각 부품 뜯어보기

\(Y\) · Dependent Variable · 종속변수
"우리가 설명하고 싶은 결과값"

예: 아파트 가격. \(Y\)는 다른 변수들에 의존해서 결정돼요.

\(X_1, X_2, \ldots, X_k\) · Explanatory Variables · 설명변수
"\(Y\)를 설명하는 재료들"

예: 평수, 층수, 방 개수, 연식 등. \(k\)개 있다고 적었어요.

\(\beta_0, \beta_1, \ldots, \beta_k\) · 계수 (coefficients)
"각 재료의 무게(영향력)"

\(\beta_0\) = 절편(intercept). \(X\)들이 다 0일 때 \(Y\)의 기본값.
\(\beta_1\) = \(X_1\)이 1 단위 늘면 \(Y\)가 평균 얼마 변하는지.

\(e\) · Error · 오차
"식이 잡지 못한 나머지"

현실의 \(Y\)는 식만으로 딱 맞아떨어지지 않아요. 우리가 모르는 다른 요인들, 측정 노이즈 같은 게 다 \(e\) 안에 들어가요.

요리 레시피 비유

케이크 만들기 비유.

\(Y\) = 케이크 맛 점수.
\(X_1\) = 밀가루 g, \(X_2\) = 설탕 g, \(X_3\) = 굽는 시간 분.
\(\beta\)들 = 각 재료가 맛 점수에 미치는 영향력 (밀가루 1g이 점수에 얼마 기여하나).
\(\beta_0\) = 재료가 다 0일 때의 기본 점수 (그냥 0이겠죠).
\(e\) = 오븐 컨디션, 그날 기분 같은 측정 안 되는 요인.

회귀의 큰 목표 세 가지

모델식만 쓰고 끝나는 게 아니에요. 이 식을 갖고 우리가 하고 싶은 일은:

  1. \(\beta\)들을 추정해요. 데이터로부터 어떤 숫자가 들어가야 가장 자연스러운지 찾아요.
  2. 중요한 변수와 안 중요한 변수를 구분해요. 어떤 \(X\)가 \(Y\)에 진짜 영향을 주는가.
  3. 각 \(X\)의 영향력을 수치화해요. "평수가 1평 늘면 가격이 평균 ◯만원 오른다"는 식으로.
KEY TAKEAWAY
\(Y\) = \(\beta\)들이 \(X\)들에 곱해진 합 + 오차 \(e\). 회귀는 이 \(\beta\)들을 데이터에서 찾는 일.
CHAPTER 03

단순선형회귀 — \(X\)가 딱 하나일 때

눈으로 보는 회귀

\(X\)가 여러 개면 머릿속으로 그리기 힘들어요. 그래서 우선 \(X\)가 하나일 때부터 시작해요. 이걸 단순선형회귀(Simple Linear Regression)라고 해요.

\[ Y = \beta_0 + \beta_1 X + e \]

중학교 때 배운 직선의 방정식 \(y = ax + b\)랑 똑같죠? 그저 이름이 바뀌었을 뿐이에요.

중학수학 ↔ 회귀의 용어 번역
중학수학회귀의미
\(x, y\)\(X, Y\)변수 두 개
\(b\)\(\beta_0\)절편(상수항)
\(a\)\(\beta_1\)기울기(=한 단위당 변화)
(없음)\(e\)오차 — 직선이 못 잡는 나머지

아파트 가격 vs 연식 — 한 장의 그림

아파트 200채 데이터로 산점도를 그렸어요. \(X\)축 = 연식, \(Y\)축 = 가격(천만원).

House Value vs Age (산점도 + 회귀선)
0 20 40 60 80 100 Age (years) 100 150 200 250 300 350 House Value (천) Ŷ = β₀ + β₁X
연식이 늘수록 가격이 떨어지는 경향. 빨간 선이 그 경향을 잡아낸 회귀선이에요.

점들이 빈틈없이 직선 위에 놓이진 않아요. 하지만 전체적인 흐름은 "연식 ↑ → 가격 ↓"이라는 게 보이죠? 빨간 회귀선이 그 흐름을 한 줄로 정리한 거예요.

단순선형회귀의 좋은 점

그래프로 한 눈에 볼 수 있다는 것! "이 관계가 정말 직선 같은가?"를 시각적으로 먼저 확인할 수 있어요.

KEY TAKEAWAY
단순선형회귀 = 산점도 위에 가장 잘 어울리는 직선 한 줄 긋기.
CHAPTER 04

잔차 — 직선이 못 잡은 부분

Residual · \(e_i = Y_i - \hat{Y}_i\)

회귀선은 점들에 정확히 다 닿진 않아요. 각 점은 직선에서 살짝 떨어져 있죠. 그 거리를 잔차(residual)라고 해요.

예측값 vs 실제값

\(i\)번째 아파트의 연식이 \(X_i\)예요. 회귀선이 예측하는 가격은:

\[ \hat{Y}_i = \beta_0 + \beta_1 X_i \]

"\(\hat{Y}\)" 위에 모자(^) 표시는 "추정"이라는 뜻이에요. 실제로 관측한 가격은 \(Y_i\)라고 적어요. 둘은 다르죠.

Residual · 잔차
"실제값 − 예측값"

\(e_i = Y_i - \hat{Y}_i\)

"이 점이 회귀선에서 위로(혹은 아래로) 얼마나 떨어졌나"의 거리예요. 양수면 점이 선 위, 음수면 선 아래.

그림으로 보는 잔차

실제값 - 예측값 = 잔차
Y X 회귀선 Ŷ e > 0 e < 0 e > 0 실제값 Yᵢ 예측값 Ŷᵢ 잔차 eᵢ

잔차는 회귀선이 설명하지 못한 부분이에요. "이 아파트는 우리 식으로는 설명이 안 되는 5만원어치 비밀이 있다"는 식이죠.

좋은 회귀선의 기준 — 다음 장 예고

이제 자연스러운 질문이 떠올라요. "수많은 가능한 직선 중에 어느 게 가장 좋은 선이지?"

답: 잔차를 가장 작게 만드는 선이에요. 그 정확한 정의가 다음 장의 주인공.

KEY TAKEAWAY
잔차 \(e\) = 실제값 − 예측값. 회귀선이 설명하지 못한 부분. 작을수록 좋은 선.
CHAPTER 05

좋은 선 — SSE를 최소화

Sum of Squared Errors · 잔차 제곱의 합

점이 200개면 잔차도 200개. 어떤 점은 위로 5만원, 어떤 점은 아래로 3만원 떨어졌어요. 이걸 한 숫자로 모아서 "선이 얼마나 나쁜가"를 평가하고 싶어요.

그냥 더하면 안 되나요?

잔차들을 그냥 더하면 양수와 음수가 상쇄돼서 거의 0이 되어 버려요. (어떤 선이든 그래요.) 그래서 제곱한 후에 더해요. 부호가 사라지고 큰 잔차는 더 크게 패널티!

SSE · Sum of Squared Errors · 잔차 제곱의 합
"선이 얼마나 데이터에서 멀리 떨어졌나"의 총점

\(SSE = \sum (Y_i - \hat{Y}_i)^2 = \sum (Y_i - \beta_0 - \beta_1 X_i)^2\)

"\(i=1\)부터 \(n\)까지 다 더한다"는 뜻이에요. 잔차를 제곱해서 모두 합한 값.

\[ SSE = \sum_{i=1}^{n} (Y_i - \hat{Y}_i)^2 \]

회귀가 하는 일

SSE를 가장 작게 만드는 \(\beta_0, \beta_1\)을 찾는다.
그게 회귀선의 정의예요.

이걸 영어로는 OLS (Ordinary Least Squares · 최소제곱법)라고 불러요. "제곱 합을 최소로" 한다는 뜻이에요. 통계 소프트웨어(엑셀·파이썬·R)가 자동으로 이 계산을 해줘요.

"가장 안 흔들리는 평균선" 비유.

점들 사이로 자(직선)를 대고 이리저리 움직여보면, 어느 위치에서 점들과의 거리 제곱 합이 제일 작아지는 자리가 있어요. 그 자리가 회귀선이에요.

왜 제곱을 써요? 절댓값이면 안 되나요?

제곱 vs 절댓값

① 제곱은 큰 오차에 더 큰 패널티를 줘요. 이상치(outlier)에 민감해지지만, 대신 한쪽으로 크게 벗어난 점을 가까이 끌어와요.

② 절댓값보다 미분하기 쉬워요. 그래서 \(\beta_0, \beta_1\)의 최적값을 깔끔한 공식으로 풀 수 있어요.

③ 통계 이론과 잘 어울려요 (정규분포·표준편차·분산 모두 제곱 위에서 정의돼요).

KEY TAKEAWAY
회귀선 = SSE(잔차 제곱의 합)를 가장 작게 만드는 직선.
CHAPTER 06

"왜 가격이 다 다르지?" — 적합도의 직관

설명변수가 진짜 설명하고 있는가

회귀선을 그렸어요. 근데 그 선이 정말로 데이터를 잘 설명하고 있는 걸까요? "잘 맞춘다(fit)"의 의미를 따져봐요.

핵심 질문

"왜 우리 데이터의 아파트 가격은 서로 다르지?"

가격이 다른 이유는 두 가지로 나눌 수 있어요.

① 연식이 다르니까 (\(X\)가 다름)

"연식이 1년 늘면 가격이 평균 ◯만원 변한다"는 우리 회귀선이 설명하는 부분.
설명변수의 차이가 만든 가격 차이.

② 다른 이유 (\(X\)로 설명 안 됨)

같은 연식인데도 가격이 다 다르잖아요? 위치, 층수, 인테리어… 회귀선이 잡지 못한 모든 차이.
오차(잔차)가 만든 가격 차이.

좋은 회귀의 모습

만약 가격 차이의 대부분이 ①(연식)으로 설명된다면 → 연식이 가격을 잘 설명한다는 뜻. 회귀선이 데이터에 잘 맞는다고 할 수 있어요.

반대로 가격 차이의 대부분이 ②(나머지)에서 온다면 → 연식만으로는 가격을 설명할 수 없어요. 다른 변수를 끌어와야 할 시점이에요.

잘 맞는 회귀선의 모습

① 가격 변동의 큰 부분이 회귀선으로 설명돼요.

② 잔차들이 비교적 작아요.

③ 점들이 회귀선 주위에 빽빽하게 모여 있어요.

이걸 어떻게 수치로 표현하지?

"변동의 얼마나 많은 부분이 회귀선으로 설명되는가?" — 이걸 숫자로 만들고 싶어요. 그러려면 변동(variability)을 분해해야 해요. 다음 장의 핵심 개념이에요.

KEY TAKEAWAY
\(Y\)가 흔들리는 이유 = ① \(X\)가 흔들려서 + ② 그 외 잡것들. 회귀가 잘 잡으면 ①이 커요.
CHAPTER 07

분산 분해 — SST = SSR + SSE

변동을 세 조각으로 나누기

변동을 세 가지로 나눠요. 각각의 뜻이 정확하니, 한 번에 짚어볼게요.

세 가지 제곱합

SST · Total Sum of Squares · 총변동
"\(Y\)가 평균에서 얼마나 흔들리는가" 전체

\(SST = \sum (Y_i - \bar{Y})^2\)

각 \(Y\)가 평균 \(\bar{Y}\)에서 떨어진 정도를 제곱해서 더한 값. \(Y\)의 총 변동이에요.

SSR · Regression Sum of Squares · 회귀변동
"회귀선이 설명한 변동"

\(SSR = \sum (\hat{Y}_i - \bar{Y})^2\)

예측값 \(\hat{Y}\)이 평균 \(\bar{Y}\)에서 떨어진 정도. 즉 "회귀선이 만들어낸" 변동이에요.

SSE · Error Sum of Squares · 잔차변동
"회귀선이 설명하지 못한 변동"

\(SSE = \sum (Y_i - \hat{Y}_i)^2\)

5장에서 본 그 SSE랑 같아요. 잔차 제곱의 합.

핵심 등식

\[ SST = SSR + SSE \]

이게 정말 신기한 등식이에요. \(Y\)의 총 변동(SST)은 회귀선이 잡은 부분(SSR)과 잡지 못한 부분(SSE)의 합으로 깔끔하게 쪼개져요.

한 점의 변동 = SSR 조각 + SSE 조각
Ȳ (평균) Ŷ (회귀선) Y (실제값) Ŷ (예측) SST 조각 (Y−Ȳ) SSE 조각 (Y−Ŷ) SSR 조각 (Ŷ−Ȳ) (Y − Ȳ) = (Y − Ŷ) + (Ŷ − Ȳ)
한 점의 변동(파랑)이 잔차 부분(초록)과 회귀 부분(빨강)으로 쪼개져요. 제곱해서 다 더하면 SST = SSR + SSE.

왜 의미가 있어요?

이 분해 덕분에 우리는 이렇게 말할 수 있어요:

SST = SSR + SSE의 의미

SSR 비율이 크다 → 회귀선이 잘 설명함 → 변수 \(X\)가 \(Y\)를 잘 잡고 있음.

SSE 비율이 크다 → 회귀선이 설명 못 함 → \(X\) 말고 다른 변수가 필요함.

그래서 자연스럽게 다음 질문이 나와요. "SSR 비율을 한 숫자로 어떻게 표현?" 답이 다음 장의 \(R^2\)예요.

KEY TAKEAWAY
SST(전체) = SSR(설명됨) + SSE(설명 안 됨). 깔끔한 변동 분해.
CHAPTER 08

\(R^2\) — 회귀의 시험 점수

Coefficient of Determination · 결정계수

이제 회귀의 성적표 같은 숫자가 등장해요. \(R^2\) (R-Square, 알스퀘어).

\(R^2\) · Coefficient of Determination · 결정계수
"\(Y\)의 변동 중 몇 %가 회귀선으로 설명되는가"

\(R^2 = SSR / SST\) = (설명된 변동) / (전체 변동)

\[ R^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST} \]

0과 1 사이의 숫자

\(R^2\)는 항상 0과 1 사이예요. (비율이니까.)

\(R^2\) 값이 의미하는 것
\(R^2\)해석회귀의 상태
1.0100% 설명완벽 (현실에선 거의 없음)
0.990% 설명아주 좋음
0.550% 설명절반은 잡음
0.220% 설명설명력 부족
0.0전혀 설명 못 함\(X\)가 \(Y\)와 무관

\(R^2\)의 직관

"퍼즐 맞추기" 비유.

\(Y\)라는 그림 퍼즐 1000조각이 있어요. 우리 회귀선은 그 중 몇 조각을 맞췄을까요?
\(R^2 = 0.7\)이면 700조각 맞춤. 300조각은 안 맞춰진 상태.

점수가 높을수록 그림이 더 명확하게 드러나요.

\(R = \sqrt{R^2}\) (Multiple R)

\(R^2\)의 제곱근을 그냥 \(R\)이라고 불러요. 회귀 출력에는 "Multiple R"로 나와요.

\(R\)의 의미

\(R\)은 실제값 \(Y\)와 예측값 \(\hat{Y}\) 사이의 상관계수예요.

"우리 회귀선이 데이터와 얼마나 같은 방향으로 흐르는가"의 정도. 1에 가까울수록 좋아요.

주의 — \(R^2\) 함정

⚠️ \(R^2\)가 높다고 다 좋은 건 아니에요

① 변수만 늘리면 \(R^2\)는 무조건 올라가요. 쓸데없는 변수를 추가해도! (그래서 10강에서 Adjusted \(R^2\) 등장.)

② 인과관계의 증거가 아니에요. \(R^2\)가 높아도 "\(X\)가 \(Y\)의 원인이다"라는 뜻이 아니에요. 둘 다 같은 제3 변수의 영향일 수도.

③ \(R^2\)가 낮다고 모델이 무용지물도 아니에요. 분야에 따라 0.2도 의미 있을 수 있어요.

KEY TAKEAWAY
\(R^2 = SSR/SST\). 0에 가까우면 설명 못 함, 1에 가까우면 잘 설명함.
CHAPTER 09

회귀 출력 읽기 — 엑셀의 표를 해석해보자

Sample Regression Output

엑셀이나 R, 파이썬으로 회귀를 돌리면 표 한 장이 튀어나와요. 처음 보면 숫자 폭격이지만, 구역별로 차근차근 보면 쉬워요.

① 회귀 통계량 (Regression Statistics) 박스

Regression Statistics 예시
항목값의미
Multiple R0.94실제값과 예측값의 상관계수
R Square0.89결정계수 — 89%의 변동 설명
Adjusted R Square0.88변수 개수 보정한 \(R^2\) (10강)
Standard Error5.06잔차의 표준편차 추정치
Observations36표본 개수 \(n\)

먼저 보는 곳: R Square. 0.89면 "\(Y\)의 변동의 89%를 우리 회귀선이 설명함"이라는 뜻.

② ANOVA 박스 (분산 분석)

ANOVA 예시
dfSSMSFSignificance F
Regression26926.623463.31135.280.00
Residual33844.8225.60
Total357771.44

이 표에 우리가 7장에서 본 SSR · SSE · SST가 그대로 있어요.

  • Regression의 SS = SSR = 6926.62
  • Residual의 SS = SSE = 844.82
  • Total의 SS = SST = 7771.44
  • 확인: 6926.62 + 844.82 = 7771.44 ✓
  • \(R^2 = 6926.62 / 7771.44 \approx 0.89\) ✓

나머지(\(df\), \(MS\), \(F\))는 10강에서 다뤄요. 자유도와 표준오차 같은 개념이에요.

③ 계수 표 — 핵심 결과

Coefficients 예시
CoefficientsStandard Errort StatP-valueLower 95%Upper 95%
Intercept−0.573.09−0.180.86−6.865.73
Rooms−1.622.06−0.790.44−5.822.57
Volume0.060.016.640.000.040.07

이 표에서 Coefficients 열이 바로 \(\beta\)들이에요. 그러면 회귀식이 이렇게 완성돼요:

\[ \hat{Y} = -0.57 - 1.62 \times \text{Rooms} + 0.06 \times \text{Volume} \]

각 열의 의미 (간단히)

계수 표 각 열 해설
열의미
Coefficients추정된 \(\beta\) 값 (회귀식의 계수)
Standard Error\(\beta\) 추정값의 흔들림 크기
t Stat"이 \(\beta\)가 0인지" 검정의 통계량
P-value"이 \(\beta = 0\)"이라는 \(H_0\)의 \(p\)-값 (8강에서 본 그것!)
Lower / Upper 95%\(\beta\)의 95% 신뢰구간 (7강)
10강 예고

이 표의 t Stat / P-value / 신뢰구간이 어떻게 만들어지는지, 그리고 그걸 보고 "Rooms는 의미 있나? Volume은 의미 있나?"를 어떻게 판단하는지 — 모두 10강에서!

KEY TAKEAWAY
엑셀 출력 = 3구역 (Regression Statistics · ANOVA · 계수표). \(R^2\)와 Coefficients부터 봐요.
EPILOGUE

맺는 글 · 점들 사이에 놓은 한 줄

이번 강의의 한 장면

오늘 우리는 점들 사이에 한 줄을 놓는 법을 배웠어요. 그 줄은 잔차 제곱의 합(SSE)을 최소로 만드는 선이었어요.

그리고 그 선이 데이터를 얼마나 잘 설명하는지 측정하는 점수, \(R^2\)도 손에 넣었죠. \(SSR / SST\).

하지만 아직 답하지 못한 질문이 있어요. "이 회귀선이 진짜 의미 있는가?"
\(\beta\)들이 0이 아니라는 걸 어떻게 통계적으로 증명할까요? 그게 10강 주제예요.

오늘의 장면 요약

  • 회귀의 세 목표: 관계 묘사 · 유의성 · 예측
  • 모델식: \(Y = \beta_0 + \beta_1 X_1 + \cdots + \beta_k X_k + e\)
  • 단순선형회귀는 산점도 위의 직선
  • 잔차 \(e_i = Y_i - \hat{Y}_i\) — 선이 못 잡은 거리
  • 좋은 선 = SSE를 최소화하는 선 (OLS)
  • SST = SSR + SSE — 변동의 분해
  • \(R^2 = SSR/SST\) — 회귀의 시험 점수
  • Multiple \(R = \sqrt{R^2}\)
  • 엑셀 출력 = Statistics · ANOVA · Coefficients 3구역

10강 예고

계수의 가설 검정

"이 변수 \(\beta\)가 정말 0이 아닌가?" — 8강의 H.T.를 회귀에 적용해요.

변수 선택

Adjusted \(R^2\)와 \(p\)-값을 보고 "필요 없는 변수"를 골라내요.

예측

새 데이터의 \(Y\)를 추정하고 신뢰구간으로 감싸요.

자유도와 표준오차

"왜 \(n - k - 1\)로 나누지?" 마지막 퍼즐.

마지막 마음가짐

회귀는 점들의 노이즈 속에서 경향을 끄집어내는 일이에요.

완벽한 선은 없어요. 다만 "가장 덜 틀린" 선이 있을 뿐이죠.

그게 통계의 정직함이고, 동시에 매력이에요.

— 9강, 끝 —