단순선형회귀는 흩어진 데이터 점들 사이로 가장 잘 들어맞는 직선 하나를 긋는 일이다. 그 직선의 기울기와 절편만 손에 쥐면, 어떤 입력값이 들어왔을 때 결과가 대략 얼마일지 예측할 수 있고, 그 입력이 결과를 얼마나 세게 밀고 당기는지도 숫자 하나로 말할 수 있다. 복잡해 보이는 회귀분석도 8할은 이 한 줄 직선에서 출발한다.
이 글은 F1 드라이버의 연습량과 랩타임이라는 하나의 비유로 개념 전체를 관통한다. 진짜 실력곡선(모집단)과 우리가 실제로 가진 주행 기록(표본)이 어떻게 다른지, 오차와 잔차를 왜 굳이 구분하는지, 여러 후보 직선 중 최선을 어떻게 고르는지(최소제곱법), 마지막으로 기울기 하나가 왜 변수의 중요도가 되는지까지 순서대로 짚는다. 핵심 용어는 그때그때 정확히 못박아 두겠다.
단순선형회귀는 무엇을 계산하나
먼저 큰 그림. 두 변수의 관계를 직선으로 요약하는 이 작업의 뿌리는 회귀분석이고, 그 배경은 회귀분석이란 무엇인가에서 따로 다뤘다. 여기서는 변수가 딱 하나인 가장 단순한 경우, 즉 단순선형회귀만 본다.
수식으로는 y = β0 + β1·x + ε 한 줄이다. F1로 옮기면 x는 드라이버가 쌓은 연습량(연습 세션 수), y는 그날의 랩타임(초)이다. 연습이 늘수록 랩타임은 줄어드니 직선은 우하향한다.
여기서 β0는 절편, β1은 기울기다. β0 + β1·x는 “우리가 직접 볼 수 없는 진짜 실력곡선”, 즉 평균 추세선이라고 보면 된다. 그리고 꼬리에 붙은 ε(오차)가 핵심이다. 오차는 그날의 바람, 타이어 상태, 노면, 컨디션처럼 아무도 통제 못 하는 랜덤 요동이다. 누구도 통제할 수 없는 부분이라 우리는 이 값을 추정하려 들지 않는다.
진짜 실력곡선과 우리가 쥔 것 — 모집단, 표본, hat 기호
문제는 저 진짜 실력곡선(모집단 회귀선)을 아무도 모른다는 데 있다. 우리 손에 있는 건 실제로 관측한 몇 번의 주행 기록, 즉 표본(학습 데이터)뿐이다. 그래서 표본으로 진짜 선을 추정하고, 추정한 값에는 hat(모자) 기호를 씌워 진짜 값과 구분한다.
| 구분 | 모집단(진짜) | 표본(우리 손안) |
|---|---|---|
| 회귀선 | β0 + β1·x (관측 불가) | β̂0 + β̂1·x (추정한 선) |
| 계수 기호 | β0, β1 | β̂0, β̂1 (hat) |
| 예측값 | 알 수 없음 | ŷ (와이햇) |
| 데이터 | 전체 | 관측한 일부 주행 |
추정한 선과 진짜 선 사이에는 반드시 갭이 있다. 다만 데이터를 많이 모을수록 표본 선은 진짜 선에 가까워진다. 정확도는 결국 데이터의 양이 좌우한다. 데이터가 많을수록 왜 유리한지, 그리고 모집단과 표본이라는 말 자체가 낯설다면 글 끝의 “함께 읽으면 좋은 글”에 이어지는 두 편을 먼저 참고하면 된다.
오차와 잔차는 다르다
많이들 헷갈리는 지점이다. 오차(ε)와 잔차(residual)는 이름도 비슷하고 “예측에서 벗어난 양”이라는 느낌도 닮았지만, 기준선이 다르다.
오차는 진짜 실력곡선(모집단)에서 벗어난 양이다. 모집단 선을 모르니 오차도 실제로는 계산할 수 없는 이론값이다. 반면 잔차는 우리가 표본으로 추정한 회귀선에서 벗어난 양이다. 특정 주행에서 실제 랩타임에서 회귀선이 예측한 랩타임을 뺀 값, 즉 e = y − ŷ 로 데이터만 있으면 바로 계산된다.
| 구분 | 오차(ε) | 잔차(residual) |
|---|---|---|
| 기준선 | 모집단 회귀선(진짜) | 표본 회귀선(추정) |
| 계산 가능성 | 불가(이론값) | 데이터로 직접 계산 |
| 정의 | 진짜 선에서 벗어난 양 | 실제값 − 예측값 |
| 기호 | ε | e = y − ŷ |
한 줄로 요약하면, 오차는 개념이고 잔차는 손에 잡히는 숫자다. 단순선형회귀에서 우리가 실제로 다루고 줄이려는 대상은 언제나 잔차 쪽이다.
최선의 직선 고르기 — 잔차제곱합과 최소제곱법
같은 데이터 위에 직선은 무수히 그을 수 있다. 그중 무엇이 최선인가? 기준은 잔차다. 잔차가 전반적으로 작은 직선이 좋은 직선이다.
아래 수치는 개념 설명을 위한 임의의 수치입니다.
기준 랩타임을 100초로 잡고, 회귀선 예측을 ŷ = 102 − 0.4x 라고 해보자.
| 연습 세션(x) | 실제 랩타임(y) | 회귀선 예측(ŷ) | 잔차(y − ŷ) |
|---|---|---|---|
| 2 | 101.5 | 101.2 | +0.3 |
| 4 | 100.2 | 100.4 | −0.2 |
| 6 | 99.7 | 99.6 | +0.1 |
| 8 | 98.6 | 98.8 | −0.2 |
이 시나리오는 개념 설명을 위한 가상의 상황입니다. 실제 F1 팀의 전략과 다를 수 있습니다.
여기서 잔차를 그냥 다 더하면 +0.3 − 0.2 + 0.1 − 0.2 = 0, 즉 플러스와 마이너스가 상쇄돼 0에 가까워진다. 이래서는 좋은 직선과 나쁜 직선을 가릴 수가 없다.
그래서 잔차를 제곱해서 다 더한다. 이 값이 잔차제곱합(SSE, Sum of Squared Errors)이다. 제곱하면 부호가 사라지고 크게 벗어난 점일수록 벌점이 커진다. 결국 최선의 직선이란 SSE가 가장 작은 직선이고, 그 직선을 찾는 방법이 최소제곱법(OLS, Ordinary Least Squares)이다. 이 원리의 표준적인 정리는 NIST/SEMATECH 통계 핸드북에서 확인할 수 있다.
수학적으로는 SSE를 β̂0과 β̂1에 대해 각각 편미분해 0이 되는 지점을 찾으면 그 값이 최솟값이다. 밥그릇처럼 볼록한 곡면의 바닥을 짚는 그림만 머릿속에 넣어두면 충분하다. 유도 과정은 소프트웨어가 계산해주니 굳이 외울 필요는 없고, 원리와 해석을 말로 설명할 수 있으면 된다.
기울기 β̂1이 말해주는 것
계수를 얻었다면 해석이 남는다. 절편 β̂0은 x가 0일 때의 기준값이라 실무 의미가 옅을 때가 많고, 진짜 알맹이는 기울기 β̂1에 있다.
β̂1은 연습을 1단위 더 했을 때 랩타임이 몇 초 변하는가를 뜻한다. 위 예에서 −0.4라면 “세션을 하나 더 소화할 때마다 평균 0.4초씩 빨라진다”는 이야기다. 이 값이 곧 그 입력 변수의 효과 크기이자 중요도다.
실무에서는 이 해석이 무기가 된다. 여러 입력 변수를 나란히 회귀에 넣고 각 기울기를 비교하면, 어떤 인자가 결과를 크게 움직이고 어떤 인자가 사실상 무의미한지 골라낼 수 있다. 단순선형회귀는 변수가 하나뿐이라 그 한 인자의 영향력을 가장 깨끗하게 읽어내는 출발점이 된다.
참고로 두 변수가 같이 움직이는지 방향과 강도만 보는 상관분석은 회귀와 목적이 다른 별도 주제라, 여기서는 다리만 놓고 넘어간다.
핵심 요약
- 단순선형회귀는 데이터에 가장 잘 맞는 직선 하나(β̂0 + β̂1·x)를 긋고, 예측과 변수 영향력을 함께 얻는 도구다.
- 모집단 회귀선(진짜, β)은 모르고, 표본으로 추정한 값에 hat(β̂, ŷ)을 씌운다. 데이터가 많을수록 진짜 선에 가까워진다.
- 오차(ε)는 진짜 선 기준의 이론값, 잔차(e = y − ŷ)는 추정선 기준으로 실제 계산되는 값이다.
- 잔차는 그냥 더하면 상쇄되니 제곱해 더한 잔차제곱합(SSE)을 쓰고, 그 SSE를 최소로 만드는 방법이 최소제곱법(OLS)이다.
- 기울기 β̂1은 입력 1단위 변화가 결과를 얼마나 바꾸는가, 즉 그 변수의 효과 크기이자 중요도다.







