선형회귀 I: 데이터에서 가장 잘 맞는 직선까지
기호와 평균 관계를 이해하고, 최소제곱식을 유도해 직접 계산하는 3주차 교재
이 차시를 마치면
- 관측·설명변수·반응변수와 n,p,i,j의 역할을 구별한다.
- 확정적 관계와 확률적 관계, 단순회귀와 다중회귀의 차이를 설명한다.
- 절편·기울기·모수와 그 추정값을 구분하여 예측식을 읽는다.
- 잔차제곱합에서 편미분과 정상방정식을 거쳐 단순회귀 해를 유도한다.
- 직접 계산한 계수·예측값·잔차·제곱합을 확인한다.
- 정규오차 가정, 볼록성과 해의 존재·유일성, 오차와 잔차의 적용 범위를 구별한다.
자료 기반 재구성은 강의자료와 검수 결과를 풀어 쓴 설명입니다. AI 보충 예제는 별도 표시합니다. 교수님의 발언을 그대로 옮긴 인용문은 아닙니다.
숫자를 예측한다는 것은 무엇인가
어떤 자동차의 주행속도를 알 때 제동거리는 얼마나 될까? 한 사람의 여러 특성을 알 때 측정값 하나를 예상할 수 있을까? 회귀는 이런 숫자 형태의 반응값을 예측하거나 그 평균적인 관계를 설명하는 문제를 다룬다. 이 절에서는 예측에 사용할 정보를 \(X\), 알고 싶은 결과를 \(Y\)라고 부른다. \(X\)에 값을 넣으면 숫자를 돌려주는 함수 \(f\)를 만드는 것이 출발점이다.
여기서 예측의 대상이 숫자인지 범주인지를 먼저 정해야 한다. 제동거리처럼 크기와 차이가 의미 있는 양을 추정하면 수치 예측이다. 불량·정상처럼 정해진 종류를 고르면 분류다. 범주를 0과 1로 저장했다고 해서 이번 단원의 직선 모형이 자동으로 적절해지는 것은 아니다. 문제의 목표와 결과값의 의미를 먼저 읽어야 한다.
자료는 행마다 관측한 대상을, 열마다 그 대상의 특성을 놓는다. 자동차 50대의 속도와 제동거리를 모았다면 한 행이 자동차 하나이고, 그 행의 두 숫자가 하나의 관측쌍을 이룬다. 회귀를 시작하기 전에는 어느 열이 입력이고 어느 열이 목표인지 분명히 해야 한다. 두 열이 있다는 사실만으로 둘 다 입력변수가 되는 것은 아니다.
이번 단원의 도착점은 관측쌍들을 보고 직선의 위치와 기울기를 정한 뒤, 새 입력에 대한 예측값을 계산하는 것이다. 직선을 눈으로 그리는 데서 그치지 않고, 어떤 기준으로 가장 잘 맞는 직선을 골랐는지까지 식으로 설명한다.
관측값·변수·모수를 구별하는 기호 지도
기호가 많아 보여도 역할을 나누면 복잡하지 않다. 다음 표는 자료의 기호를 읽기 쉽도록 통일한 것이다. 이 교재에서는 행 인덱스를 먼저 쓰는 \(x_{ij}\)를 사용한다. 자료의 표에서 아래첨자 배열을 다르게 배치한 곳과 모양은 달라도, 관측과 변수의 역할은 같다.
| 기호 | 뜻 | 읽을 때 확인할 점 |
|---|---|---|
| \(n\) | 관측 대상의 수 | 데이터의 행 개수다. |
| \(p\) | 설명변수의 수 | 이 절에서는 절편을 제외하고 센다. |
| \(x_{ij}\) | \(i\)번째 관측의 \(j\)번째 입력값 | \(i\)는 사람·차량, \(j\)는 속도·중량 같은 특성을 구별한다. |
| \(y_i\) | \(i\)번째 관측의 실제 반응값 | 데이터에서 이미 측정한 값이다. |
| \(\beta_0,\beta_j\) | 모집단 모형의 절편과 계수 | 우리가 알고 싶은, 고정되어 있지만 모르는 모수다. |
| \(\hat\beta_0,\hat\beta_j\) | 표본으로 구한 계수 추정값 | 모자 표시가 붙으면 데이터로 추정했다는 뜻이다. |
| \(\hat y_i\) | 적합한 모형의 예측값 | 실제값 \(y_i\)와 구별한다. |
| \(\varepsilon_i, e_i\) | 오차와 잔차 | 기준으로 삼는 평균선이 달라 뒤에서 따로 설명한다. |
입력 한 개의 단순회귀에서는 \(x_{i1}\)을 간단히 \(x_i\)로 쓴다. 이때 \(\beta_1\)의 아래첨자 1은 첫 번째 관측을 뜻하지 않는다. 설명변수에 곱하는 첫 번째 계수라는 뜻이다. 반면 \(y_1\)은 첫 관측의 결과값이다. 같은 숫자 아래첨자라도 기호의 역할에 따라 의미가 달라진다.
이렇게 입력 열만 모으면 크기가 \(n\times p\)인 데이터 행렬이 된다. 반응값은 관측마다 하나씩 있으므로 길이 \(n\)인 열로 따로 둔다. 행의 순서를 바꿀 때에는 입력과 반응을 함께 옮겨야 한다. 입력 행만 섞으면 원래의 짝이 깨져 전혀 다른 관계를 학습하게 된다. 따라서 같은 행에 놓였다는 구조도 데이터의 중요한 정보다.
확정적 관계와 확률적 관계: 왜 오차항을 붙이는가
확정적 관계에서는 입력이 정해지면 결과가 하나로 결정된다. 이상적인 계산 규칙을 \(Y=f(X)\)로 나타낼 수 있다. 예를 들어 속도가 일정하다는 조건에서 이동거리는 속도와 시간의 곱으로 계산한다. 이 조건이 모형에 충분히 반영되어 있다면 별도의 무작위 항 없이 결과를 표현한다.
현실에서 같은 입력을 가진 대상들이 모두 같은 결과를 보이는 경우는 드물다. 자동차 속도가 같아도 노면, 타이어, 반응시간 등에 따라 제동거리가 달라질 수 있다. 측정에 쓰지 않은 요인과 무작위 변동을 허용하면 관계를 다음처럼 쓴다.
\[Y=f(X)+\varepsilon.\]이것이 확률적 관계다. \(f(X)\)는 입력으로 설명할 평균적 부분이고, \(\varepsilon\)는 그 평균에서 벗어난 부분이다. 오차가 있다는 말은 계산을 잘못했다는 뜻에 한정되지 않는다. 선택한 입력과 모형만으로 개별 결과를 완전히 결정하지 못한다는 뜻이다.
따라서 좋은 회귀모형이라고 해서 모든 점을 정확히 통과해야 하는 것은 아니다. 모든 관측점을 통과하도록 복잡한 선을 그리는 일과, 새 관측에도 쓸 수 있는 평균적 관계를 찾는 일은 다르다. 이번 단원은 그중 가장 간단한 평균 관계를 직선 또는 선형결합으로 표현하는 방법을 배운다.
단순회귀에서 다중회귀로: 무엇을 더하는가
설명변수가 하나인 단순 선형회귀는 평균 관계를 \(\beta_0+\beta_1x\)로 표현한다. 확률적 관측값까지 포함한 모형과, 데이터로 적합한 예측식을 나란히 놓으면 다음과 같다.
\[Y_i=\beta_0+\beta_1x_i+\varepsilon_i,\qquad \hat y_i=\hat\beta_0+\hat\beta_1x_i.\]왼쪽은 관측값이 만들어지는 관계에 관한 모형이고, 오른쪽은 학습이 끝난 뒤 실제로 계산할 수 있는 예측식이다. 오른쪽에 임의의 오차를 더해 예측값으로 삼지 않는다. 오차는 아직 모르는 개별 변동이므로 평균적인 예측은 적합한 선 위의 값이다.
설명변수가 두 개 이상이면 다중 선형회귀로 확장한다. 예를 들어 속도와 중량을 함께 사용할 수 있다. 입력마다 계수를 곱하고 절편과 더한다.
\[Y_i=\beta_0+\sum_{j=1}^{p}\beta_jx_{ij}+\varepsilon_i.\]\(\sum\)는 뒤의 항을 인덱스에 따라 모두 더하라는 기호다. \(p=2\)라면 합은 \(\beta_1x_{i1}+\beta_2x_{i2}\)가 된다. 계수 개수는 설명변수 \(p\)개에 절편 하나를 더한 \(p+1\)개다. 입력이 하나이면 2차원 그림에서 직선으로 보이고, 입력이 두 개이면 3차원 공간의 평면으로 볼 수 있다. 변수 수가 늘어도 계수로 가중한 입력을 더한다는 기본 구조는 유지된다.
절편과 기울기를 실제 문장으로 읽는 법
단순회귀의 \(\beta_0\)는 \(x=0\)일 때 모형이 주는 평균값이다. \(\beta_1\)은 입력이 1단위 증가할 때 모형 평균이 얼마나 변하는지를 나타낸다. 다음 차이를 직접 계산하면 기울기의 의미가 드러난다.
\[(\beta_0+\beta_1(x+1))-(\beta_0+\beta_1x)=\beta_1.\]예를 들어 기울기가 3이라면 입력이 1 늘 때 모형 평균은 3 늘어난다. 기울기가 −2라면 2 줄어든다. 입력 1 증가가 결과 1 증가를 뜻하는 것은 기울기가 1인 특수한 경우다. 계수의 크기는 입력과 출력의 단위도 함께 붙여 읽어야 한다.
학습이란 이미 관측한 데이터에 맞추어 이 절편과 기울기를 결정하는 과정이다. 데이터가 주어지기 전에는 \(\beta\)를 모르고, 학습 뒤에는 \(\hat\beta\)라는 수치가 나온다. 이 숫자를 예측식에 넣으면 같은 절차로 기존 입력이나 새로운 입력에 대한 값을 계산할 수 있다.
또한 평균 관계를 설명하는 계수를 개별 관측의 확정적 법칙처럼 읽으면 안 된다. 기울기가 3인 모형에서도 입력이 1 더 큰 두 관측의 실제 \(y\)가 정확히 3 차이 날 필요는 없다. 각 관측에는 별도의 오차가 있기 때문이다. 모형이 설명하는 평균 변화와 개별 결과의 변화를 구별하는 것이 중요하다.
선형이라는 말의 정확한 범위
자료의 분류도는 입력변수의 수와 직선·곡선 형태를 함께 보여 준다. 처음에는 한 입력과 결과의 산점도가 직선 가까이 늘어서 있는지 보는 것으로 시작하면 좋다. 다만 회귀에서 선형모형이라는 말은 추정할 계수에 대해 선형이라는 더 정확한 뜻으로도 사용한다.
예를 들어 \(\beta_0+\beta_1x+\beta_2x^2\)는 원래 \(x\)에 대해 곡선이지만, 계수 \(\beta_0,\beta_1,\beta_2\)에는 각각 한 번씩만 곱해져 더해진다. \(z_1=x,z_2=x^2\)라는 입력 열을 만들어 생각하면 선형회귀의 계산 구조를 이용할 수 있다. 반면 계수를 지수 안에 넣는 모형 등은 같은 의미의 선형모형이 아니다.
이 구별은 자료의 그림을 수학적 용어의 모든 경우로 확대하지 않기 위한 보충이다. 이번 절의 직접 유도는 원래 입력 한 개에 대한 직선 \(\beta_0+\beta_1x\)만 다룬다. 또한 단순·다중은 설명변수 개수의 구별이다. 입력이 많다는 의미의 다중회귀와, 여러 반응변수를 함께 다루는 다변량 회귀라는 표현도 자동으로 같은 뜻으로 사용하지 않는다.
관계를 설명하는 일과 새 값을 예측하는 일
자료는 선형회귀의 목적을 관계의 설명과 미래 반응값의 예측으로 정리한다. 설명에 관심이 있다면 어떤 입력이 결과와 어떤 방향으로 관련되는지 읽는다. 예측에 관심이 있다면 아직 결과를 모르는 입력에 대해 쓸 만한 값을 내는지 본다. 같은 회귀식도 목적에 따라 확인할 질문이 달라진다.
관측한 산점도에는 여러 후보 직선을 그릴 수 있다. 어떤 선은 많은 점 가까이를 지나고, 어떤 선은 전체 점군에서 멀리 벗어난다. 예측값이 관측값과 얼마나 다른지 계산하면 후보들을 같은 기준으로 비교할 수 있다. 자료의 그림에서 점과 선 사이의 수직 간격은 이 차이를 보여 준다.
통계와 머신러닝을 비교한 표는 강조점의 차이를 이해하는 출발점으로 읽는다. 통계는 설명만 하고 머신러닝은 예측만 한다는 배타적 구분으로 받아들이지 않는다. 어떤 모형을 쓰더라도 관계를 해석할 때는 가정을, 예측할 때는 새 관측에서도 관계가 유지되는지를 생각해야 한다.
여기서 X와 Y를 입력과 결과라고 부르는 것만으로 인과관계가 증명되는 것도 아니다. 관측된 관계를 수치로 정리하는 것과, X에 개입했을 때 Y가 바뀐다고 주장하는 것은 다른 질문이다. 이번 절에서는 관측쌍으로 평균 관계를 적합하는 문제에 집중한다.
오차의 평균·분산·정규성은 무엇을 뜻하는가
자료가 제시하는 오차의 확률모형은 다음과 같다. 여기서 \(\sigma^2\)는 분산, \(\sigma\)는 표준편차다.
\[\varepsilon_i\sim N(0,\sigma^2),\qquad E(\varepsilon_i)=0,\quad \operatorname{Var}(\varepsilon_i)=\sigma^2.\]평균이 0이라는 것은 오차를 반복적으로 생각할 때 평균 관계보다 위로 벗어나는 경향과 아래로 벗어나는 경향이 한쪽으로 치우치지 않는다는 뜻이다. 모든 오차가 0이라는 뜻은 아니다. 분산은 그 흩어짐의 크기를 나타낸다. 개별 오차가 반드시 \(\sigma\) 또는 \(\sigma^2\)와 같다는 뜻도 아니다.
입력값 \(x_i\)와 모수를 고정해서 생각하면 \(\beta_0+\beta_1x_i\)는 상수다. 상수에 오차를 더하므로 결과의 평균은 그 상수로 이동하고, 분산은 오차의 분산과 같다.
\[E(Y_i\mid x_i)=\beta_0+\beta_1x_i,\qquad \operatorname{Var}(Y_i\mid x_i)=\sigma^2.\]정규분포는 이 평균선을 중심으로 관측값이 어떤 확률적 모양으로 흩어지는지를 나타낸다. 같은 분산을 놓는 모형에서는 입력 위치가 바뀌어도 오차의 퍼짐 규모가 같다. 단순히 평균이 0이라는 이유로 표준정규분포라고 부르면 안 된다. 표준정규는 분산도 1인 \(N(0,1)\)이다.
직선을 계산하는 조건과 확률 해석의 조건
정규성 이야기가 나왔다고 해서 데이터를 보고 직선을 계산하기 전에 입력과 출력이 모두 종 모양이어야 하는 것은 아니다. 최소제곱 계산은 우선 주어진 숫자들에 가장 잘 맞는 선을 찾는 최적화다. 뒤에서 보듯 \(x\)값들이 모두 같지 않으면 단순회귀 계수를 식으로 계산할 수 있다.
반면 그 계수를 모집단 관계의 추정으로 해석하거나, 앞으로 배울 신뢰구간과 검정을 적용하려면 확률모형의 가정이 중요해진다. 기본적으로 \(E(\varepsilon_i\mid X_i)=0\)이어야 \(\beta_0+\beta_1X_i\)를 조건부평균으로 읽을 수 있다. 정상적인 관측 설계와 오차의 성질을 확인하는 일은 계산식을 적용하는 일보다 더 넓은 문제다.
모집단의 모수 \(\beta\)는 고정되어 있지만 우리가 모르는 값이다. \(\hat\beta\)는 표본으로 계산하므로 표본이 바뀌면 달라질 수 있다. 자료의 평균·분산 유도에서 고정된 \(\beta_0+\beta_1x_i\)의 분산이 0인 점을, 표본이 달라져도 추정계수의 분산이 0이라는 주장으로 바꾸면 안 된다.
또한 설명변수라는 명칭을 독립변수라고 쓰더라도, 그 이름만으로 모든 입력변수끼리 확률적으로 독립이어야 한다는 뜻은 아니다. 오차들 사이의 독립성과 입력 열들 사이의 관계도 다른 질문이다. 자세한 가정 진단과 추론은 후속 차시에 연결하고, 여기서는 조건을 생략해 공식을 과도하게 일반화하지 않는 데 목적을 둔다.
좋은 직선을 고르는 기준: 잔차제곱합
입력 \(x_i\)에서 후보 직선이 내는 값은 \(\beta_0+\beta_1x_i\)다. 관측값에서 이 값을 빼면 후보 선의 예측이 얼마나 어긋나는지 알 수 있다. 자료의 선과 점 사이 수직 간격이 바로 이 차이에 해당한다.
\[d_i=y_i-(\beta_0+\beta_1x_i).\]부호는 방향을 알려 준다. \(d_i>0\)이면 관측점이 선 위에 있어서 후보 선이 작게 예측했다. \(d_i<0\)이면 관측점이 선 아래에 있어서 후보 선이 크게 예측했다. 모든 관측을 고려하려면 이 차이들을 하나의 점수로 모아야 한다. 이번 단원은 차이의 제곱을 모두 더한 비용함수를 사용한다.
\[C(\beta_0,\beta_1)=\sum_{i=1}^{n}\left[y_i-(\beta_0+\beta_1x_i)\right]^2.\]이 식의 입력은 관측값 자체가 아니라 직선을 정하는 두 모수다. 주어진 데이터는 고정해 놓고 절편과 기울기를 바꿀 때 비용이 얼마나 달라지는지 본다. 최솟값을 만드는 모수쌍이 최소제곱 추정값이다.
\[(\hat\beta_0,\hat\beta_1)=\operatorname*{argmin}_{\beta_0,\beta_1}C(\beta_0,\beta_1).\]min은 가장 작은 비용값을, argmin은 그 값을 만드는 입력을 뜻한다. 우리는 최종적으로 선을 그려야 하므로 비용숫자뿐 아니라 최적 절편과 기울기를 얻는 argmin이 필요하다. Ordinary Least Squares를 줄여 OLS라고 부른다.
왜 차이를 그대로 더하지 않고 제곱하는가
이 절의 숫자 비유는 이해를 위해 만든 AI 예제다. 어떤 선이 두 관측에서 각각 +2와 −2의 차이를 냈다고 하자. 차이를 그대로 더하면 0이다. 그러나 두 관측을 모두 정확히 맞힌 것은 아니다. 반대 부호가 서로 지워져 예측 오차가 없는 것처럼 보인 것이다.
제곱을 사용하면 \(2^2+(-2)^2=8\)이 되어 이런 상쇄를 막는다. 제곱된 값은 항상 0 이상이고, 모든 차이가 0일 때만 제곱합도 0이다. 또 작은 차이보다 큰 차이에 더 큰 비용을 준다. 차이의 크기를 1에서 2로 늘리면 비용은 1에서 4로 늘어난다.
물론 상쇄를 막는 유일한 방법이 제곱은 아니다. 절댓값을 더하는 기준도 가능하다. 제곱을 선택하면 비용이 계수에 대해 미분 가능한 이차식이 되어 해를 유도하기 좋다는 장점이 있다. 다만 아주 큰 차이를 내는 관측이 결과에 큰 영향을 줄 수 있다는 성질도 함께 기억해야 한다. 최소제곱은 하나의 명확한 선택 기준이지 모든 목적에서 유일하게 좋은 기준은 아니다.
그림의 간격은 동일한 \(x_i\)에서 관측 \(y_i\)와 직선값 사이의 수직 차이다. 점에서 직선에 수선을 내려 잰 최단거리를 재는 다른 최적화 문제와 혼동하지 않는다. 여기서는 주어진 입력에서 출력 예측이 얼마나 틀리는지를 잰다.
편미분을 0으로 놓아 두 정상방정식을 얻기
계수를 조금 바꿨을 때 비용이 어느 방향으로 변하는지는 미분으로 살펴볼 수 있다. 모수가 두 개이므로 하나를 고정하고 다른 하나에 대해 미분하는 편미분을 사용한다. \(r_i=y_i-\beta_0-\beta_1x_i\)라고 잠시 쓰면, 제곱의 미분과 안쪽 식의 미분을 곱해 다음 식을 얻는다.
\[\frac{\partial C}{\partial\beta_0}=-2\sum_i(y_i-\beta_0-\beta_1x_i),\qquad \frac{\partial C}{\partial\beta_1}=-2\sum_i x_i(y_i-\beta_0-\beta_1x_i).\]절편에 대해 안쪽 식을 미분하면 −1, 기울기에 대해 미분하면 −\(x_i\)가 나온다는 점이 두 식의 차이다. 각 편미분을 0으로 놓고 항을 정리하면 정상방정식 두 개가 된다. 정상이라는 이름은 정규분포를 가정해서 생긴 말이 아니다.
\[n\hat\beta_0+\hat\beta_1\sum_i x_i=\sum_i y_i,\] \[\hat\beta_0\sum_i x_i+\hat\beta_1\sum_i x_i^2=\sum_i x_iy_i.\]첫 식은 최적선에서 잔차의 합이 0이라는 뜻으로도 읽힌다. 두 번째 식은 잔차에 각 입력을 곱한 합이 0이라는 뜻이다. 관측이 많아도 계산에 필요한 것은 \(n,\sum x_i,\sum y_i,\sum x_i^2,\sum x_iy_i\)로 모을 수 있다.
일반적인 함수는 미분이 0인 지점이 극대나 안장점일 수도 있다. 이 문제에서 정상방정식을 풀어 최소값을 찾을 수 있는 이유는 뒤에서 확인할 잔차제곱합의 볼록성에 있다. 따라서 미분이 0이라는 사실과 최소해라는 결론 사이의 근거를 함께 기억해야 한다.
기울기 공식은 평균을 뺀 두 변동을 비교한다
첫 정상방정식을 \(n\)으로 나누면 절편을 기울기로 표현할 수 있다. \(\bar x=\sum x_i/n\), \(\bar y=\sum y_i/n\)는 표본평균이다.
\[\hat\beta_0=\bar y-\hat\beta_1\bar x.\]이 관계를 두 번째 정상방정식에 넣으면 기울기 공식이 나온다. 분모가 0이 아닌 조건에서 다음 두 식은 같은 값을 준다.
\[\hat\beta_1=\frac{\sum_i(x_i-\bar x)(y_i-\bar y)}{\sum_i(x_i-\bar x)^2}=\frac{\sum_i x_iy_i-n\bar x\bar y}{\sum_i x_i^2-n\bar x^2}.\]분자는 두 값이 각자의 평균에서 같은 방향으로 움직이는지를 더한다. 큰 \(x\)가 큰 \(y\)와, 작은 \(x\)가 작은 \(y\)와 짝을 이루면 양의 곱이 많이 쌓인다. 반대 방향이면 음의 곱이 쌓인다. 분모는 입력 자체가 평균 주위에서 얼마나 흩어졌는지를 나타내며 음수가 될 수 없다.
따라서 입력의 변동이 있는 경우 기울기의 부호는 분자가 결정한다. 절편식에 의해 적합한 선은 평균점 \((\bar x,\bar y)\)를 지난다. 평균을 뺀 값으로 기울기를 정한 뒤, 그 선이 평균점을 지나도록 절편을 맞춘다고 생각하면 두 공식의 연결이 보인다.
두 정상방정식을 평균과 중심화 식으로 바꾸는 과정
닫힌 형태의 공식을 암기하기 전에, 두 연립방정식이 어떻게 한 개의 기울기 식이 되는지 천천히 따라가 보자. 여기의 전개는 자료35·39쪽의 식 사이를 연결하기 위한 AI 보충이다. 첫 식에서 얻은 절편을 두 번째 식에 넣으면 다음과 같다.
\[(\bar y-\hat\beta_1\bar x)\sum_i x_i+\hat\beta_1\sum_i x_i^2=\sum_i x_iy_i.\]평균의 정의에 의해 \(\sum_i x_i=n\bar x\)다. 왼쪽의 첫 항을 펼치고 기울기가 붙은 항끼리 모으면 다음 식이 된다. 왼쪽과 오른쪽에 같은 수를 빼는 것이므로 등식은 유지된다.
\[\hat\beta_1\left(\sum_i x_i^2-n\bar x^2\right)=\sum_i x_iy_i-n\bar x\bar y.\]괄호 속을 분모로 옮기면 기울기 공식이다. 다만0으로 나누면 안 되므로 이 괄호가 양수인지 먼저 확인한다. 이것이 입력의 중심화제곱합 조건과 같은 이유는 다음 전개로 알 수 있다.
\[\sum_i(x_i-\bar x)^2=\sum_i x_i^2-2\bar x\sum_i x_i+n\bar x^2=\sum_i x_i^2-n\bar x^2.\]같은 방식으로 중심화한 두 변수의 곱을 펼치면 분자의 식도 얻어진다. 중심화라는 말은 특별한 계산장치를 뜻하지 않고, 각각의 관측값에서 그 열의 평균을 빼는 연산이다. 평균을 뺀 값들의 합은0이므로 여러 항이 간단해진다.
이 과정을 통해 선형대수에서 배운 연립방정식, 기초통계에서 배운 평균과 변동, 미적분에서 배운 최적화가 하나의 계산으로 이어진다. 식이 낯설면 먼저 표에서 합계들을 구해 두고, 같은 식의 서로 다른 표기라는 관점으로 중심화 공식과 합계 공식을 대조하면 된다. 관측별 제곱을 더한 값과, 관측합을 나중에 제곱한 값도 구별해야 한다. 예제에서 제곱합은14이지만 합의 제곱은36이다.
AI 직접 계산 예제: 관측 세 개로 직선을 구하기
다음 데이터와 계산은 AI가 설명을 위해 새로 만든 예제이며 강의자료의 실측 데이터가 아니다. 입력과 출력의 단위는 임의로 놓는다. 세 관측쌍 \((1,1),(2,2),(3,2)\)에 가장 잘 맞는 직선을 구해 보자.
| \(i\) | \(x_i\) | \(y_i\) | \(x_i^2\) | \(x_iy_i\) |
|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 1 |
| 2 | 2 | 2 | 4 | 4 |
| 3 | 3 | 2 | 9 | 6 |
| 합계 | 6 | 5 | 14 | 11 |
1. 평균과 중심화된 합을 계산한다
\[\bar x=2,\quad\bar y=\frac53,\quad S_{xx}=14-3\times2^2=2,\quad S_{xy}=11-3\times2\times\frac53=1.\]\(S_{xx}\)와 \(S_{xy}\)는 방금 구한 분모와 분자를 간단히 부르는 이름이다. \(S_{xx}=2>0\)이므로 기울기를 유일하게 계산할 수 있다.
2. 기울기와 절편을 구한다
\[\hat\beta_1=\frac{S_{xy}}{S_{xx}}=\frac12,\qquad \hat\beta_0=\frac53-\frac12\times2=\frac23.\]그러므로 적합식은 \(\hat y=\frac23+\frac12x\)다. 입력 1 증가에 모형 평균이 0.5 증가하며, 입력 0에서 모형이 주는 값은 약 0.667이다. 관측범위에 입력0은 없으므로 절편의 수학적 뜻과 그 지점의 경험적 근거는 구별한다.
3. 정상방정식에도 다시 넣어 본다
첫 식의 왼쪽은 \(3\times\frac23+\frac12\times6=5\), 두 번째는 \(\frac23\times6+\frac12\times14=11\)이다. 각각 \(\sum y_i\), \(\sum x_iy_i\)와 같아 정상방정식을 만족한다. 공식으로 얻은 답을 원래 조건에 대입해 확인한 것이다.
예제의 예측값·잔차·제곱합까지 끝까지 계산하기
앞의 AI 예제를 이어서 계산한다. 계수 두 개를 구했다고 학습 과정의 모든 숫자를 이해한 것은 아니다. 예측값을 만들고 실제값과 빼 보아야 그 직선이 데이터에 어떻게 맞는지 알 수 있다.
| 입력 \(x_i\) | 실제 \(y_i\) | 예측 \(\hat y_i\) | 잔차 \(e_i=y_i-\hat y_i\) | 잔차제곱 |
|---|---|---|---|---|
| 1 | 1 | \(7/6\) | \(-1/6\) | \(1/36\) |
| 2 | 2 | \(5/3\) | \(1/3\) | \(1/9\) |
| 3 | 2 | \(13/6\) | \(-1/6\) | \(1/36\) |
입력1과3에서는 예측이 실제보다 커서 음의 잔차가 나오고, 입력2에서는 예측이 작아서 양의 잔차가 나온다. 잔차합이 0이어도 제곱합은 양수다. 이것이 부호 있는 차이의 합만으로 적합도를 판단하면 안 되는 이유다.
비교를 위해 모든 입력에 출력평균 \(5/3\)만 내는 수평선은 제곱합이 \(2/3\), \(\hat y=x\)라는 선은 제곱합이 1이다. 구한 OLS선의 \(1/6\)이 둘보다 작다. 이 두 후보와의 비교만으로 모든 가능한 직선 중 최소임이 증명되는 것은 아니다. 모든 후보에 대한 최소성은 정상방정식과 볼록성으로 뒷받침된다.
볼록성: 비용 곡면을 따라 내려가도 되는 이유
절편과 기울기를 가로의 두 축으로, 비용을 높이로 그리면 비용 곡면이 된다. 관측 데이터는 고정되어 있으므로 곡면의 위치마다 다른 직선 하나가 대응한다. 낮은 곳으로 간다는 것은 제곱합이 더 작은 모수쌍으로 간다는 뜻이다.
볼록함수는 두 지점을 잇는 선분보다 함수값이 위로 튀어나오지 않는 성질을 갖는다. 자료의 식을 변수 \(a,b\)로 읽으면 다음과 같다.
\[f(ta+(1-t)b)\le t f(a)+(1-t)f(b),\qquad 0\le t\le1.\]\(t\)와 \(1-t\)는 합이1인 가중치다. \(t=1/2\)면 두 입력의 중간점과 두 함수값의 평균을 비교한다. 부등호는 작거나 같음이다. 직선함수도 등호가 성립하므로 볼록함수에 포함된다. 그림이 반드시 둥글게 휘어 있어야 볼록인 것은 아니다.
잔차제곱합은 모수에 대해 볼록한 이차함수다. 그래서 한 곳의 비용을 더 이상 국소적으로 줄일 수 없는 최소점은 전체 후보 중에서도 최소점이다. 반면 비볼록 함수에서는 국소적으로 낮아 보이는 지점보다 더 낮은 다른 지점이 있을 수 있다. 자료의 비볼록 그림은 이 차이를 보여 준다.
최소해의 존재와 계수의 유일성은 서로 다른 조건
자료의 볼록성 문구는 이 최소제곱 문제의 맥락에서 읽어야 한다. 볼록이라는 사실만으로 모든 함수가 최솟값을 실제로 달성하는 것은 아니다. 예를 들어 \(f(z)=\exp(z)\)는 실수 전체에서 볼록하지만, \(z\)를 계속 작게 하면0에 가까워질 뿐 어느 유한한 지점에서도0이 되지 않는다. 하한이 있다는 것과 그 값을 달성하는 최소점이 있다는 것은 다르다.
현재의 유한한 데이터에 대한 무제약 선형 최소제곱 문제에는 최소해가 존재한다. 하지만 계수쌍이 하나뿐인지는 별도다. 단순회귀 공식에서 기울기의 분모가 양수여야 한다.
\[\sum_i(x_i-\bar x)^2>0.\]이 조건은 적어도 두 관측의 입력값이 다르다는 뜻이다. 모든 입력이 같은 상수 \(c\)라면 관측범위에서 보이는 것은 \(\beta_0+c\beta_1\)이라는 합뿐이다. 절편과 기울기를 따로 구별할 정보가 없다. 예를 들어 모든 \(x_i=5\), 출력평균이3이면 \((\beta_0,\beta_1)=(3,0)\)과 \((-2,1)\)은 모두 예측값3을 내므로 같은 최소제곱합을 만든다. 이 숫자쌍은 조건 설명용 AI 예제다.
따라서 모수2개에 방정식2개라는 개수만으로 유일한 답이 보장되지는 않는다. 입력에 변동이 있는 단순회귀에서는 유일한 계수쌍을 얻고, 다중회귀에서는 설명변수 열들에 중복된 선형 의존이 없어야 같은 의미의 유일성을 기대할 수 있다.
오차와 잔차: 서로 다른 평균선을 기준으로 한 차이
오차와 잔차는 둘 다 차이를 나타내지만 기준선이 다르다. \(m(x)=E(Y\mid X=x)\)를 실제 모집단의 조건부평균이라고 쓰자. 선형모형이 맞으면 \(m(x)=\beta_0+\beta_1x\)다. 우리가 표본으로 적합한 선은 \(\hat m(x)=\hat\beta_0+\hat\beta_1x\)다.
\[\varepsilon_i=y_i-m(x_i),\qquad e_i=y_i-\hat m(x_i)=y_i-\hat y_i.\]오차 \(\varepsilon_i\)를 정확히 계산하려면 실제 모집단 평균선 \(m\)을 알아야 한다. 보통은 그 선을 모르므로 오차 자체를 관측값만으로 정확히 계산하지 못한다. 잔차 \(e_i\)는 적합한 선과 실제값으로 계산할 수 있다. 이 점에서 잔차는 오차를 살펴보는 관측 가능한 대용값이다.
자료41쪽 하단의 잔차가 오차의 실제 구현값이라는 표현을 두 기호가 항상 같다는 뜻으로 외우면 안 된다. 두 정의를 빼면 차이가 명확해진다.
\[e_i=\varepsilon_i-\left[\hat m(x_i)-m(x_i)\right].\]추정한 평균선과 실제 평균선이 어긋나는 만큼 잔차와 오차도 다르다. 따라서 오차를 단순히 학습 전, 잔차를 학습 후라고 나누는 것만으로는 정의가 충분하지 않다. 기준선이 참 평균인지 적합 평균인지를 구별해야 한다. 이 설명은 자료의 두 그림과 검수에서 확인한 조건을 반영한 AI 보충이다.
강의자료의 cars 예제: 결과표를 예측식으로 바꾸기
자료의 마지막 예제에는 주행속도와 제동거리 관측쌍50개가 제시된다. 이 문제에서 입력 \(X\)는 주행속도, 반응 \(Y\)는 제동거리다. 속도와 거리 두 열이 있어도 설명변수는 속도 하나이므로 단순회귀다. 자료의 산점도는 전체적으로 속도가 큰 관측에서 제동거리도 커지는 모습을 보여 준다.
자료45쪽의 R 출력에서 Intercept는 절편, speed는 속도의 계수다. 보이는 수치를 이용한 적합식은 다음과 같다.
\[\hat\beta_0=-17.579,\qquad\hat\beta_1=3.932,\qquad\widehat{\mathrm{dist}}=-17.579+3.932\,\mathrm{speed}.\]이제 새로운 입력을 넣어 계산할 수 있다. 예를 들어 자료에 표시된 반올림 계수로 속도20의 적합값을 계산하면 \(-17.579+3.932\times20=61.061\)이다. 이 대입 계산은 식을 읽는 방법을 보여 주기 위해 AI가 추가한 계산이다. 개별 자동차가 반드시 이 값의 거리를 갖는다는 뜻은 아니다.
기울기3.932는 속도가1단위 더 클 때 모형의 평균 제동거리가 약3.932단위 더 크다는 뜻이다. 음의 절편은 속도0을 대입하면 음의 예측이 나온다는 수학적 사실이지만, 이를 실제로 음의 제동거리가 존재한다는 뜻으로 읽지 않는다. 자료의 관측 속도범위에서 직선이 어떻게 맞는지와 범위 밖에 적용할 수 있는지는 나누어 판단해야 한다.
새 입력의 예측과 계산 결과의 사용 범위
학습을 마치면 데이터 전체를 다시 외울 필요 없이 계수와 입력으로 예측한다. 앞의 AI 세 관측 예제에서 입력4를 넣으면 \(\hat y=2/3+(1/2)\times4=8/3\)이다. 결과를 아직 관측하지 않았다면 이 예측에 대한 잔차도 아직 계산할 수 없다. 잔차에는 실제값 \(y\)가 필요하기 때문이다.
그러나 계산할 수 있다는 것과 신뢰하고 사용할 수 있다는 것은 다르다. 관측 입력1~3에서 적합한 선을4에 적용하면 이미 학습범위 밖으로 나간다. 더 먼 값으로 갈수록 직선 관계가 유지되는지 확인할 근거가 약해질 수 있다. 이것을 외삽 문제로 생각할 수 있다.
또한 새로운 자료를 얻는 방식이나 환경이 달라지면 기존의 평균 관계도 바뀔 수 있다. 이번 단원에서 제곱합을 최소화했다는 사실은 주어진 학습 데이터의 최적 적합 기준에 관한 결과다. 새 자료의 예측이 언제나 정확하다는 보장은 아니다. 후속 차시의 불확실성·평가·진단은 이 간격을 다루는 학습으로 이어진다.
데이터에서 직선까지의 과정을 한 번에 연결하기
단순회귀의 학습 과정을 순서대로 설명할 수 있으면 이 단원의 뼈대를 이해한 것이다. 먼저 관측쌍 \((x_i,y_i)\)를 모으고 무엇이 입력과 반응인지 정한다. 산점도를 보고 평균 관계를 직선으로 근사할 만한지 생각한다. 이어 후보 선 \(\beta_0+\beta_1x\)를 두고 각 관측의 수직 차이를 구한 뒤 제곱하여 더한다.
그 제곱합을 두 계수에 대해 최소화하면 편미분이0인 정상방정식이 나온다. 입력에 변동이 있으면 중심화된 곱의 합과 제곱합으로 기울기를 구하고, 평균점을 지나도록 절편을 구한다. 마지막으로 예측값과 잔차를 계산해 실제로 어떤 차이가 남았는지 살펴본다.
여기까지에서 확인한 것은 회귀모형의 형식, 최소제곱 추정법, 오차에 관한 기본 확률모형과 잔차의 뜻이다. 계수의 신뢰구간이나 유의성 검정의 상세 계산은 이번3-1의 필수 계산 범위에 넣지 않는다. 다음 단원은 이미 구한 선을 출발점으로 추정의 불확실성, 설명력, 가정 진단을 배운다고 연결하면 된다.
헷갈릴 때는 세 질문으로 돌아온다. 지금 보고 있는 값은 관측값인가 예측값인가? 지금 바꾸는 대상은 데이터인가 계수인가? 지금 말하는 차이는 참 평균 기준의 오차인가 적합 평균 기준의 잔차인가? 이 구별이 되면 수식의 모자와 아래첨자도 각자의 역할을 갖게 된다.
직선을 직접 맞춰 보면 제곱합이 보인다
잔차제곱합을 줄여 보세요
인공 데이터 (1,2), (2,3), (3,5), (4,4), (5,6)에 직선을 맞춥니다. 점선은 각 관측값과 예측값의 수직 차이인 잔차입니다.
이 데이터의 최소제곱해는 β̂₀=1.3, β̂₁=0.9이며 SSE=1.90입니다. 오차가 전부 0일 필요 없이, 제곱합이 가장 작은 직선을 찾습니다.
핵심을 내 말로 정리하기
- 회귀는 입력X와 수치반응Y의 평균관계를 모형화하고 새 입력의 값을 예측하는 방법이다.
- 단순회귀의 평균선은β0+β1x이고, 자료로 구한 예측선에는 모자표시가 붙는다.
- OLS는 수직차이의 제곱합을 최소화한다. 비용을 최소화하는 대상은 계수다.
- 두 정상방정식에서 β̂1=Sxy/Sxx, β̂0=y평균−β̂1×x평균을 얻는다.
- 입력에 변동이 없으면 단순회귀 계수의 유일성이 사라진다.
- 정규성은 오차의 확률모형이며 숫자데이터로 직선을 계산하는 것과 구별한다.
- 잔차는 y−예측값,오차는 y−참조건부평균이다. 학습자료의 최소제곱 적합과 새자료의 정확도도 구별한다.
이해했는지 확인해 보기
먼저 답을 생각한 뒤 문제를 눌러 풀이와 비교하세요.
1. 속도와 제동거리 두 열을 가진 데이터에서 제동거리를 속도로 예측하면 p는 얼마인가?
2. 기울기가−2인 단순회귀에서 X가3 늘면 무엇이6 줄어드는가?
3. 차이가+2와−2인 두 관측의 합은0이다. 왜 정확한 모형이라는 뜻이 아닌가?
4. 최소제곱식의 argmin에서 바꾸는 대상과 고정하는 대상은 무엇인가?
5. AI 예제 (1,1),(2,2),(3,2)에서 기울기·절편·잔차제곱합은?
6. 모든 입력이5이면 정상방정식2개로 계수2개를 유일하게 찾을 수 있는가?
7. 오차평균이0이면 표준정규분포인가? 그리고 오차와 잔차는 같은가?
8. 볼록함수이면 항상 최소점을 가지는가?
이 차시에서 주의할 표현
- 이 본문은 실제 PDF의 물리쪽수를 대조한 재구성이며 교수의 실제 발언을 직접 인용하거나 원음 청취를 보증하지 않는다. 확인하지 못한 영상시간은 붙이지 않았다.
- 자료 기반 재구성은 정의·그림·수식을 풀어 쓴 내용이다. AI 보충 설명의 숫자예제·유도조건·정정은 원자료의 문장 그대로가 아니다.
- 자료41쪽의 잔차를 오차의 구현값으로 동일시하는 문구는 두 정의식 기준으로 보완했다(SEM-3-1-RESIDUAL).
- 자료35~36쪽의 볼록성 문구를 모든볼록함수의 최소점존재로 확대하지 않았다(SEM-3-1-CONVEX).
- 두미분식과 두모수만으로 해유일성을 단정하지 않고 Sxx>0 조건을 추가했다(SEM-3-1-UNIQUE).
- 자료의 N(0,σ²)를 N(0,1)로 바꾸지 않았다. 표준편차σ와 분산σ² 및 개별오차도 구별한다.
- 선형회귀의 선형성은 계수에 대한 선형성과 입력-출력그림의 직선성을 구별해 읽는다. 일반 곡선이 언제나 비선형계수모형인 것은 아니다.
- cars 예제는 자료45쪽의 반올림계수−17.579와3.932를 사용한다. 개별값의 확정예측이나 범위밖 유효성, 인과관계를 뜻하지 않는다.
- 가설검정·신뢰구간·결정계수의 상세 계산은 후속차시의 연결로만 언급했다.
미확정 음성은 정답의 근거로 사용하지 않았습니다. 검수 기록 보기
3주차를 마쳤다면
기초 개념부터 계산과 복합 사례까지 50문항. 한 문항마다 정답과 풀이를 확인하세요.
3주차 종합 퀴즈 시작 →