관리 메뉴

hye-_

비선형회귀와 규제가 있는 회귀분석, 일반화 선형 모델 본문

3. 빅데이터 모델링/분석 기법 적용

비선형회귀와 규제가 있는 회귀분석, 일반화 선형 모델

hyehh 2026. 3. 19. 10:27
728x90
반응형
SMALL

비선형회귀분석 

 

“선형이냐 비선형이냐는 X와 Y 관계가 직선이냐 아니냐가 아니라, 회귀계수(β)가 선형 결합으로 표현되느냐로 결정된다”

 

왜? 
왜냐하면 회귀분석에서 우리가 실제로 추정하는 대상은 데이터 자체가 아니라 계수(β)이며, 모델을 수학적으로 풀고 해를 구할 때 β들이 선형 구조를 가져야 행렬 계산(역행렬 등)이 가능해지고, 이 조건이 깨지면 최소제곱법 같은 기본 해법이 적용되지 않기 때문에 선형/비선형의 기준은 X 형태가 아니라 β의 결합 구조로 정의하는 것이 본질적으로 맞기 때문이다.

 

용어 설명

  • 독립변수 (Independent Variable, X): 설명하는 변수
  • 종속변수 (Dependent Variable, Y): 결과 변수
  • 회귀계수 (Regression Coefficient, β): X가 Y에 미치는 영향 크기
  • 선형결합 (Linear Combination): β₁X₁ + β₂X₂처럼 덧셈 형태

수식

선형회귀 기본 형태:

예시

  • 선형: Y = 2 + 3X
  • 선형: Y = 2 + 3X + 5X² 

“중요한 건 X가 1차냐 2차냐 로그냐가 아니라 β가 어떻게 생겼냐(선형 구조냐)이다”

 

왜?
왜냐하면 X에 어떤 변환이 들어가든(제곱, 로그, 지수 등) 그건 단순히 입력값을 바꾼 것일 뿐이고, 모델의 계산 구조 자체는 β가 곱해지는 방식으로 유지되기 때문에 수학적으로는 여전히 선형 시스템으로 취급할 수 있으며, 반대로 β가 제곱되거나 지수로 들어가면 해를 구하는 방식 자체가 달라져서 완전히 다른 문제(비선형 최적화)가 되기 때문이다.

  • 파라미터(Parameter, β): 우리가 추정하는 값
  • 로그함수: log(X)
  • 이차식: X²

수식 비교


“X²가 있어도 선형이다 → 기준은 X가 아니라 β다”

왜? 
왜냐하면 X²는 단순히 새로운 변수 하나(Z = X²)를 만든 것과 동일하게 볼 수 있고, 이 경우 모델은 Y = β₀ + β₁X + β₂Z 형태로 다시 쓸 수 있으며 β들은 여전히 1차 형태로 존재하기 때문에 선형 회귀의 수학적 조건을 완전히 만족하며, 결국 모델의 구조는 변하지 않고 단지 입력 feature가 확장된 것에 불과하기 때문이다.

  • Feature engineering: X → X²로 변환
  • 선형성(linearity): β에 대해 1차

수식 변환

 

예시

  • Y = 2 + 3X + 5X² → 선형
  • 왜? → β₀, β₁, β₂가 그냥 곱해짐

“비선형은 β를 선형 형태로 못 바꾸는 경우다”

 

왜?
왜냐하면 β가 지수, 분모, 로그 안 등에 들어가면 변수 변환으로도 선형 형태로 바꿀 수 없고, 이 경우 β를 분리해서 행렬 형태로 풀 수 없기 때문에 일반적인 최소제곱법을 사용할 수 없으며, 반복적인 수치해석 방법(Gradient Descent 등)을 사용해야 하기 때문에 구조적으로 선형 모델과 완전히 다른 범주로 분류된다.

  • 비선형 최적화: 반복 계산으로 β 찾음
  • Gradient Descent: 기울기 기반 최적화

수식 예시

예시

  • β가 지수 안 → 절대 선형으로 못 바꿈

 

