문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

선형 회귀 분석 | |
한국어 명칭 | 선형 회귀 분석 |
영문 명칭 | Linear Regression Analysis |
분류 | |
목적 | 독립 변수와 종속 변수 간의 선형 관계를 모델링하고 예측 |
핵심 가정 | 선형성, 독립성, 등분산성, 정규성 |
주요 유형 | 단순 선형 회귀, 다중 선형 회귀 |
상세 정보 | |
수학적 표현 | Y = β₀ + β₁X₁ + ... + βₚXₚ + ε |
추정 방법 | 최소제곱법 (Ordinary Least Squares, OLS) |
평가 지표 | |
가정 검정 | |
응용 분야 | 경제 예측, 머신러닝 기초 모델, 공학, 사회 과학 연구 |
관련 개념 | 로지스틱 회귀 분석, 경사 하강법, 정규화 (Ridge, Lasso) |
소프트웨어 구현 | R (lm 함수), Python (scikit-learn, statsmodels), SPSS, SAS |
장점 | 해석이 용이하고, 구현이 비교적 간단하며, 관계를 직관적으로 이해 가능 |
단점 | 선형 관계 가정에 제한적이며, 이상치에 민감하고, 복잡한 비선형 관계 모델링 불가 |

선형 회귀 분석은 종속 변수와 하나 이상의 독립 변수 간의 선형 관계를 모델링하고 분석하는 통계학적 방법이다. 가장 기본적이고 널리 사용되는 예측 모델링 기법 중 하나로, 변수들 사이의 관계를 이해하거나 미래 값을 예측하는 데 활용된다.
이 방법의 핵심은 주어진 데이터에 가장 잘 맞는 직선 또는 초평면을 찾는 것이다. 단순 선형 회귀는 하나의 독립 변수와 종속 변수의 관계를 일차 함수 형태로 나타내며, 다중 선형 회귀는 두 개 이상의 독립 변수를 사용한다. 발견된 관계는 회귀 계수라는 숫자로 표현되며, 이 계수는 독립 변수가 종속 변수에 미치는 영향의 크기와 방향을 설명한다[1].
선형 회귀 분석은 경제 예측, 금융 리스크 평가, 공학적 설계, 생물학적 실험 데이터 분석 등 다양한 분야에서 응용된다. 그 인기는 해석의 용이성과 계산의 효율성에서 비롯된다. 그러나 모델의 유용성은 데이터가 선형성, 독립성, 등분산성, 정규성 등의 기본 가정을 충족하는지에 크게 의존한다는 한계를 지닌다.

