회귀 시리즈 1편. 르장드르(1805)와 가우스(1809)가 남긴 정규방정식, 투영, 그리고 왜 하필 제곱인가
최소제곱
정규방정식
정사영
결정계수
가우스–마르코프
최대가능도
한 줄 요약
관측이 필요한 만큼보다 많아서 모든 식을 동시에 만족시킬 수 없을 때, 오차의 제곱합이 가장 작은 답을 고르는 방법이 최소제곱입니다. 단순회귀에서는 그 답이 두 개의 일차방정식(정규방정식)으로 떨어지고, 같은 식이 미분으로도, "남은 오차가 데이터 벡터들과 수직"이라는 기하로도 나옵니다.
1. 왜 필요한가: 식은 많은데 미지수는 둘
중학교에서 미지수가 2개인 연립방정식은 식이 2개면 풀립니다. 그런데 실제 측정에서는 식을 일부러 더 많이 얻습니다. 같은 값을 여러 번 재야 오차가 줄어들 것 같으니까요.
예를 들어 스프링에 추를 하나씩 더 달며 늘어난 길이를 쟀다고 해 봅시다. 직선 y=a+bx 로 설명하고 싶은데, 점이 5개면 식도 5개입니다.
a+b⋅1=2,a+b⋅2=4,a+b⋅3=5,a+b⋅4=4,a+b⋅5=5
미지수는 a,b 두 개뿐인데 식은 다섯 개입니다. 앞의 두 식만 풀면 b=2,a=0 이 나오는데 이 값은 셋째 식 0+2⋅3=6=5 를 어깁니다. 어떤 (a,b) 로도 다섯 식을 한꺼번에 맞출 수 없어요. 측정에는 늘 오차가 끼어 있으니까요.
그러면 질문이 바뀝니다. "모두 맞추는 답"은 없으니, "전체적으로 가장 덜 어긋나는 답"은 무엇일까? 이 질문에 처음 이름을 붙여 출판한 사람이 르장드르, 그 답에 확률적 이유를 붙인 사람이 가우스입니다.
2. 두 사람의 이야기
르장드르(1805). 혜성 궤도를 구하는 책 《혜성 궤도 결정을 위한 새로운 방법》의 부록 "최소제곱법에 관하여"에서 이 방법을 소개했습니다. 그의 출발점은 대수적입니다. 식이 미지수보다 많으면 오차를 전부 0으로 만들 수 없으니 오차를 어떻게든 나눠 가져야 하는데, 그중 극단적으로 큰 오차가 생기지 않도록 하는 원리가 필요하다는 것입니다. 그리고 오차의 제곱합을 최소로 하는 방법이 가장 일반적이고 정확하며 쓰기 쉽다고 판단했습니다. 제곱을 쓰면 큰 오차가 더 크게 벌을 받아 오차들 사이에 일종의 균형이 생긴다는 설명도 붙였습니다. 그리고 미지수마다 편미분해서 얻는 일차방정식 묶음, 오늘 우리가 정규방정식이라 부르는 식을 적었습니다.
가우스(1809). 천체 운동 이론서 《Theoria motus》 제2권 제3절에서 같은 방법을 다룹니다. 가우스는 이 원리를 1795년부터 써 왔다고 밝히고, 르장드르가 먼저 출판했음도 함께 적었습니다. 그리고 르장드르에게 없던 것을 더했습니다. 오차가 정규분포를 따른다고 보면 이 방법이 가장 그럴듯한 값을 준다는 확률적 정당화입니다. 또 오차의 짝수 거듭제곱 합이면 어느 것이나 같은 조건을 만족하지만 제곱이 계산이 가장 간단하다는 점, 라플라스가 쓰던 절댓값 합 방식(보스코비치가 먼저 제안)과의 차이도 짚었습니다.
이 글은 두 원전의 서지와 요지를 확인하고 쓴 해설입니다. 문장과 풀이는 새로 썼습니다. 수식은 현대 표기로 바꿨고, 원문의 기호를 그대로 쓰지는 않았습니다.
3. 작은 예로 먼저 보기
이 글 전체에서 쓸 점 5개입니다. x 는 실험 주차, y 는 그 주 퀴즈에서 맞힌 개수라고 생각해도 되고, 스프링 예시로 읽어도 됩니다.
점
x
y
①
1
2
②
2
4
③
3
5
④
4
4
⑤
5
5
오른쪽 위로 올라가는 느낌이 있지만 점들이 직선 위에 있지는 않습니다. 후보 직선 몇 개를 골라서 "각 점에서 직선까지 세로로 얼마나 벗어났는지"를 제곱해 더해 봅시다. 이 합을 S 라 부르겠습니다.
후보 직선
S (오차 제곱합)
y=2.2+0.6x
2.4
y=2+0.6x
2.6
y=2.2+0.5x
2.95
y=3+0.4x
3.0
맨 위 직선이 가장 작고, 이 글이 끝날 때까지 이 직선이 "정답"인 이유를 세 가지 방법으로 확인합니다. 먼저 S 를 식으로 써 봅시다.
4. 문제를 수식으로
직선 y=a+bx 를 점 (xi,yi), i=1,…,n 에 맞출 때, i 번째 점의 잔차(남은 오차)는
ei=yi−(a+bxi)
입니다. 잔차는 점에서 직선까지의 세로 거리(부호 포함)예요. 이 제곱합을 a,b 의 함수로 봅니다.
S(a,b)=i=1∑n(yi−a−bxi)2
최소제곱 직선은 S(a,b) 를 가장 작게 하는 (a,b) 로 정한 직선입니다. 앞으로 쓸 기호를 정리해 둡니다.
르장드르가 부록에서 적은 식이 바로 이 모양입니다. (그는 계수를 "곱의 합" 기호로 묶어 썼어요.) 우리 점 5개에서는 ∑x=15,∑y=20,∑x2=55,∑xy=66 이므로
5a+15b=20,15a+55b=66
입니다. 첫 식에 3을 곱해 15a+45b=60 을 만들고 둘째 식에서 빼면 10b=6, 곧 b=0.6, 그리고 a=4−3(0.6)=2.2 입니다. 3절의 맨 위 후보가 맞았네요.
5-1. 공식으로 정리: 기울기와 절편
첫째 식을 n 으로 나누면 a=yˉ−bxˉ, 즉 최소제곱 직선은 반드시 평균점 (xˉ,yˉ) 를 지납니다. 이것을 둘째 식에 넣고 정리합니다. 편차의 합이 0이라는 사실(∑(xi−xˉ)=0, ∑(yi−yˉ)=0)을 쓰면 ∑xi(yi−yˉ)=∑(xi−xˉ)(yi−yˉ) 이고, ∑xi(xi−xˉ)=∑(xi−xˉ)2 이므로
b=SxxSxy=x의분산공분산,a=yˉ−bxˉ
입니다. "기울기 = 함께 변하는 정도 ÷ x 가 퍼진 정도"라고 말로 읽어 두세요. 우리 데이터에서는 Sxy=6,Sxx=10 이라 b=0.6 입니다.
5-2. 정말 바닥인가: 미분 없이 확인
기울기가 0인 점이 최솟값이라는 보장은 따로 필요합니다(꼭대기나 안장일 수도 있으니까요). 미분을 쓰지 않는 방법이 있어요. 모든 값을 평균에서 잰 편차로 바꾸어 x~i=xi−xˉ,y~i=yi−yˉ 라 두면
가 됩니다. 뒤의 항은 a=yˉ−bxˉ 일 때 0으로 가장 작습니다. 앞의 항은 b 에 대한 이차식 Sxxb2−2Sxyb+Syy 이고, Sxx>0 이므로 아래로 볼록해서 꼭짓점 b=Sxy/Sxx 에서 최소입니다. 중3에서 배운 이차함수의 꼭짓점 찾기와 같아요. 최솟값은
Smin=Syy−SxxSxy2=6−1036=2.4
이고, 3절 표의 맨 위 값과 같습니다. (미분으로 확인하는 방법: 2계 편미분으로 만든 행렬의 행렬식이 4nSxx>0, 우리 예에서는 4⋅5⋅10=200 이라 그릇 모양이 맞습니다. 단, x 값이 모두 같으면 Sxx=0 이어서 기울기를 정할 수 없습니다.)
6. 방법 2: 투영으로 구하기
아는 것: 평면벡터의 내적, 수선의 발 → 새로운 것: Rn 에서의 정사영, 열공간
이번에는 그림을 완전히 바꿉니다. 점 5개를 좌표평면에 찍는 대신, 자료 전체를 5차원 공간의 벡터 하나로 봅니다. 지금까지 데이터를 "점 5개(2차원 5번)"로 봤다면, 이제는 "벡터 3개(5차원)"로 봅니다.
1=(1,1,1,1,1),x=(1,2,3,4,5),y=(2,4,5,4,5)
직선 a+bx 가 만드는 예측값 모음은 a1+bx 이고, 이런 벡터들의 모임(두 벡터가 만드는 평면)을 열공간이라 부릅니다. a,b 를 바꿔 가며 이 평면 위의 점을 고르는 것이 직선을 고르는 일이에요. 그러면 잔차 벡터 e=y−(a1+bx) 의 길이의 제곱∥e∥2=∑ei2 이 바로 S 입니다.
최소제곱 = 평면 위에서 y 와 가장 가까운 점 찾기.
평면 밖의 점에서 평면 위의 가장 가까운 점은 수선의 발입니다(중학교 때 점과 직선 사이 거리를 구하던 것과 같은 생각). 수선의 발을 y^ 라 하면 잔차 e=y−y^ 는 평면 위의 모든 벡터와 수직입니다. 평면은 1 과 x 로 펼쳐지므로 두 벡터와만 수직이면 충분합니다.
1⋅e=∑ei=0,x⋅e=∑xiei=0
여기에 ei=yi−a−bxi 를 넣으면 5절의 정규방정식과 똑같은 두 식이 나옵니다. 미분 없이 "직각 조건"만으로 같은 방정식을 얻은 거예요. 행렬로 쓰면 X=[1x] 일 때 XTe=0 이고, e=y−Xβ 를 넣으면
XTXβ=XTy
입니다. 우리 예에서는 XTX=(5151555), XTy=(2066) 이고 행렬식은 5⋅55−152=50 입니다.
6-1. 수선의 발이 정말 가장 가깝다: 피타고라스
평면 위의 아무 점 p 를 잡으면 y^−p 도 평면 위의 벡터라서 e 와 수직입니다. 직각삼각형이 생기므로
∥y−p∥2=∥e∥2+∥y^−p∥2≥∥e∥2
이고, 등호는 p=y^ 일 때뿐입니다. 이것으로 정규방정식의 해가 최솟값이고 유일하다는 것(단, 1 과 x 가 평행하지 않을 때)이 증명됩니다. 미분이 필요 없었어요.
6-2. 평균을 뺀 그림: 기울기가 나오는 모양
1 방향 성분(평균)을 먼저 덜어 낸 편차 벡터 x~=x−xˉ1=(−2,−1,0,1,2), y~=y−yˉ1=(−2,0,1,0,1) 을 보면 그림이 더 단순해집니다. 이 두 벡터는 1 과 수직이라서 문제가 "y~ 를 x~ 방향으로 정사영하기"로 줄어요. 정사영 공식(내적 ÷ 내적)에서
b=x~⋅x~x~⋅y~=SxxSxy=106
으로, 5-1절의 공식이 다시 나옵니다. 정사영한 벡터는 0.6x~=(−1.2,−0.6,0,0.6,1.2) 이고, 잔차는 e=y~−0.6x~=(−0.8,0.6,1,−0.6,−0.2) 입니다. x~⋅e=1.6−0.6+0−0.6−0.4=0 으로 직각이 확인됩니다.
6-3. 각도와 상관계수
두 편차 벡터 사이의 각을 θ 라 하면 cosθ=∥x~∥∥y~∥x~⋅y~=SxxSyySxy 이고, 이것이 바로 상관계수 r 입니다. 우리 예에서는 r=6/60≈0.775, 각도는 약 39.2∘ 입니다. 상관계수가 "두 벡터가 이루는 각의 코사인"이라는 사실은 기억해 둘 만합니다. 그리고 기울기를 b=r⋅sxsy (표준편차의 비) 로 쓸 수도 있어요. 우리 예에서는 0.775×0.775=0.6 입니다.
6-4. 모자 행렬(투영 행렬)
y^=X(XTX)−1XTy=Hy 에서 H 를 모자 행렬이라 부릅니다. 단순회귀에서 대각 성분은 hii=n1+Sxx(xi−xˉ)2 입니다. 우리 예에서는 0.6,0.3,0.2,0.3,0.6 이고, 합은 2, 곧 투영하는 평면의 차원(모수 개수) 과 같습니다. x 가 평균에서 먼 점일수록 hii 가 커서 직선을 더 세게 끌어당깁니다. 이 합이 2라는 사실은 8절에서 쓰입니다.
7. 결정계수 R2: 얼마나 설명했나
아는 것: 피타고라스 정리, 분산 → 새로운 것: 제곱합의 분해
y 의 전체 흔들림을 SST=∑(yi−yˉ)2, 직선이 설명한 흔들림을 SSR=∑(y^i−yˉ)2, 설명하지 못한 흔들림(잔차)을 SSE=∑ei2 이라 합니다.
정리. 절편이 있는 최소제곱 직선에서 SST=SSR+SSE.
증명.yi−yˉ=(y^i−yˉ)+ei 입니다. 양변을 제곱해서 더하면
SST=SSR+SSE+2∑(y^i−yˉ)ei
입니다. 마지막 합은 ∑y^iei−yˉ∑ei 인데, y^i=a+bxi 이므로 ∑y^iei=a∑ei+b∑xiei 이고, 정규방정식(6절의 직각 조건)에서 ∑ei=0, ∑xiei=0 이니까 이 값은 0입니다. ■
기하로 읽으면 "y~ = (투영된 부분) + (수직 부분)"이라서 피타고라스 정리 그 자체입니다. 절편이 없는 모델이라면 ∑ei=0 이 보장되지 않아 이 분해가 깨질 수 있으니 주의하세요.
결정계수는 설명한 비율입니다.
R2=SSTSSR=1−SSTSSE
또한 SSR=∑b2(xi−xˉ)2=b2Sxx=Sxy2/Sxx 이므로
R2=SxxSyySxy2=r2
입니다. 단순회귀에서 R2 은 상관계수의 제곱이고, 기하로는 cos2θ 입니다. 우리 예에서는 SST=6,SSR=3.6,SSE=2.4, 그래서 R2=0.6 입니다(그리고 0.7752=0.6).
8. 가우스–마르코프 정리: 왜 이 추정량이 좋은가
아는 것: 평균의 성질, 분산 → 새로운 것: 선형 불편추정량, 최소분산
지금까지는 "점에 직선을 맞추는 방법"이었습니다. 이제 "이 직선이 믿을 만한가"를 묻습니다. 데이터가 다음 모형에서 나왔다고 가정합니다.
xi 는 정해진 수이고 모두 같지는 않습니다. 오차가 정규분포라는 가정은 필요 없습니다. 최소제곱 추정량 β^1=b 를 yi 들의 일차결합으로 써 봅시다.
b=Sxx∑(xi−xˉ)(yi−yˉ)=∑wiyi,wi=Sxxxi−xˉ
(∑(xi−xˉ)yˉ=0 이라 yˉ 는 빠집니다.) 가중치 wi 에는 세 가지 성질이 있습니다.
∑wi=0,∑wixi=1,∑wi2=Sxx1
우리 예에서 w=(−0.2,−0.1,0,0.1,0.2) 이고 각각 0, 1, 0.1=1/10 이 됩니다.
불편성.E[b]=∑wi(β0+β1xi)=β0∑wi+β1∑wixi=β1. (여러 번 반복 측정하면 평균적으로 참값에 맞습니다.)
분산. 오차가 서로 상관없으므로 Var(b)=σ2∑wi2=Sxxσ2. x 가 넓게 퍼져 있을수록(Sxx 가 클수록) 기울기를 정확히 잡을 수 있습니다. 절편 a=yˉ−bxˉ=∑ciyi 는 ci=n1−xˉwi 이고, 마찬가지로 계산하면 E[a]=β0,
Var(a)=σ2(n1+Sxxxˉ2),Cov(a,b)=−σ2Sxxxˉ
입니다. 우리 예에서 Var(b)=σ2/10, Var(a)=1.1σ2 입니다.
정리 (가우스–마르코프, 단순회귀). 위 가정에서, yi 의 일차결합이면서 β1 의 불편추정량인 것들 중 b 의 분산이 가장 작다. (BLUE: Best Linear Unbiased Estimator.)
증명의 뼈대. 다른 일차 불편추정량을 b~=∑ciyi 라 하고 ci=wi+di 로 쓰겠습니다. 불편이려면 E[b~]=β0∑ci+β1∑cixi=β1 이 모든 β0,β1 에서 성립해야 하므로 ∑ci=0,∑cixi=1 입니다. wi 도 같은 조건을 만족하므로 ∑di=0, ∑dixi=0 이고, 따라서
이고, 등호는 모든 di=0, 곧 b~=b 일 때만 성립합니다. ■ 이 증명은 "d 는 w 와 수직"이라는 직교성으로 끝납니다. 6절의 기하가 여기서도 쓰인 거예요.
오차의 크기 σ2 은? 잔차 제곱합을 n−2 로 나눈 s2=SSE/(n−2) 가 불편추정량입니다. 잔차 벡터는 e=(I−H)ε 이고 I−H 는 투영 행렬이라 E∥e∥2=σ2tr(I−H)=σ2(n−2) 이기 때문입니다. (trH=2 는 6-4절에서 확인했어요.) 직선이 점 두 개분의 자유를 이미 써 버렸기 때문에 n 이 아니라 n−2 로 나눕니다.
한계. 이 정리는 "일차이면서 불편인 추정량 중에서" 가장 좋다는 말입니다. 편향을 조금 허용하면 분산을 더 줄일 수 있는 추정량(릿지 등)이 있고, 이것은 시리즈 뒤쪽에서 다룹니다.
9. 가우스의 정당화: 정규분포와 가능도
아는 것: 확률분포, 지수함수 → 새로운 것: 최대가능도
르장드르는 "쓰기 쉽고 극단을 누른다"는 이유를 댔습니다. 가우스는 왜 하필 제곱합이 옳은가를 확률로 설명했습니다.
방향 1 (오차가 정규분포라면). 오차 εi 가 서로 독립이고 평균 0, 분산 σ2 인 정규분포를 따른다면, 관측값 y1,…,yn 이 나올 가능도는
L(a,b,σ)=i∏σ2π1exp(−2σ2(yi−a−bxi)2)
이고, 로그를 취하면
lnL=−nlnσ−2nln2π−2σ2S(a,b)
입니다. σ 를 고정하면 lnL 을 키우는 일은 S(a,b) 를 줄이는 일과 같습니다. 정규오차 아래에서 가장 그럴듯한 직선이 곧 최소제곱 직선입니다. (여기서 σ2 의 최대가능도 추정치는 SSE/n 인데, 우리 예에서는 0.48 이고 8절의 불편추정량 s2=2.4/3=0.8 과는 다릅니다.)
방향 2 (가우스가 실제로 한 논증의 뼈대). 가우스는 거꾸로도 갔습니다. "같은 양을 여러 번 쟀을 때 가장 그럴듯한 값이 산술평균이라는 것을 받아들이자. 그러면 오차의 분포는 어떤 모양이어야 하는가?" 오차의 밀도를 φ 라 하고 g=φ′/φ 라 두면, 참값 후보 V 에 대해 ∏φ(Mi−V) 를 최대로 하는 조건은 ∑g(Mi−V)=0 입니다. 이 해가 모든 자료에서 평균이어야 합니다. 관측 N 개 중 N−1 개가 값 t, 하나가 −(N−1)t 인 자료를 보면 평균은 0이므로
(N−1)g(t)+g(−(N−1)t)=0
입니다. g 가 홀함수임을 (같은 방식으로 N=2 일 때 알 수 있습니다) 쓰면 g((N−1)t)=(N−1)g(t) 가 되어 g 가 정수배에서 선형이고, 연속이라는 가정으로 g(Δ)=kΔ 가 됩니다. 풀면 φ(Δ)∝ekΔ2/2 (k<0), 곧 정규분포 꼴입니다. 그러므로 평균이 최선이라면 오차는 정규분포이고, 그때 최대가능도는 제곱합 최소화입니다. 가우스가 쓴 지수의 모양이 e−h2Δ2 꼴이었음을 원전에서 확인할 수 있습니다.
이 논증의 약점도 같이 알아 두세요. "평균이 가장 그럴듯하다"는 출발 가정이 이미 큰 선택이고, 실제 오차가 정규분포가 아니면 이 정당화는 약해집니다. 현대에는 8절의 가우스–마르코프(분포 가정 없이 선형 불편추정량 중 최선)와 중심극한정리(작은 오차가 많이 쌓이면 정규분포에 가까워짐)가 이 약점을 보완해 줍니다.
10. 왜 제곱인가: 절댓값 오차와 비교
오차를 "세로 거리의 절댓값 합"으로 재면 안 될까요? 그것도 훌륭한 방법이고 실제로 가우스 이전부터 쓰였습니다(보스코비치, 라플라스). 비교해 봅시다.
1. 대푯값부터: 평균 대 중앙값. 값이 1,2,9 일 때 하나의 값 c 로 요약한다고 합시다.
c
제곱합 ∑(v−c)2
절댓값 합 ∑∣v−c∣
4 (평균)
38
10
2 (중앙값)
50
8
제곱은 평균을, 절댓값은 중앙값을 고릅니다. 큰 값 9에 휘둘리는 쪽이 제곱입니다. 최소제곱 직선도 같아서, 우리 데이터에서 마지막 y 를 5에서 15로 바꾸면 기울기가 0.6에서 2.6으로 튑니다(절편은 −1.8). 이상치에 약하다는 것이 제곱의 대가입니다.
2. 절댓값의 불편함. 절댓값은 꺾이는 점이 있어서 미분이 안 되고 공식이 없습니다. 우리 데이터에서 절댓값 합을 최소로 하는 직선을 찾아보면 총합 3이 되는 직선이 여럿입니다. 예를 들어 y=1.25+0.75x 와 y=310+31x 가 모두 합 3입니다. 답이 하나로 정해지지 않을 수 있다는 뜻입니다. 반면 제곱합은 그릇 모양이라 답이 하나이고 방정식도 일차입니다(5절).
3. 기하와 확률의 이득. 제곱은 거리의 제곱이라 피타고라스(6·7절), 투영, R2 분해가 가능하고, 정규분포의 가능도와 직결됩니다(9절). 가우스 자신도 짝수 거듭제곱이면 어느 것이나 "과녁에서 먼 오차를 더 세게 벌주는" 성질은 같지만 제곱이 가장 단순하다고 적었습니다.
정리하면 제곱은 계산, 기하, 확률이 한꺼번에 맞아떨어지는 선택이고, 이상치가 많은 자료에서는 절댓값 기반 방법(중앙값 회귀 등)이나 로버스트 회귀가 더 낫습니다.
6=3.6+2.4 ✓. 그래서 R2=3.6/6=0.6. 상관계수는 r=0.6≈0.775 (기울기가 양수이므로 양의 부호).
7단계. 오차의 크기.s2=SSE/(n−2)=2.4/3=0.8, 기울기의 표준오차는 s2/Sxx=0.08≈0.283. 기울기 0.6은 표준오차의 약 2.1배입니다. 다만 점이 5개뿐이라 "기울기가 정말 0이 아니다"를 단정하기에는 근거가 약합니다(정규오차 가정과 t 분포가 필요하고, 이 이야기는 이후 편에서 다룹니다).
연습 문제
점 (1,2),(2,3),(3,5),(4,6) 에 최소제곱 직선을 맞추고 R2 을 구해 보세요.
import numpy as np
x = np.array([1, 2, 3, 4, 5], float)
y = np.array([2, 4, 5, 4, 5], float)
X = np.c_[np.ones(5), x] # 열: 1, x
XtX, Xty = X.T @ X, X.T @ y
print(XtX, Xty) # [[5 15] [15 55]] [20 66]
a, b = np.linalg.solve(XtX, Xty) # 정규방정식
print(a, b) # 2.2 0.6
e = y - (a + b * x)
print(e, e.sum(), (x * e).sum()) # 잔차, 0, 0 (직각 조건)
sst = ((y - y.mean()) ** 2).sum()
sse = (e ** 2).sum()
print(sst, sst - sse, sse, 1 - sse / sst) # 6, 3.6, 2.4, 0.6
print(np.polyfit(x, y, 1)) # [0.6 2.2]
실무에서는 정규방정식을 직접 풀기보다 np.linalg.lstsq처럼 QR이나 SVD를 쓰는 함수를 씁니다. XTX 의 역행렬을 구하면 수치 오차가 커질 수 있기 때문입니다.
13. 흔한 오해와 한계
오차는 세로로 잰 거리입니다. 점에서 직선까지의 수직(가장 짧은) 거리가 아닙니다. x 에도 오차가 있다면 수직 거리를 재는 다른 방법(전체최소제곱)이 필요하고, 앞선 PCA 글의 첫 번째 주성분 축이 그런 직선의 한 예입니다.
x 와 y 를 바꾸면 직선이 달라집니다.y 를 x 에 맞춘 직선과 x 를 y 에 맞춘 직선은 같지 않습니다(기울기가 rsy/sx 와 rsx/sy). 이 비대칭은 다음 편 갈턴의 "평균으로의 회귀"와 이어집니다.
R2 이 높다고 인과관계가 있거나 모형이 옳은 것은 아닙니다. 곡선 관계의 자료에도 직선은 그려지고, 이상치 하나가 R2 을 크게 바꾸기도 합니다. 잔차 그림을 꼭 함께 보세요.
절편이 없는 모델에서는 분해가 깨질 수 있습니다. 7절의 SST=SSR+SSE 는 절편이 있을 때(∑ei=0) 성립합니다.
가우스–마르코프는 "선형 불편추정량 중 최선"입니다. 오차의 분산이 같고 서로 상관없다는 가정이 깨지면(이분산, 시계열) 최선이 아닙니다.
범위 밖 예측은 위험합니다. 자료가 있는 구간 밖으로 직선을 늘려 쓰면 맞지 않을 수 있습니다.
우선권 이야기를 단순화하지 마세요. 먼저 출판한 사람은 르장드르, 먼저 썼다고 밝힌 사람은 가우스입니다. 여기서는 원전에 적힌 사실만 옮겼고, 누가 "발명자"인지 가리지는 않습니다.
14. 뿌리 개념 지도
이 글의 개념
중학
고등
대학 1학년
물리·과학에서는
점에 맞춘 직선
일차함수, 산점도와 상관관계
일차함수의 그래프와 기울기
단순회귀 y=a+bx
실험 데이터에 직선 맞추기
식이 더 많은 연립방정식
연립일차방정식
—
과결정계 Xβ≈y
여러 번 측정한 값에서 상수 추정
평균, 대푯값
평균, 중앙값
분산, 표준편차
공분산, 상관계수
측정 오차, 평균값의 신뢰
오차 제곱합의 최솟값
이차함수의 꼭짓점, 완전제곱식
다항함수의 미분과 극값
편미분, 헤세 행렬
퍼텐셜 에너지가 최소인 평형
수선의 발, 거리
피타고라스 정리, 점과 직선 사이의 거리
평면벡터의 내적
정사영, 열공간, 직교 분해
힘의 성분 분해
제곱합 분해
피타고라스 정리
거리 공식
SST=SSR+SSE
에너지를 두 성분의 합으로 나누기
정규분포 오차
도수분포표와 히스토그램
정규분포, 표본평균
최대가능도, 가우스–마르코프
측정 오차의 종 모양 분포
학교급 배치는 교육과정 문서로 아직 대조하지 못했습니다. 개정마다 단원 위치가 달라질 수 있어서(특히 상관계수, 편미분, 행렬) 참고용으로 봐 주세요. 물리 연결의 예로 용수철의 늘어난 길이가 당기는 힘에 비례한다는 법칙(훅의 법칙)에서 비례상수를 여러 측정으로 정하는 일이 있습니다.
우리 사이트의 중학수학(일차함수, 피타고라스 정리, 이차함수), 수능수학, 데이터분석 학습 경로(LA04 내적, LA20 투영, LA21 정규방정식, LA22 잔차의 직교성)에서 각 개념을 문제로 연습할 수 있어요. 교재로는 Axler, Linear Algebra Done Right 6장(직교 보공간과 최소화 문제 절)과 연결됩니다.
15. 한 줄 요약
최소제곱 직선은 오차의 제곱합을 가장 작게 하는 직선이고, 그 계수는 정규방정식 XTXβ=XTy 의 해입니다. 이 식은 미분으로도, "잔차가 열공간에 수직"이라는 투영으로도 나오며, 그 기하 덕분에 SST=SSR+SSE, R2=r2, 가우스–마르코프 정리가 모두 피타고라스 한 줄로 이어집니다. 가우스는 오차가 정규분포라면 이것이 가장 그럴듯한 직선임을 보였습니다.
C. F. Gauss (1809). Theoria motus corporum coelestium in sectionibus conicis solem ambientium. Hamburg: Perthes et Besser. (제2권 제3절)
C. H. Davis 영어 번역 (1857). Theory of the Motion of the Heavenly Bodies Moving about the Sun in Conic Sections. Boston: Little, Brown and Company. https://archive.org/details/theoryofmotionof00gaus
이 글의 해설과 예제는 새로 쓴 것이며 논문의 문장과 그림을 옮기지 않았습니다. 수식과 숫자는 코드로 검산했습니다. 오류를 발견하면 알려 주세요.