“선형은 해석 쉽고, 비선형은 해석 어렵다”

 

왜? 
왜냐하면 선형회귀에서는 β₁이 “X가 1 증가할 때 Y가 β₁만큼 증가”라는 직관적인 의미를 가지지만, 비선형 모델에서는 β가 복잡한 함수 안에 들어가기 때문에 하나의 계수가 Y에 미치는 영향이 상황(X 값)에 따라 달라지고, 단순한 해석이 불가능해지기 때문에 인간이 이해하기 어려운 구조가 된다.

 

예시

  • 선형: β₁ = 3 → X 1 증가하면 Y 3 증가
  • 비선형: e^(βX) → 영향이 계속 변함

 

“해석이면 선형, 예측이면 비선형도 쓴다”

 

왜? 
왜냐하면 실무에서 모델의 목적이 “이해”인지 “맞추기(예측)”인지에 따라 선택 기준이 달라지는데, 선형 모델은 단순하고 설명 가능성이 높아서 정책 결정이나 원인 분석에 적합하고, 반대로 비선형 모델은 복잡한 패턴까지 학습할 수 있어서 예측 정확도가 높아지는 경우가 많기 때문에 목적이 예측일 때는 해석을 포기하고 성능을 선택하는 것이 합리적이기 때문이다.

 

예시

  • 선형: 정책 분석, 원인 분석
  • 비선형: 딥러닝, 랜덤포레스트, XGBoost

규제가 있는 회귀분석

“규제는 회귀계수(β)에 제한을 걸어서 모델이 과하게 맞춰지는 걸 막는 방법이다”

 

왜?
왜냐하면 일반적인 최소제곱법(OLS, Ordinary Least Squares)은 오차를 최소화하는 데만 집중하기 때문에 데이터에 포함된 우연한 패턴이나 잡음까지 전부 학습해버리는 경향이 있고, 이로 인해 훈련 데이터에서는 성능이 매우 좋지만 새로운 데이터에서는 성능이 급격히 떨어지는 과적합 문제가 발생하기 때문에, 이를 방지하기 위해 의도적으로 β의 크기를 제한하는 규제항을 추가하는 것이다.

 

용어 설명

  • Regularization: 규제 (모델 복잡도 제한)
  • Overfitting: 과적합 (훈련 데이터에만 과하게 맞음)
  • 회귀계수 (β): 각 변수의 영향력
  • 제약조건: β 크기를 제한하는 조건

수식

 

예시

  • 규제 없음: 데이터에 있는 이상한 패턴까지 다 따라감
  • 규제 있음: 너무 큰 계수 억제 → 안정적인 모델

(장점 1: Noise 제거)

“규제를 하면 잡음(Noise)을 줄여서 정확도가 좋아진다”

 

왜?
왜냐하면 데이터에는 실제 패턴(signal)뿐만 아니라 측정 오류나 우연에 의해 발생한 잡음(noise)이 항상 포함되어 있는데, 규제가 없는 모델은 이 잡음까지 설명하려고 하면서 계수가 과도하게 커지거나 복잡한 형태를 띠게 되지만, 규제를 적용하면 계수의 크기가 제한되면서 불필요한 변동을 설명하지 못하게 되어 결과적으로 진짜 패턴만 남게 되어 일반화 성능이 향상되기 때문이다.

  • Noise: 의미 없는 데이터 변동
  • Signal: 실제 의미 있는 패턴
  • 일반화 성능: 새로운 데이터에서의 성능

수식 (릿지 기준)

 

예시

  • 규제 없음: 이상치 따라감
  • 규제 있음: 부드러운 곡선 유지

(장점 2: 변수 영향 감소 → 속도 증가)

“쓸데없는 변수 영향 줄이면 계산도 빨라진다”

 