선형 회귀 분석은 하나 이상의 독립 변수와 종속 변수 간의 선형 관계를 모델링하는 통계 기법이다. 이 모델은 주어진 독립 변수의 값에 기반하여 종속 변수의 값을 예측하거나 설명하는 데 사용된다. 수학적으로는 독립 변수들의 선형 결합을 통해 종속 변수를 추정하는 방정식으로 표현된다.
단순 선형 회귀는 하나의 독립 변수 x와 하나의 종속 변수 y 사이의 관계를 모델링한다. 기본 모델은 다음과 같은 방정식으로 정의된다.
y = β₀ + β₁x + ε
여기서 β₀는 y절편 (독립 변수가 0일 때 종속 변수의 기대값), β₁은 기울기 (x가 한 단위 변화할 때 y의 평균 변화량)를 나타낸다. ε는 오차항으로, 모델로 설명되지 않는 무작위 오차를 의미한다. 모델의 목표는 주어진 데이터에 대해 β₀와 β₁의 값을 추정하는 것이다.
다중 선형 회귀는 두 개 이상의 독립 변수(x₁, x₂, ..., xₚ)가 종속 변수 y에 미치는 영향을 동시에 분석한다. 이 모델은 다음과 같은 방정식으로 표현된다.
y = β₀ + β₁x₁ + β₂x₂ + ... + βₚxₚ + ε
각 βᵢ (i ≥ 1)는 해당 독립 변수 xᵢ의 회귀 계수를 의미하며, 다른 변수들의 영향을 통제한 상태에서 xᵢ가 한 단위 변화할 때 y의 평균 변화량을 나타낸다. 이 모델은 변수 간의 복잡한 관계를 동시에 고려할 수 있다는 장점이 있다.
선형 회귀 모델의 유효성은 몇 가지 기본 가정에 의존한다. 주요 가정은 다음과 같다.
선형성: 독립 변수와 종속 변수 간의 관계는 선형이다.
독립성: 오차항 ε들은 서로 독립적이다 (자기상관이 없음).
등분산성: 오차항 ε의 분산은 모든 관측치에서 일정하다.
다중공선성 없음: 다중 회귀에서 독립 변수들 간에 높은 상관관계가 존재하지 않는다.
이러한 가정이 위반되면 모델의 추정치가 편향되거나 효율성을 잃을 수 있으며, 가정 검증은 모델 진단의 중요한 부분이다.
단순 선형 회귀는 하나의 독립 변수와 하나의 종속 변수 사이의 선형 관계를 모델링하는 기법이다. 이는 가장 기본적이고 직관적인 회귀 분석 형태로, 두 변수 간의 관계를 직선 방정식으로 설명한다. 모델의 일반적인 형태는 Y = β₀ + β₁X + ε로 표현된다. 여기서 Y는 종속 변수, X는 독립 변수, β₀는 y절편, β₁은 기울기 또는 회귀 계수, ε은 오차항을 의미한다.
모델의 목표는 주어진 데이터 포인트들에 가장 잘 맞는, 즉 잔차의 제곱합을 최소화하는 직선을 찾는 것이다. 이 직선을 최적 적합선 또는 회귀선이라고 부른다. 회귀 계수 β₁은 독립 변수 X가 한 단위 증가할 때 종속 변수 Y의 평균적인 변화량을 나타낸다. β₀는 X가 0일 때 Y의 예측된 평균값을 의미한다.
기호 | 의미 | 설명 |
|---|---|---|
Y | 종속 변수 | 예측하고자 하는 대상 변수 |
X | 독립 변수 | Y를 예측하는 데 사용하는 설명 변수 |
β₀ | 절편 | 회귀 직선의 y축 절편 |
β₁ | 기울기 | X의 변화에 따른 Y의 평균 변화율 |
ε | 오차항 | 모델로 설명되지 않는 무작위 오차 |
단순 선형 회귀는 산점도 상에서 두 변수의 관계가 대략 직선적 패턴을 보일 때 적용한다. 예를 들어, 광고 비용(X)과 매출액(Y)의 관계나, 공부 시간(X)과 시험 점수(Y)의 관계를 분석하는 데 사용된다. 모델을 구축한 후에는 상관계수나 결정계수(R²)를 통해 관계의 강도를 평가한다.
다중 선형 회귀는 하나의 종속 변수를 두 개 이상의 독립 변수로 설명하는 회귀 분석 기법이다. 단순 선형 회귀가 y = β₀ + β₁x + ε 형태라면, 다중 선형 회귀 모델은 일반적으로 y = β₀ + β₁x₁ + β₂x₂ + ... + βₚxₚ + ε 형태로 표현된다. 여기서 y는 종속 변수, x₁부터 xₚ는 p개의 독립 변수, β₀는 절편, β₁부터 βₚ는 각 독립 변수에 대한 회귀 계수, ε는 오차항을 의미한다. 이 모델은 여러 요인이 동시에 결과에 미치는 영향을 추정하고자 할 때 사용된다.
모델의 회귀 계수 β는 각 독립 변수가 종속 변수에 미치는 순수한 영향력을 나타낸다. 예를 들어, 집의 가격(y)을 예측하는 모델에서 독립 변수로 평수(x₁), 방의 개수(x₂), 지어진 연도(x₃)를 사용한다면, β₂는 '방의 개수'가 한 단위 증가할 때 '평수'와 '지어진 연도'는 고정된 상태에서 집 가격이 평균적으로 얼마나 변화하는지를 보여준다. 이러한 해석은 다른 변수들의 효과를 통제한 상태에서 이루어지므로, 단변량 분석보다 더 정확한 인과 관계 추론에 기여할 수 있다.
다중 선형 회귀 분석을 수행할 때는 다중공선성에 주의해야 한다. 다중공선성은 독립 변수들 사이에 강한 상관관계가 존재할 때 발생하며, 이는 회귀 계수의 추정치를 불안정하게 만들고 해석을 어렵게 한다. 이를 진단하기 위해 분산팽창지수를 계산하거나 상관 행렬을 검토한다. 또한, 모델의 적합도를 평가하기 위해 수정된 R-제곱을 주로 사용하는데, 이는 변수의 개수가 증가함에 따라 인위적으로 높아질 수 있는 R-제곱의 문제점을 보정한 지표이다.
선형 회귀 분석 모델이 유효한 통계적 추정과 해석을 제공하기 위해서는 몇 가지 기본적인 가정을 충족해야 합니다. 이 가정들은 최소제곱법을 통해 추정된 계수들이 BLUE (최량 선형 불편 추정량)의 성질을 가지도록 보장합니다. 주요 가정은 다음과 같습니다.
첫째, 선형성입니다. 독립 변수와 종속 변수 간의 관계는 선형적이어야 합니다. 이는 모델의 구조가 Y = β₀ + β₁X₁ + ... + βₖXₖ + ε 형태로 표현될 수 있음을 의미합니다. 둘째, 오차의 독립성입니다. 잔차들 간에는 상관관계가 없어야 합니다. 특히 시계열 데이터에서는 잔차의 자기상관이 발생하지 않아야 합니다. 셋째, 등분산성입니다. 오차의 분산은 모든 독립 변수 값에 대해 일정해야 합니다. 이를 위반하면 이분산성 문제가 발생하여 추정의 효율성이 떨어집니다.
가정 | 내용 | 위반 시 문제점 |
|---|---|---|
선형성 | 독립변수와 종속변수 관계가 선형적임 | 모델의 예측력이 현저히 저하됨 |
오차의 독립성 | 잔차 간 상관관계가 없음(자기상관 없음) | 표준오차 추정이 부정확해짐 |
등분산성 | 모든 관측치에서 오차의 분산이 일정함 | 추정치의 효율성 감소(이분산성) |
오차의 정규성 | 잔차가 평균 0인 정규분포를 따름 | 가설검정과 신뢰구간의 타당성 문제 |
다중공선성 없음 | 독립변수들 간 강한 상관관계가 없음 | 개별 계수의 해석과 추정이 불안정해짐 |
넷째, 오차의 정규성입니다. 모집단에서의 오차항(ε)은 평균이 0인 정규 분포를 따라야 합니다. 이 가정은 표본 크기가 충분히 클 경우 중심극한정리에 의해 완화될 수 있지만, 가설 검정과 신뢰구간 구축에는 중요합니다. 다섯째, 독립 변수 간에는 강한 다중공선성이 존재하지 않아야 합니다. 한 독립 변수가 다른 독립 변수들의 선형 조합으로 설명될 수 있으면 계수 추정이 불안정해지고 해석이 어려워집니다.
이러한 가정들은 모델을 적합시킨 후 잔차 분석을 통해 검증할 수 있습니다. 예를 들어, 잔차 대 예측값 산점도를 통해 선형성과 등분산성을, Q-Q 플롯을 통해 정규성을 확인합니다. 가정이 심각하게 위반될 경우, 변수 변환, 다른 모델 선택, 또는 정규화 기법 적용 등을 고려해야 합니다.

모델 학습 방법은 주어진 데이터에 가장 잘 맞는 회귀 계수를 찾는 과정을 의미한다. 가장 일반적인 방법으로는 최소제곱법과 경사 하강법이 있다.
최소제곱법은 잔차의 제곱합을 최소화하는 계수를 직접 계산하는 방법이다. 단순 선형 회귀의 경우, 기울기와 절편에 대한 공식을 통해 해를 구할 수 있다. 다중 선형 회귀에서는 행렬 연산을 사용하며, 정규 방정식이라고 불리는 공식 $\beta = (X^T X)^{-1} X^T y$을 풀어 최적의 계수 벡터 $\beta$를 얻는다[2]. 이 방법은 해를 한 번의 계산으로 얻을 수 있다는 장점이 있지만, 설명 변수가 많거나 데이터가 큰 경우 계산 비용이 높아질 수 있다.
경사 하강법은 손실 함수 (보통 평균 제곱 오차)의 기울기를 반복적으로 따라가며 계수를 점진적으로 업데이트하는 최적화 알고리즘이다. 기본적인 절차는 다음과 같다.
1. 회귀 계수를 임의의 값으로 초기화한다.
2. 현재 계수에 대한 손실 함수의 기울기(경사)를 계산한다.
3. 기울기의 반대 방향으로 계수를 조금씩 이동시킨다. 이때 이동 크기를 결정하는 매개변수를 학습률이라고 한다.
4. 기울기가 충분히 작아지거나 정해진 횟수에 도달할 때까지 2-3단계를 반복한다.
경사 하강법은 대규모 데이터셋에 적용 가능하며, 확률적 경사 하강법과 같은 변형을 통해 계산 효율성을 더 높일 수 있다. 그러나 학습률과 반복 횟수와 같은 하이퍼파라미터를 적절히 설정해야 한다는 점이 중요하다.
방법 | 주요 원리 | 장점 | 단점 |
|---|---|---|---|
최소제곱법 | 잔차 제곱합을 미분하여 0이 되는 지점을 해로 구함 | 해를 직접적으로 계산. 전역 최적해 보장 | 변수가 많을 때 계산 비용 큼. 설계 행렬 $X^TX$가 역행렬을 가져야 함 |
경사 하강법 | 손실 함수의 기울기를 따라 반복적으로 최적점을 탐색 | 대용량 데이터에 적합. 메모리 효율적 | 하이퍼파라미터 설정 필요. 지역 최적점에 수렴할 위험 |
최소제곱법은 선형 회귀 분석 모델의 회귀 계수를 추정하는 가장 기본적이고 널리 사용되는 방법이다. 이 방법의 핵심 목표는 실제 관측값과 모델이 예측한 값 사이의 잔차 제곱의 합을 최소화하는 회귀 직선을 찾는 것이다. 즉, 모든 데이터 포인트로부터 회귀선까지의 수직 거리(오차)를 제곱하여 더한 값을 최소로 만드는 기울기와 절편을 계산한다.
수학적으로, 단순 선형 회귀 모델 y = β₀ + β₁x + ε에서 최소제곱법은 다음 비용 함수를 최소화하는 β₀ (절편)와 β₁ (기울기)를 찾는다.
S(β₀, β₁) = Σ(yᵢ - (β₀ + β₁xᵢ))²
이 잔차 제곱합을 각 매개변수에 대해 편미분하여 0으로 놓은 정규 방정식을 풀면 회귀 계수에 대한 해를 직접적으로 구할 수 있다. 다중 선형 회귀의 경우에도 동일한 원리가 적용되며, 행렬 연산을 통해 해를 구한다[3].
방법 | 설명 | 장점 | 단점 |
|---|---|---|---|
일반 최소제곱법 | 잔차 제곱합을 직접 최소화. 정규 방정식 해를 구함. | 해가 명확하고 계산이 빠름. | |
수치적 방법 | 경사 하강법 등 반복적 접근. | 대규모 데이터셋에 적용 가능. | 학습률 설정 등 하이퍼파라미터 조정 필요. |
최소제곱법은 해석이 명확하고 계산 효율이 높다는 장점이 있다. 그러나 이 방법은 선형 회귀의 기본 가정(선형성, 독립성, 등분산성, 정규성)이 충족될 때 최선의 불편 추정량을 제공한다. 가정이 위배되거나 이상치가 존재하는 경우 추정치가 크게 왜곡될 수 있으며, 이럴 때는 릿지 회귀나 로버스트 회귀 같은 대안적 방법을 고려해야 한다.
경사 하강법은 손실 함수의 값을 최소화하는 모수를 찾기 위한 반복적인 최적화 알고리즘이다. 선형 회귀에서 주로 사용되는 손실 함수인 평균 제곱 오차를 최소화하는 회귀 계수를 효율적으로 탐색한다. 이 방법은 함수의 기울기를 계산하고, 그 반대 방향으로 파라미터를 조금씩 업데이트하여 점진적으로 최적점에 접근한다.
알고리즘은 먼저 가중치와 편향과 같은 모수에 임의의 초기값을 설정한다. 이후 현재 모수 값에서 손실 함수의 기울기를 계산한다. 계산된 기울기의 반대 방향으로, 미리 정해진 학습률이라는 작은 값을 곱해 모수를 업데이트한다. 이 과정을 기울기가 0에 가까워질 때까지, 또는 미리 정한 반복 횟수에 도달할 때까지 반복한다.
용어 | 설명 |
|---|---|
학습률 | 각 반복에서 모수를 업데이트하는 크기를 결정하는 하이퍼파라미터. 너무 크면 발산할 수 있고, 너무 작으면 수렴 속도가 느리다. |
배치 크기 | 한 번의 기울기 계산에 사용하는 데이터 샘플의 수. 전체 데이터를 사용하는 배치 경사 하강법, 하나의 샘플만 사용하는 확률적 경사 하강법, 일부 미니배치를 사용하는 미니배치 경사 하강법으로 나뉜다. |
손실 함수 | 모델의 예측 오차를 측정하는 함수. 선형 회귀에서는 주로 평균 제곱 오차를 사용한다. |
최소제곱법이 정규 방정식을 통해 해를 한 번에 구하는 분석적 방법이라면, 경사 하강법은 반복을 통해 근사해를 찾는 수치적 방법이다. 대규모 데이터셋이나 변수가 매우 많은 고차원 데이터에서는 정규 방정식의 계산 비용이 매우 커지므로, 경사 하강법이 더 효율적일 수 있다. 또한 정규화 항이 추가된 릿지 회귀나 라쏘 회귀와 같이 분석적 해를 구하기 어려운 모델의 최적화에도 널리 적용된다.