왜?
왜냐하면 모델에 포함된 변수 수가 많을수록 계산해야 하는 연산량이 증가하고 특히 고차원 데이터에서는 불필요한 변수까지 포함되면 학습 과정에서 계산 복잡도가 크게 증가하는데, 규제를 통해 중요하지 않은 변수의 계수를 0에 가깝게 만들거나 실제로 0으로 제거하게 되면 모델이 단순해지고 계산해야 할 요소가 줄어들어 학습 속도가 빨라지기 때문이다.

  • Feature: 변수
  • 차원 (Dimension): 변수 개수
  • Sparsity: 0이 많은 상태

수식 (라쏘)

 

예시

  • 변수 100개 → 라쏘 후 10개만 남음
  • 계산량 ↓

장점 3: 다중공선성 해결

“규제는 변수끼리 겹치는 문제(다중공선성)를 완화한다”

 

왜? 
왜냐하면 다중공선성(multicollinearity)은 독립변수들 간에 강한 상관관계가 있을 때 발생하며 이 경우 회귀계수의 분산이 커져서 계수 값이 불안정해지고 해석이 어려워지는데, 규제를 적용하면 계수의 크기를 제한하면서 서로 비슷한 정보를 가진 변수들에 대해 균형 있게 값을 분배하거나 일부를 제거하게 되어 계수의 변동성이 줄어들고 보다 안정적인 해석이 가능해지기 때문이다.

  • Multicollinearity: 다중공선성
  • 분산 증가: 계수 불안정
  • 안정성: 값이 크게 흔들리지 않음

수식 (릿지)

 

예시

  • X1 = 키, X2 = 키(cm) → 거의 동일
  • 규제 없으면 β 폭발
  • 규제 있으면 안정화

규제 종류

“규제 방법은 3가지로 나뉜다: 릿지, 라쏘, 엘라스틱넷”

 

왜? 
왜냐하면 규제는 단순히 계수를 줄이는 것뿐만 아니라 어떤 방식으로 줄일 것인지에 따라 모델의 특성이 달라지는데, L2 제곱 패널티를 사용하는 릿지는 계수를 부드럽게 줄이는 방식이고, L1 절댓값 패널티를 사용하는 라쏘는 일부 계수를 완전히 0으로 만들어 변수 선택 기능을 수행하며, 엘라스틱넷은 이 둘을 혼합하여 각각의 장점을 동시에 활용하기 위해 존재하는 방법이기 때문이다.

  • Ridge (릿지): L2 규제
  • Lasso (라쏘): L1 규제
  • Elastic Net: L1 + L2 혼합

수식 비교

릿지 (Ridge)

특징: 계수 작게 만듦 (0은 잘 안됨)


라쏘 (Lasso)

특징: 계수 0으로 만듦 (변수 선택)


엘라스틱넷 (Elastic Net)

특징: 둘 다 사용


예시 

데이터: 집값 예측

  • 변수: 면적, 방 개수, 층수, 주변 소음, 의미 없는 변수 50개

규제 없음
→ 모든 변수 사용 → 과적합

 

라쏘
→ 의미 없는 변수 제거

 

릿지
→ 변수 다 쓰지만 영향 줄임

 

엘라스틱넷
→ 일부 제거 + 일부 줄임


정리

규제 = β를 제한해서 과적합 막고, 모델을 단순하게 만드는 것


일반화 선형 모델

 

일반 선형 모델 정의

“일반 선형 모델은 X(독립변수)와 Y(연속형 종속변수) 관계를 설명하는 모델이고, Y는 정규분포를 따른다”

 

왜? 
왜냐하면 일반 선형 모델은 오차항(ε)이 정규분포를 따른다는 가정을 기반으로 하고 있으며, 이 가정을 통해 통계적 추론(t검정, F검정 등)이 가능해지고 최소제곱법을 통해 안정적으로 계수를 추정할 수 있기 때문에 종속변수가 연속형이면서 정규분포를 따른다는 조건이 모델의 수학적 성립과 해석 가능성을 보장하는 핵심 전제 조건이 되기 때문이다.

  • GLM (General Linear Model): 일반 선형 모델
  • 정규분포 (Normal Distribution): 평균 중심 종 모양 분포
  • 연속형 변수: 값이 끊기지 않는 변수 (ex. 키, 몸무게)