선형 회귀 분석 모델의 성능을 정량적으로 평가하기 위해 여러 가지 지표가 사용된다. 가장 널리 쓰이는 지표로는 R-제곱(결정 계수), 평균 제곱 오차, 평균 절대 오차 등이 있다. 각 지표는 모델의 예측 정확도와 설명력을 다른 측면에서 평가하며, 상황에 따라 적절한 지표를 선택하여 사용한다.
R-제곱은 모델이 종속 변수의 분산을 얼마나 잘 설명하는지를 나타내는 지표이다. 값의 범위는 0에서 1 사이이며, 1에 가까울수록 모델의 설명력이 높음을 의미한다. 공식은 1에서 (잔차 제곱합 / 총 제곱합)을 뺀 값으로 정의된다[4]. 그러나 독립 변수가 증가하면 R-제곱 값이 무조건 증가하는 특성이 있어, 이를 보정한 수정 결정 계수를 함께 사용하기도 한다.
평균 제곱 오차는 예측값과 실제값 사이의 오차 제곱의 평균을 계산한다. 평균 절대 오차는 오차의 절대값의 평균을 계산한다. 두 지표 모두 값이 작을수록 모델의 예측 정확도가 높음을 나타내지만, 특성이 다르다.
지표 | 공식 (n: 샘플 수, y_i: 실제값, ŷ_i: 예측값) | 특징 |
|---|---|---|
평균 제곱 오차 | (1/n) * Σ(y_i - ŷ_i)² | 큰 오차에 대해 더 민감하게 반응(제곱 항 영향). |
평균 절대 오차 | (1/n) * Σ\ | y_i - ŷ_i\ |
R-제곱 | 1 - [Σ(y_i - ŷ_i)² / Σ(y_i - ȳ)²] | 모델의 설명력을 상대적 비율로 평가. |
평균 제곱 오차는 오차를 제곱하기 때문에 큰 오차에 대해 더 큰 패널티를 부여한다. 이는 이상치의 영향을 크게 받을 수 있다는 단점이 있다. 반면 평균 절대 오차는 모든 오차를 동일한 가중치로 평균내므로 이상치에 덜 민감하지만, 최적화 과정에서 미분이 불편하다는 단점이 있다. 실제 분석에서는 여러 지표를 종합적으로 검토하여 모델의 성능을 판단한다.
R-제곱 (결정 계수)은 선형 회귀 분석 모델이 종속 변수의 변동을 얼마나 잘 설명하는지를 나타내는 지표이다. 일반적으로 0과 1 사이의 값을 가지며, 1에 가까울수록 모델의 설명력이 높음을 의미한다. 이 값은 종속 변수의 총 변동 중 회귀 모델에 의해 설명되는 변동의 비율로 정의된다[5]. R-제곱은 모델의 적합도를 평가하는 가장 대표적인 척도 중 하나로 널리 사용된다.
R-제곱의 계산 공식은 다음과 같다.
변동 구분 | 공식 | 설명 |
|---|---|---|
총 변동(SST) | Σ(y_i - ȳ)² | 종속 변수의 실제 값과 평균 간 차이의 제곱합 |
설명된 변동(SSR) | Σ(ŷ_i - ȳ)² | 모델이 예측한 값과 평균 간 차이의 제곱합 |
설명되지 않은 변동(SSE) | Σ(y_i - ŷ_i)² | 실제 값과 모델 예측값 간 차이의 제곱합(잔차 제곱합) |
R-제곱(R²) = SSR / SST = 1 - (SSE / SST)
그러나 R-제곱에는 중요한 한계가 존재한다. 독립 변수의 수가 증가하면, 모델이 데이터에 과적합될 가능성이 있음에도 불구하고 R-제곱 값은 항상 증가하거나 유지되는 경향을 보인다. 이는 모델의 실제 예측 능력을 과대평가할 수 있는 위험을 초래한다. 이러한 문제를 보완하기 위해 조정된 R-제곱이 사용된다. 조정된 R-제곱은 독립 변수의 개수와 표본 크기를 고려하여 R-제곱 값을 조정하므로, 불필요한 변수를 추가할 때 패널티를 부여한다.
R-제곱은 모델의 설명력을 직관적으로 이해할 수 있게 해주지만, 높은 R-제곱 값이 반드시 좋은 예측 모델을 의미하지는 않는다. 특히 이상치의 영향을 크게 받을 수 있으며, 인과 관계를 증명하지는 않는다. 따라서 모델 평가 시에는 평균 제곱 오차나 평균 절대 오차 같은 다른 지표들과 함께 종합적으로 고려해야 한다.
평균 제곱 오차(Mean Squared Error, MSE)는 회귀 분석 모델의 예측값과 실제 관측값 사이의 차이, 즉 잔차를 제곱하여 평균한 값이다. 이는 모델의 예측 정확도를 측정하는 가장 일반적인 지표 중 하나로, 오차가 클수록 패널티를 크게 부과하는 특성을 가진다.
계산 공식은 다음과 같다. n개의 관측치에 대해 실제값을 y_i, 모델의 예측값을 ŷ_i라고 할 때, MSE = (1/n) * Σ(y_i - ŷ_i)^2 으로 정의된다. 각 오차를 제곱하기 때문에, 큰 오차에 대해 더 민감하게 반응하며, 오차의 단위는 원본 데이터 단위의 제곱이 된다. 이를 보완하기 위해 제곱근을 취한 평균 제곱근 오차(RMSE)도 자주 사용된다.
MSE는 최소제곱법을 통한 선형 회귀 모델 학습의 목적 함수로 직접 사용된다. 모델 파라미터를 추정할 때 MSE를 최소화하는 방향으로 학습이 진행된다. 다른 평가 지표인 평균 절대 오차(MAE)와 비교할 때, MSE는 제곱 항으로 인해 이상치의 영향을 더 크게 받는 경향이 있다. 따라서 데이터에 이상치가 많을 경우 모델 평가 지표로 MSE를 사용하는 것은 주의를 요한다.
평균 절대 오차는 회귀 분석 모델의 예측 정확도를 평가하는 지표 중 하나이다. 예측값과 실제 관측값 사이의 절대적 차이의 평균을 계산하여 모델의 오차 크기를 직관적으로 보여준다. 수식은 MAE = (1/n) * Σ|y_i - ŷ_i|로 표현되며, 여기서 y_i는 실제값, ŷ_i는 예측값, n은 관측치의 수를 의미한다.
이 지표의 주요 장점은 해석이 매우 간단하다는 점이다. 오차의 단위가 원본 데이터와 동일하기 때문에, 예를 들어 주가 예측 모델에서 MAE가 5라면 '평균적으로 예측이 5원씩 틀린다'고 직접적으로 이해할 수 있다. 또한 평균 제곱 오차(MSE)나 평균 제곱근 오차(RMSE)와 달리 오차를 제곱하지 않기 때문에 이상치의 영향을 상대적으로 덜 받는 강건한 특성을 가진다.
다만, 이러한 강건성은 역으로 중요한 큰 오차를 완화시킬 수 있다는 단점이 될 수 있다. 모델 성능을 종합적으로 평가할 때는 MAE와 함께 R-제곱이나 MSE 등 다른 지표를 함께 참고하는 것이 일반적이다. 아래 표는 MAE와 MSE의 주요 특징을 비교한 것이다.
특성 | 평균 절대 오차 (MAE) | 평균 제곱 오차 (MSE) |
|---|---|---|
계산 방식 | 절대 오차의 평균 | 제곱 오차의 평균 |
단위 | 원본 데이터와 동일 | 원본 데이터 단위의 제곱 |
이상치 영향 | 상대적으로 낮음 | 매우 큼 (제곱으로 증폭됨) |
미분 가능성 | 모든 점에서 미분 불가능[6] | 모든 점에서 미분 가능 |
실제 적용 시, MAE는 비즈니스 현장에서 예측 오차로 인한 평균적 손실을 추정하는 데 유용하게 사용된다. 예를 들어 재고 관리에서 일일 수요 예측 모델의 MAE가 10개라면, 평균적으로 10개의 과잉 또는 부족 재고가 발생할 수 있음을 의미하므로 안전 재고 수준을 설정하는 데 참고 자료로 활용될 수 있다.

선형 회귀 분석의 기본 모델을 확장하거나 특정 문제를 해결하기 위한 여러 고급 기법이 존재한다. 이들은 모델의 복잡성을 제어하거나, 비선형 관계를 설명하거나, 데이터의 특이점을 다루는 데 사용된다.
정규화는 모델의 과적합을 방지하고 일반화 성능을 높이기 위해 회귀 계수의 크기에 제약을 가하는 방법이다. 대표적으로 릿지 회귀와 라쏘 회귀가 있다. 릿지 회귀는 계수의 제곱합(L2 노름)에 페널티를 주어 모든 계수를 균일하게 줄이는 반면, 라쏘 회귀는 계수의 절댓값의 합(L1 노름)에 페널티를 주어 불필요한 특성의 계수를 0으로 만들어 특성 선택의 효과를 동시에 가져온다. 이 둘을 결합한 엘라스틱넷 회귀도 널리 사용된다.
기본 선형 회귀는 변수 간 선형 관계를 가정하지만, 실제 데이터에는 비선형 관계가 존재할 수 있다. 다항 회귀는 독립 변수의 거듭제곱 항(예: x², x³)을 추가하여 이러한 비선형 관계를 모델링한다. 예를 들어, 2차 다항 회귀는 포물선 형태의 관계를 설명할 수 있다. 이는 본질적으로 선형 모델의 범주에 속하지만, 변수 변환을 통해 비선형 패턴을 포착한다.
모델에 부정적인 영향을 미칠 수 있는 특수한 데이터 점으로 이상치와 영향점을 구분하여 고려한다. 이상치는 다른 관측치와 현저히 다른 종속 변수 값을 가지는 점이다. 영향점은 모델의 회귀선 자체를 크게 끌어당겨 계수 추정치를 왜곡시키는 점으로, 주로 독립 변수 공간에서 멀리 떨어진 지점에서 발생한다. 레버리지와 쿡의 거리 같은 지표를 사용하여 이러한 점들을 탐지하고, 필요시 제거하거나 강건한 회귀 방법을 적용하여 대처한다.
선형 회귀 분석 모델이 과적합을 방지하고 일반화 성능을 향상시키기 위해 사용하는 기법이다. 정규화는 모델의 가중치에 제약을 가함으로써 모델 복잡도를 통제한다. 이 과정에서 계수 값의 크기를 줄이거나 일부를 0으로 만들어 모델을 단순화한다.
정규화의 대표적인 방법으로 릿지 회귀와 라쏘 회귀가 있다. 두 방법 모두 손실 함수에 페널티 항을 추가한다. 릿지 회귀는 가중치의 제곱합(L2 노름)에 페널티를 부여하여 모든 계수의 크기를 균등하게 줄이는 L2 정규화를 적용한다. 반면, 라쏘 회귀는 가중치의 절댓값의 합(L1 노름)에 페널티를 부여하는 L1 정규화를 사용한다. 이는 불필요한 특성의 계수를 정확히 0으로 만들어 특성 선택의 효과를 동시에 가져온다.
두 방법의 차이는 편향-분산 트레이드오프와 관련이 있다. 릿지 회귀는 계수를 완만하게 축소시켜 안정적인 예측을 제공하지만, 모든 특성을 유지한다. 라쏘 회귀는 해석 가능성이 높은 간결한 모델을 생성할 수 있으나, 상관관계가 높은 특성들 중 하나만을 선택하는 경향이 있다. 이 두 방법을 결합한 엘라스틱넷 회귀도 널리 사용된다.
다항 회귀는 선형 회귀 분석의 한 형태로, 독립 변수와 종속 변수 간의 관계를 직선이 아닌 곡선으로 모델링한다. 독립 변수의 거듭제곱 항(예: x², x³)을 새로운 특성으로 추가하여 선형 모델의 구조를 유지하면서 비선형 관계를 설명할 수 있다. 기본적인 선형 회귀 모델이 y = β₀ + β₁x + ε 형태라면, 2차 다항 회귀 모델은 y = β₀ + β₁x + β₂x² + ε의 형태를 가진다. 이때 모델은 여전히 계수(β)에 대해 선형이므로, 최소제곱법과 같은 표준 선형 회귀 학습 방법을 그대로 적용할 수 있다.
다항 회귀 모델의 차수(가장 높은 거듭제곱) 선택은 중요한 과제이다. 차수가 너무 낮으면 과소적합이 발생해 데이터의 패턴을 제대로 포착하지 못한다. 반면 차수가 지나치게 높으면 과대적합이 일어나 훈련 데이터에 지나치게 맞춰져 새로운 데이터에 대한 일반화 성능이 떨어진다. 적절한 차수는 교차 검증을 통해 결정하는 것이 일반적이다. 또한, 다항 항을 추가하면 특성 간의 다중공선성 문제가 발생할 수 있어, 정규화 기법을 함께 적용하는 경우가 많다.
차수 | 모델 형태 (예시) | 특징 |
|---|---|---|
1차 (선형) | y = β₀ + β₁x | 직선 관계를 모델링한다. |
2차 (이차) | y = β₀ + β₁x + β₂x² | 하나의 곡률(볼록/오목)을 가진 곡선을 모델링한다. |
3차 (삼차) | y = β₀ + β₁x + β₂x² + β₃x³ | 변곡점이 있는 더 복잡한 곡선을 모델링한다. |
다항 회귀는 속도와 가속도의 관계, 성장 곡선 분석, 공정 최적화 등 다양한 분야에서 활용된다. 구현은 사이킷런 라이브러리의 PolynomialFeatures를 사용해 원본 특성을 변환한 후, 선형 회귀 모델에 적용하는 방식으로 이루어진다. 이 접근법은 모델의 해석 가능성을 유지하면서도 단순한 선형 회귀로는 설명하기 어려운 복잡한 패턴을 포착하는 데 유용하다.
이상치는 다른 관측치들과 현저히 다른 값을 가지는 데이터 포인트를 의미한다. 이는 측정 오류, 데이터 입력 실수, 또는 실제로 드문 현상으로 인해 발생할 수 있다. 이상치는 종속 변수의 값이 예상 범위를 크게 벗어나는 경우를 말하며, 회귀 직선의 기울기와 절편을 크게 끌어당겨 모델의 예측 성능을 왜곡시킬 수 있다.
영향점은 모델의 매개변수 추정치에 불균형적으로 큰 영향을 미치는 관측치이다. 모든 영향점이 이상치는 아니지만, 대부분의 영향점은 독립 변수 공간에서 다른 점들과 멀리 떨어져 있거나(높은 레버리지), 큰 잔차를 가지는 이상치인 경우가 많다. 영향점의 존재는 회귀 계수의 표준 오차를 증가시키고, 모델의 안정성을 해칠 수 있다.
이상치와 영향점을 탐지하는 방법은 다음과 같다.
탐지 방법 | 설명 | 주로 사용하는 지표/도구 |
|---|---|---|
시각적 탐지 | ||
통계적 탐지 | 통계량을 계산하여 임계값과 비교 | |
레버리지 분석 | 독립변수 공간에서의 위치를 기반으로 영향력 평가 | 햇 행렬의 대각원소(레버리지 값) |
쿡의 거리는 특정 관측치를 제거했을 때 회귀 계수 벡터가 얼마나 변하는지를 종합적으로 측정한 지표이다. 일반적으로 쿡의 거리가 1을 넘거나, 4/(n-p-1) (n: 표본 수, p: 독립변수 수)보다 크면 영향력이 큰 점으로 판단한다[7].
이러한 점들을 처리할 때는 단순 삭제보다는 발생 원인을 먼저 조사해야 한다. 측정 오류라면 수정하거나 삭제할 수 있지만, 유효한 데이터라면 모델을 변형(예: 로버스트 회귀 사용)하거나 데이터 변환을 고려하는 것이 바람직하다.