수식

 

예시

  • 키 → 몸무게 예측
  • 공부시간 → 점수
“현실에서는 Y가 정규분포가 아닌 경우도 많고, 범주형도 많다”

 

왜?
왜냐하면 실제 데이터에서는 종속변수가 이진값(0/1), 범주형(합격/불합격), 개수(사건 발생 횟수) 등 다양한 형태를 가지며 이러한 변수들은 정규분포를 따르지 않기 때문에 기존 선형 모델을 그대로 적용하면 예측값이 음수가 나오거나 확률이 1을 초과하는 등 현실적으로 말이 안 되는 결과가 나오게 되어 모델의 타당성이 깨지기 때문이다.

  • 범주형 변수: 카테고리 값 (합격/불합격)
  • 이진 변수: 0 또는 1
  • 정규성: 정규분포를 따르는 성질

예시

  • 합격 여부 → 0 or 1
  • 사고 발생 횟수 → count 데이터

 

“그래서 연결함수(Link Function)를 써서 확장한 모델이 일반화 선형 모델이다”

 

왜? 
왜냐하면 종속변수의 분포가 정규분포가 아닐 경우에는 선형결합 자체를 그대로 Y에 적용할 수 없기 때문에 먼저 선형결합 결과를 적절한 함수(연결함수)를 통해 변환하여 종속변수의 분포에 맞게 매핑해야 하며, 이렇게 하면 선형 구조는 유지하면서도 다양한 분포(이항, 포아송 등)를 다룰 수 있게 되어 모델의 적용 범위가 크게 확장되기 때문이다.

  • GLM (Generalized Linear Model): 일반화 선형 모델
  • Link Function: 연결 함수
  • 분포: 데이터가 퍼진 형태

수식

 

예시

  • 로지스틱 회귀:

 


일반 선형 vs 일반화 선형 차이

 

“GLM은 정규분포 + 연속형, 일반화 GLM은 다양한 분포 + 연결함수 사용”

 

왜? 
왜냐하면 일반 선형 모델은 정규분포라는 강한 가정에 의존하기 때문에 적용 범위가 제한적이지만, 일반화 선형 모델은 종속변수의 분포를 직접 선택하고 그에 맞는 연결함수를 적용하여 선형 구조를 유지하면서도 다양한 데이터 유형을 처리할 수 있도록 설계되어 실제 데이터 분석에서 훨씬 더 유연하게 사용할 수 있기 때문이다.


일반 선형 모델의 추정 방법

“GLM은 최소제곱법이나 BLUP으로 계수를 구한다”

 

왜? 
왜냐하면 정규분포를 가정하면 오차의 제곱합을 최소화하는 최소제곱법이 최대가능도 추정과 동일한 해를 가지게 되어 계산이 단순해지고, 또한 랜덤효과가 포함된 경우에는 BLUP(최고 선형 비편향 예측)을 사용하여 분산 구조를 고려한 최적 추정을 수행할 수 있기 때문이다.

  • OLS: 최소제곱법
  • BLUP: Best Linear Unbiased Prediction

일반화 선형 모델의 추정 방법

“일반화 GLM은 최대가능도 추정(MLE)을 쓴다”

 

왜? 
왜냐하면 종속변수가 정규분포가 아닌 경우에는 오차 제곱합 최소화 방식이 더 이상 최적이 아니며 대신 주어진 데이터가 특정 분포를 따를 확률을 최대화하는 방식으로 파라미터를 추정해야 하므로 확률모형 기반의 최대가능도 추정법을 사용하는 것이 수학적으로 타당하고 일반적인 방법이 되기 때문이다.

  • MLE (Maximum Likelihood Estimation): 최대가능도 추정

일반화 선형 모델의 구성 3가지 


1) 확률요소

“Y가 어떤 분포를 따르는지 정의한다”

 

왜?
왜냐하면 종속변수의 데이터 형태에 따라 적절한 확률분포를 선택해야 모델이 데이터의 특성을 제대로 반영할 수 있으며, 예를 들어 이진 데이터는 이항분포, 카운트 데이터는 포아송분포를 사용해야 확률 구조가 맞기 때문에 모델의 기반이 되는 확률요소를 정의하는 것이 필수적이기 때문이다.

예시

  • 이진 → 이항분포
  • 개수 → 포아송

2) 선형예측자

“X들을 선형결합해서 하나의 값으로 만든다”

 

왜? 
왜냐하면 여러 독립변수들의 영향을 하나의 스칼라 값으로 통합해야 모델이 계산 가능해지고, 이 선형결합은 각 변수의 기여도를 계수 형태로 표현할 수 있기 때문에 해석 가능성과 계산 효율성을 동시에 확보할 수 있는 가장 기본적인 구조이기 때문이다.

 

수식


3) 연결 함수

“선형결합 결과를 Y의 평균과 연결한다”

 

왜? 
왜냐하면 선형결합 값은 어떤 실수 값이든 가질 수 있지만 실제 종속변수는 특정 범위를 가지거나 특정 분포를 따르기 때문에 이 둘을 직접 연결할 수 없고, 따라서 선형결합을 적절한 함수로 변환하여 종속변수의 기대값과 일치시키는 연결함수가 필요하며 이를 통해 모델의 수학적 일관성과 현실적 의미를 동시에 유지할 수 있기 때문이다.

 

수식

“종속변수의 평균(μ)을 변환해서 선형결합(η)으로 만든다”

즉, μ(평균)를 g로 변환하면 → 선형결합 η가 된다

g(μ)는 “출력값을 선형으로 만들기 위한 변환”, η는 “입력들의 선형합”이다

 

μ는 확률(0~1)이나 양수값 등 특정 범위를 가지는 경우가 많기 때문에 이를 그대로 선형결합과 연결하면 값의 범위가 맞지 않게 되며, 따라서 μ를 적절한 함수 g로 변환하여 (-∞ ~ +∞) 범위로 확장해야 선형결합과 자연스럽게 연결할 수 있고 이 역할을 하는 것이 바로 연결함수이기 때문이다.

 

예시

선형회귀
→ 그냥 μ = η

 

로지스틱
→ μ를 log로 바꿔서 η에 맞춤

 

포아송
→ μ를 log로 바꿔서 양수 유지


정리

일반 선형 = 정규분포 + 그대로 선형 

일반화 선형 = 다양한 분포 + 연결함수로 선형 유지


일반화 선형 모델의 분석 방법

GLM은 분포 + 연결함수 조합으로 다양한 모델을 만든다

 

Y 분포 + 링크함수 선택하면 어떤 모델인지 결정된다

독립변수 (선형예측자) 종속변수 분포 (확률요소) 연결 함수 (Link Function) 분석방법
연속형 정규분포 항등 함수 (Identity) 선형회귀
범주형 정규분포 항등 함수 (Identity) 분산분석 (ANOVA)
연속형 + 범주형 정규분포 항등 함수 (Identity) 공분산분석 (ANCOVA)
연속형 + 범주형 이항분포 로짓 함수 (Logit) 로지스틱회귀
연속형 + 범주형 다항분포 로짓 함수 (Logit) 다항로지스틱회귀
연속형 + 범주형 포아송분포 로그 함수 (Log) 로그선형모델

 

함수 역할 쓰는 이유
항등함수 그대로 이미 범위 OK
로짓함수 확률 → 실수 0~1 제한 깨기
로그함수 양수 → 실수 음수 방지

1. 연속형 + 정규분포 + 항등함수 → 선형회귀

“Y가 연속형이고 정규분포면 그냥 선형회귀다”

 

왜?
왜냐하면 종속변수가 정규분포를 따르는 연속형 변수일 경우에는 굳이 변환을 하지 않아도 선형결합 결과를 그대로 종속변수의 기대값으로 사용할 수 있으며, 이 경우 연결함수로 항등함수(identity function)를 사용하면 선형 구조가 그대로 유지되면서 가장 단순한 형태의 회귀모델이 되기 때문이다.

  • 항등함수 (Identity): g(x) = x 
    • 그대로 둔다 (아무것도 안 바꿈)
  • 정규분포: N(μ, σ²)