실무에서 선형 회귀 분석을 적용할 때는 모델의 수학적 정의나 학습 방법보다 데이터의 품질과 전처리 과정이 성공을 좌우하는 경우가 많다. 분석의 첫 단계는 데이터의 특성을 이해하고 모델의 가정을 충족시키기 위한 데이터 전처리를 수행하는 것이다. 이 과정에는 결측치 처리, 이상치 탐지 및 처리, 범주형 변수의 인코딩, 그리고 변수 간 척도 차이를 해소하기 위한 정규화 또는 표준화가 포함된다. 특히 다중 공선성을 확인하여 독립 변수 간의 높은 상관관계가 모델의 안정성을 해치지 않도록 주의해야 한다.
파이썬의 사이킷런 라이브러리는 선형 회귀 모델의 구현과 전처리를 위한 포괄적인 도구를 제공한다. 일반적인 구현 흐름은 데이터를 독립 변수와 종속 변수로 분리한 후, 훈련 세트와 테스트 세트로 나누는 것으로 시작한다. 이후 전처리 파이프라인을 구성하고 LinearRegression 모델을 학습시킨다. 학습된 모델의 계수와 절편을 확인하여 변수의 영향력을 해석하고, 테스트 세트에 대한 예측을 수행하여 평균 제곱 오차나 R-제곱 같은 지표로 성능을 평가한다.
단계 | 주요 작업 | 사용 가능한 도구/함수 (예시) |
|---|---|---|
데이터 준비 | 결측치 처리, 이상치 탐지 |
|
변수 처리 | 범주형 변수 인코딩, 스케일링 |
|
데이터 분할 | 훈련/테스트 세트 분리 |
|
모델 학습 | 선형 회귀 모델 적합 |
|
평가 및 해석 | 성능 평가, 계수 확인 |
|
실무에서는 단순히 모델을 학습시키는 것을 넘어, 비즈니스 인사이트를 도출하는 데 중점을 둔다. 예를 들어, 주택 가격 예측 모델에서는 방의 개수나 위치 같은 변수의 계수 크기를 통해 가격에 미치는 상대적 영향을 정량적으로 설명할 수 있다. 또한, 모델의 예측 결과를 바탕으로 의사 결정을 지원하거나, 다른 복잡한 모델의 베이스라인 모델로서의 역할을 수행하기도 한다. 모든 분석 과정은 결과의 재현성을 위해 코드와 파라미터 설정을 체계적으로 관리해야 한다.
선형 회귀 분석 모델의 성능과 신뢰도를 높이기 위해서는 모델 학습 전에 데이터 전처리 과정이 필수적이다. 이 과정은 데이터의 품질을 개선하고, 모델이 가진 기본 가정을 충족시키도록 돕는다. 주요 전처리 단계에는 결측치 처리, 이상치 탐지 및 처리, 특성 스케일링, 범주형 변수 인코딩, 그리고 다중공선성 검토 등이 포함된다.
결측치는 제거하거나 평균, 중앙값, 최빈값 등으로 대체한다. 이상치는 모델의 계수 추정에 큰 영향을 미칠 수 있으므로 탐지 후 제거하거나 변환한다. 특성 스케일링은 각 특성의 값 범위를 표준화하거나 정규화하여, 경사 하강법 등의 최적화 알고리즘이 효율적으로 동작하도록 하고, 계수 비교를 용이하게 만든다. 범주형 변수는 원-핫 인코딩이나 라벨 인코딩을 통해 수치형으로 변환해야 한다.
전처리 단계 | 주요 방법 | 목적 |
|---|---|---|
결측치 처리 | 제거, 평균/중앙값 대체, KNN 대체 | 분석의 유효성 유지 |
이상치 처리 | IQR, Z-score 기반 탐지 후 제거 또는 조정 | 모델 추정의 강건성 향상 |
특성 스케일링 | 표준화(Standardization), 정규화(Normalization) | 최적화 효율성 및 계수 비교 용이 |
범주형 변수 인코딩 | 원-핫 인코딩, 라벨 인코딩 | 수학적 모델 적용 가능 형태로 변환 |
다중공선성 검토 | VIF(분산팽창지수) 계산, 상관관계 행렬 확인 | 모델 해석력 및 안정성 확보 |
마지막으로, 독립 변수들 간의 높은 상관관계를 나타내는 다중공선성 문제를 확인한다. VIF(Variance Inflation Factor) 값을 계산하거나 상관관계 행렬을 살펴 높은 상관관계를 보이는 변수 중 하나를 제거하는 등의 조치를 취할 수 있다. 이러한 전처리 과정은 모델의 예측 정확도를 높일 뿐만 아니라, 추정된 계수의 해석을 더욱 신뢰할 수 있게 만든다.
파이썬의 사이킷런 라이브러리는 선형 회귀 모델 구현을 위한 직관적이고 강력한 도구를 제공한다. 기본적인 구현은 sklearn.linear_model 모듈의 LinearRegression 클래스를 임포트하고, 데이터를 훈련 세트와 테스트 세트로 분리한 후 fit() 메서드로 모델을 학습시키는 과정을 거친다. 학습이 완료된 모델은 predict() 메서드를 사용하여 새로운 데이터에 대한 예측을 수행할 수 있다. 모델의 계수와 절편은 각각 coef_와 intercept_ 속성을 통해 확인할 수 있다[8].
다음은 붓꽃 데이터셋의 일부 변형 데이터를 활용한 단순한 예시 코드이다. 이 예시는 특징 공학이나 교차 검증과 같은 고급 기법을 생략하고, 가장 기본적인 워크플로우를 보여준다.
```python
# 필요한 라이브러리 임포트
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
# 예제 데이터 생성 (예: 집 크기(제곱미터)에 따른 가격(억 원))
# X: 독립 변수 (2D 배열 형태), y: 종속 변수
np.random.seed(42)
X = 2 * np.random.rand(100, 1) # 0~2 사이의 값 100개
y = 4 + 3 * X + np.random.randn(100, 1) # y = 4 + 3X + 노이즈
# 데이터를 훈련 세트와 테스트 세트로 분리
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 선형 회귀 모델 인스턴스 생성 및 학습
model = LinearRegression()
model.fit(X_train, y_train)
# 테스트 세트에 대한 예측 수행
y_pred = model.predict(X_test)
# 모델 성능 평가
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"학습된 모델의 절편 (intercept): {model.intercept_[0]:.4f}")
print(f"학습된 모델의 계수 (coefficient): {model.coef_[0][0]:.4f}")
print(f"평균 제곱 오차 (MSE): {mse:.4f}")
print(f"결정 계수 (R^2): {r2:.4f}")
# 결과 시각화 (선택 사항)
plt.scatter(X_test, y_test, color='black', label='Actual Data')
plt.plot(X_test, y_pred, color='blue', linewidth=3, label='Regression Line')
plt.xlabel('House Size')
plt.ylabel('House Price')
plt.legend()
plt.show()
```
실무에서는 이 기본 흐름에 표준화나 정규화, 다중공선성 검토, 잔차 분석 등의 단계가 추가된다. 또한, 판다스 데이터프레임을 사용하여 데이터를 불러오고 전처리하는 것이 일반적이다. 다중 선형 회귀의 경우 입력 데이터 X가 여러 개의 열(특징)을 가진 2차원 배열이면 동일한 코드 구조로 구현이 가능하다.

선형 회귀 분석은 강력한 도구이지만, 그 적용에는 몇 가지 중요한 한계와 주의사항이 존재합니다. 가장 근본적인 한계는 변수 간 관계가 선형이라는 가정에 기반한다는 점입니다. 실제 세계의 많은 관계는 비선형적이어서, 이러한 경우 선형 모델은 부정확한 예측을 생성할 수 있습니다. 또한, 모델은 독립 변수와 종속 변수 간의 인과 관계를 증명하지 않습니다. 단지 통계적 연관성을 보여줄 뿐이며, 이는 상관관계는 인과관계를 의미하지 않는다는 원칙을 상기시킵니다.
모델의 성능은 데이터의 품질과 기본 가정의 충족 여부에 크게 의존합니다. 이상치와 영향점은 회귀선의 기울기와 절편을 크게 왜곡시킬 수 있습니다. 다중공선성이 존재할 경우, 즉 독립 변수들 간에 강한 상관관계가 있으면 계수 추정치가 불안정해지고 해석이 어려워집니다. 또한, 오차의 등분산성과 정규성 가정이 위배되면 회귀 계수에 대한 통계적 검정의 유효성이 떨어집니다.
실무 적용 시에는 모델의 복잡성과 해석 가능성 사이의 균형을 고려해야 합니다. 변수를 무분별하게 추가하여 과적합된 모델은 학습 데이터에서는 뛰어난 성능을 보이지만, 새로운 데이터에 대한 일반화 성능은 매우 낮을 수 있습니다. 이는 정규화 기법을 통해 어느 정도 완화할 수 있습니다. 마지막으로, 모델의 결과를 맹목적으로 신뢰하기보다는 도메인 지식과 결합하여 해석하고, 교차 검증 등을 통해 평가하는 것이 중요합니다.