수식

 

예시

  • 키 → 몸무게

2. 범주형 독립변수 + 정규분포 → 분산분석(ANOVA)

“X가 범주형이면 그룹 간 평균 비교 → 분산분석”

 

왜?
왜냐하면 독립변수가 범주형일 경우 각 그룹 간의 평균 차이를 비교하는 것이 핵심 목적이 되며, 이때 종속변수가 정규분포를 따른다면 그룹 간 분산과 그룹 내 분산을 비교하여 차이가 유의한지 판단하는 분산분석(ANOVA)이 가장 적절한 방법이기 때문이다.

  • ANOVA: Analysis of Variance
  • 그룹 비교

수식 개념

 

예시

  • 남/녀 → 평균 키 비교

3. 연속형 + 범주형 + 정규분포 → 공분산분석(ANCOVA)

“연속 + 범주 같이 쓰면 ANCOVA”

 

왜? 
왜냐하면 연속형 변수와 범주형 변수가 동시에 존재할 경우에는 단순히 그룹 평균만 비교하는 것이 아니라 연속형 변수의 영향을 보정하면서 그룹 간 차이를 비교해야 하므로, 두 종류의 변수를 동시에 포함할 수 있는 공분산분석(ANCOVA)을 사용하여 보다 정확한 효과를 추정하는 것이 필요하기 때문이다.

  • ANCOVA: Analysis of Covariance

예시

  • 성별 + 나이 → 점수 비교

4. 이항분포 + 로짓함수 → 로지스틱 회귀

“Y가 0/1이면 로지스틱 회귀 쓴다”

 

왜? 
왜냐하면 종속변수가 0과 1로 이루어진 이진값일 경우에는 일반 선형회귀를 적용하면 예측값이 0과 1 범위를 벗어나는 문제가 발생하기 때문에 확률값을 0~1 사이로 제한해야 하며, 이를 위해 logit 함수(로그 오즈 변환)를 사용하여 확률을 실수 범위로 변환한 후 선형결합과 연결하는 방식이 필요하기 때문이다.

  • 이항분포 (Binomial): 0/1
  • 로짓 함수 (Logit): log(p/(1-p))

수식 

 

예시

  • 합격(1) / 불합격(0)

5. 다항분포 + 로짓함수 → 다항 로지스틱 회귀

“카테고리가 여러 개면 다항 로지스틱”

 

왜?
왜냐하면 종속변수가 3개 이상의 범주를 가지는 경우에는 단순한 이진 로지스틱 회귀로는 표현이 불가능하기 때문에 각 범주에 대한 확률을 동시에 모델링해야 하며, 이를 위해 기준 범주를 설정하고 나머지 범주와의 상대적인 로그 오즈를 계산하는 다항 로지스틱 회귀를 사용하게 된다.

 

예시

  • 직업: 학생 / 직장인 / 백수

6. 포아송분포 + 로그함수 → 로그선형모델

“카운트 데이터면 포아송 + 로그 링크”

 

왜? 
왜냐하면 사건 발생 횟수와 같은 카운트 데이터는 음수가 될 수 없고 분산이 평균과 관련된 특성을 가지기 때문에 포아송분포를 사용하는 것이 적절하며, 이때 기대값이 항상 양수가 되도록 보장하기 위해 로그 함수를 연결함수로 사용하여 선형결합과 연결하는 것이 필요하기 때문이다.

  • 포아송분포: count 데이터
  • 로그함수: log(μ)

수식

 

예시

  • 하루 사고 횟수

 

728x90
반응형
LIST

'3. 빅데이터 모델링 > 분석 기법 적용' 카테고리의 다른 글

의사결정나무  (0) 2026.03.20
로지스틱회귀분석  (0) 2026.03.19
단순회귀분석  (0) 2026.03.13
다중회귀분석  (0) 2026.03.13
회귀분석  (0) 2026.03.12