비선형 회귀에서의 선형화 기법

비선형 회귀모형의 개요

비선형 회귀모형은 종속변수와 독립변수 사이의 관계가 선형이 아닌 형태로 나타날 때 이를 적절히 설명하기 위한 통계적·수치해석적 방법이다. 비선형 모형을 다룰 때 가장 먼저 확인해야 할 점은 회귀계수가 나타나는 방식이 선형성이 있는지 여부이다. 예를 들어 독립변수가 지수, 로그, 거듭제곱 등의 형태로 나타나는 경우에는 전형적인 비선형 모형이 되므로 직접 선형 최소제곱법으로는 해석이 어렵다. 그러나 특정 조건에서 변수 변환과 같은 선형화 기법을 사용하면, 원래 비선형 형태였던 모형을 선형 형태로 바꿔서 최소제곱 해를 구할 수 있다. 이러한 과정을 통해 복잡해 보이는 비선형 모형도 적절한 가정과 변환을 적용하면 비교적 간단하게 모수를 추정할 수 있다.

비선형 모형의 일반형

비선형 모형은 일반적으로 다음과 같은 형태로 표현할 수 있다. 독립변수 벡터를 $\mathbf{x} \in \mathbb{R}^n$이라 하고, 이때 종속변수를 $y$라 하며, 모수를 $\boldsymbol{\beta} \in \mathbb{R}^m$이라 할 때, 관측 데이터 $(\mathbf{x}_i, y_i)$에 대하여 다음과 같은 모형을 가정한다.

yi=f(xi;β)+ϵi\begin{align} y_i = f(\mathbf{x}_i; \boldsymbol{\beta}) + \epsilon_i \end{align}

여기서 $f(\cdot;\cdot)$는 비선형 함수를 나타내고, $\epsilon_i$는 오차항이다. 이 모형에서 $\boldsymbol{\beta}$를 추정하기 위해 가장 간단하게는 오차 제곱합을 최소화하는 다음 목적함수를 고려한다.

S(β)=i=1N(yif(xi;β))2\begin{align} S(\boldsymbol{\beta}) = \sum_{i=1}^N \bigl( y_i - f(\mathbf{x}_i; \boldsymbol{\beta}) \bigr)^2 \\ \end{align}

이때 $S(\boldsymbol{\beta})$를 직접 최적화하기 위해서는 비선형 문제를 풀어야 하므로, 간단한 해가 존재하지 않는 경우가 많다. 따라서 적절한 선형화 기법을 적용하거나, 수치적 최적화 기법(뉴턴 방법, Gauss-Newton, Levenberg-Marquardt 등)을 사용하여 근사적인 해를 구한다.

비선형 회귀에서의 선형화와 주요 모형 예시

비선형 모형을 간단히 다루는 핵심 아이디어는 변수 변환을 통해 모형을 선형 형태로 만들어 주는 것이다. 이 과정을 선형화(linearization)라고 부른다. 대표적인 예시로 다음과 같은 종류의 모형이 있다.

지수형 모형: 예를 들어 $y = a e^{b x}$ 형태의 모형을 생각해 보면, 두 모수 $a$와 $b$를 동시에 추정해야 한다. 그러나 $y$가 양의 값을 가질 때 양변의 로그를 취하면 $\ln(y) = \ln(a) + b x$ 와 같이 선형 구조로 변환된다. 이렇게 변환된 식에서 $\ln(a)$를 새로운 모수로 보고 선형 최소제곱법을 적용하면, 비교적 쉽게 $\ln(a)$와 $b$를 추정할 수 있다.

거듭제곱형 모형: $y = a x^b$ 형태의 모형도 $x > 0$, $y > 0$라 가정하면, $\ln(y) = \ln(a) + b \ln(x)$ 라는 식으로 선형 구조가 된다.

선형화 기법은 특정 전제 조건이 만족되어야만 의미가 있다. 예를 들어 지수형 모형에서 $y$가 음수이거나 0에 근접한 값이 들어오면, 로그 변환 과정에서 문제가 발생한다. 또한 변환 과정에서 오차항에 대한 가정도 달라지므로 결과 해석에 주의가 필요하다. 그럼에도 불구하고 이러한 선형화 기법은 비선형 회귀모형을 해석하는 가장 단순하고 강력한 방법 중 하나다.

최소제곱 접근과 오차항의 처리

선형화 기법을 사용할 경우, 원래 비선형 모형 $y = f(\mathbf{x}; \boldsymbol{\beta})$가 변환을 통해 $\tilde{y} = \mathbf{X}\tilde{\boldsymbol{\beta}}$ 형태가 된다고 하자. 예를 들어 지수형 모형에서 $\tilde{y} = \ln(y)$, $\tilde{\boldsymbol{\beta}} = [\ln(a), b]^T$, $\mathbf{X}$는 상수항과 $x$항을 포함하는 설계행렬이 된다. 이 경우 선형 최소제곱법의 정상방정식(normal equation)에 따라 다음과 같은 해를 고려할 수 있다.

β~^=(XTX)1XTy~\begin{align} \hat{\tilde{\boldsymbol{\beta}}} &= (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \tilde{\mathbf{y}} \\ \end{align}

그러나 실제로는 원래 모형의 잔차(residual)가 로그 변환 이후에도 정규성을 만족하는지, 등분산성을 보이는지 등을 검토해야 한다. 로그 변환 등에 의해 오차항이 변환된 세계에서만 만족스러운 특성을 가질 수도 있고, 반대로 실제 예측 관점에서 오차 구조가 왜곡될 수도 있다. 따라서 단순히 변환하여 선형회귀로 적합한 뒤 다시 역변환하는 과정이 최적의 해법이 아닐 가능성도 존재한다. 그렇더라도 비선형 문제를 전처리만으로 선형문제로 바꾸어 손쉽게 모수 추정이 가능하다는 점은 매우 큰 장점이다.

일반적인 비선형화 과정과 주의점

비선형 회귀모형을 다룰 때는 먼저 모형의 형태를 면밀히 관찰한다. 그 다음, 간단한 로그 변환이나 역수 변환 등으로 선형 형태의 관계를 찾을 수 있는지 살펴본다. 이 과정에서 독립변수와 종속변수에 동시에 변환을 취할 수 있으며, 가능하다면 여러 후보를 실험하여 오차구조와 적합도를 확인한다.

선형화 과정의 한계와 주의점은 다음과 같은 맥락이다. 변환을 취함으로써 오차항이 달라지고, 모형 적합 과정에서 최소화하려는 대상함수도 달라진다. 예를 들어 지수형 모델 $y = a e^{b x}$의 경우, $\ln(y) = \ln(a) + b x$ 형태에서 잔차를 정의하면 $\ln(y_i) - [\ln(a) + b x_i]$가 되므로, 이는 실제 $y_i - a e^{b x_i}$와는 서로 다른 의미를 갖는다. 특히 변환된 잔차가 실제 해석하고자 하는 물리적·통계적 잔차와 동일하다고 가정하기 어렵다. 그럼에도 불구하고, 모형이 잘 적합되면 상당히 뛰어난 근사 성능을 보일 수 있어 실무 및 이론적으로 널리 사용된다.

예시: 지수형 모형에 대한 간단한 선형화

지수형 모형 $y = a e^{b x}$를 가정하고, $x, y$ 관측값이 주어졌을 때 로그 변환을 수행한다. $\tilde{y} = \ln(y)$, $\tilde{\beta}_1 = \ln(a)$, $\tilde{\beta}_2 = b$, $\tilde{x}_1 = 1$, $\tilde{x}_2 = x$라 두면, 다음과 같은 선형 모형으로 쓸 수 있다.

y~=β~1x~1+β~2x~2\begin{align} \tilde{y} = \tilde{\beta}_1 \tilde{x}_1 + \tilde{\beta}_2 \tilde{x}_2 \\ \end{align}

설계행렬 $\mathbf{X}$는 행마다 $\bigl[1, x_i\bigr]$ 형태를 갖고, 종속변수 벡터 $\tilde{\mathbf{y}}$는 각각 $\ln(y_i)$가 된다. 이 상태에서 최소제곱법을 적용하면,

β~^=(XTX)1XTy~\begin{align} \hat{\tilde{\boldsymbol{\beta}}} &= (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \tilde{\mathbf{y}} \\ \end{align}

를 얻는다. 추정된 $\hat{\tilde{\boldsymbol{\beta}}} = [\hat{\tilde{\beta}}_1, \hat{\tilde{\beta}}_2]^T$로부터 원래의 $a, b$ 추정치는 $a = e^{\hat{\tilde{\beta}}_1}$, $b = \hat{\tilde{\beta}}_2$와 같이 구할 수 있다.

변환 후의 잔차가 정규성을 띄고 있는지, 등분산성을 만족하는지 등을 진단한 다음, 괜찮은 적합도를 보이면 실제 예측 단계에서 $\hat{y} = e^{\hat{\tilde{\beta}}_1 + \hat{\tilde{\beta}}_2 x}$ 형태를 사용하여 예측을 수행한다. 비록 변환된 모형에서의 잔차가 원래 모형의 잔차와 다를 수 있어 해석상의 주의가 필요하나, 손쉽게 모수를 추정할 수 있다는 점에서 유용하다.

다양한 비선형 회귀모형에 대한 일반화

지수형, 거듭제곱형 모형 외에도 로지스틱 회귀(logistic regression)나 지수감쇠(exponential decay), Hill equation 등 다양한 형태의 비선형 모형에서 선형화가 시도된다. 로지스틱 회귀의 경우에도 odds나 log-odds 변환 등을 통해 변수 변환을 시도하여 부분적으로 선형 관계를 도출하기도 한다. 그러나 로지스틱 회귀는 오차항에 대한 가정이 정규분포가 아닌 베르누이 분포이므로, 변환으로 모든 것이 해결되지는 않으며 별도의 최적화 절차(최대우도추정 등)를 수행한다.

그럼에도 일부 비선형 모형들은 지수나 로그, 다항식 변환 등을 적용해 쉽사리 선형화 가능하므로, 이러한 변환을 우선 고려하는 것은 비선형 회귀에서 매우 중요한 작업이다. 관측된 데이터가 어느 정도 변환 후에 뚜렷한 직선 구조를 갖는다면, 단순한 최소제곱법으로 모수를 직관적으로 해석할 수 있다.

선형화 기법과 수치적 최적화 방법의 결합

모형이 복잡해질수록 단순한 로그 변환이나 거듭제곱 변환만으로는 선형화를 기대하기 어렵다. 이때는 선형화와 함께 수치적 최적화(예: Gauss-Newton 방법)를 병행해서 해를 구한다.

Gauss-Newton 방법은 비선형 최소제곱문제

minβi=1N(yif(xi;β))2\begin{align} \min_{\boldsymbol{\beta}} \sum_{i=1}^N \Bigl( y_i - f(\mathbf{x}_i; \boldsymbol{\beta})\Bigr)^2 \end{align}

를 이차근사하여 반복적으로 개선한다. 특히 $f$가 충분히 매끄럽고, $\mathbf{J}(\boldsymbol{\beta})$를 $f$에 대한 야코비 행렬이라 할 때, Gauss-Newton 업데이트는 다음 형태로 나타난다.

β(k+1)=β(k)[J(β(k))TJ(β(k))]1J(β(k))Tr(β(k))\begin{align} \boldsymbol{\beta}^{(k+1)} = \boldsymbol{\beta}^{(k)} - \Bigl[\mathbf{J}(\boldsymbol{\beta}^{(k)})^T \mathbf{J}(\boldsymbol{\beta}^{(k)})\Bigr]^{-1} \mathbf{J}(\boldsymbol{\beta}^{(k)})^T \boldsymbol{r}(\boldsymbol{\beta}^{(k)}) \end{align}

여기서 $\boldsymbol{r}(\boldsymbol{\beta})$는 잔차 벡터이며, $k$는 반복 횟수를 나타낸다. 선형화 기법을 통해 모형 차원을 줄이거나 초기값을 좀 더 적절하게 추정해두면, 수치적 반복이 더 빠르고 안정적으로 수렴할 가능성이 높아진다.

무턱대고 비선형 최적화를 시작하는 것보다는, 가능한 한 선형화로 모형 구조를 단순화하고 좋은 초기값을 구한 다음에 비선형 최적화를 수행하는 순서가 실무에서 자주 쓰인다. 이러한 결합 방안은 초기 추정을 선형화 기법으로 빠르게 얻고, 잔차가 여전히 너무 크거나 오차구조가 맞지 않을 경우 수치적 최적화를 적용하여 모수를 미세 조정하는 방식으로 이어진다.

추가적인 선형화 기법과 일반화

단순한 로그 변환이나 거듭제곱 변환 외에도, 다양한 변환을 통해 비선형 모형을 선형 형태로 바꿀 수 있다. 예컨대 Michaelis–Menten 식으로 나타나는 포화형 반응속도 모델

y=VmaxxKM+x\begin{align} y = \frac{V_{\max} x}{K_M + x} \end{align}

같은 경우, 특정 변환을 적용하면 다음과 같이 직선형 관계를 유도하기도 한다.

Lineweaver–Burk plot:

1y=KMVmax1x+1Vmax\begin{align} \frac{1}{y} = \frac{K_M}{V_{\max}} \cdot \frac{1}{x} + \frac{1}{V_{\max}} \end{align}

Eadie–Hofstee plot:

yx=yVmax+VmaxKM\begin{align} \frac{y}{x} = - \frac{y}{V_{\max}} + \frac{V_{\max}}{K_M} \end{align}

이와 같이 여러 형태의 (정규화된) 좌표 변환을 사용함으로써, 비선형 함수를 직선으로 변환할 수 있다. 이러한 접근을 통해 단순 선형 최소제곱법으로 $V_{\max}$와 $K_M$를 추정할 수 있지만, 각각의 좌표 변환은 오차 구조와 민감도가 달라지므로 여러 방식으로 적합을 시도하고 잔차 해석, 결정계수, 예측도 등을 비교해야 한다.

잔차 해석과 모델 적합도 평가

변환을 통해 선형화했더라도 최종적으로는 원래 좌표계(비선형 스케일)에서 모델이 잘 예측하고 있는지 확인해야 한다.

선형화 과정에서 최소화한 잔차와 실제 비선형 모형에서의 오차가 동일한 의미를 지니지 않을 수 있다. 예를 들어 $y = a e^{b x}$ 모형에서 로그 변환 후에는 $\ln(y)$ 스케일에서의 오차를 최소화하지만, 실제 물리량의 오차는 $y - a e^{b x}$가 된다.

이 차이를 감안하여 다음과 같은 검증 단계를 수행한다.

모델 변환 후에 잔차가 선형 회귀의 일반적 가정(정규성, 등분산성)에 부합하는지 그래프나 통계량으로 확인한다.

모델 변환 전 스케일로 역변환하여, 예측값 $\hat{y}$와 실제값 $y$ 간의 잔차 $y - \hat{y}$가 적절하게 분포하는지도 살핀다.

직선 적합이 잘 되었음에도 실제 $y$ 스케일에서 큰 오차가 생기는 지점이 존재할 수 있으므로, 그런 예측 불량점을 찾고 원인을 분석한다.

가중치 부여 및 고급 변환

단순 로그 변환 외에도, 관측값의 크기나 측정 오차 정도에 따라 측정값이 클수록 분산이 커지는 경우(이분산성)를 반영하기 위해 가중치(weight)를 두어 최소제곱문제를 정의하기도 한다.

비선형 회귀에서 가중 최소제곱(Weighted Least Squares, WLS)을 사용하면, 예측값이 큰 구간이나 작은 구간에서 에러 구조가 달라지는 문제를 어느 정도 보완할 수 있다. 예를 들어,

S(β)=i=1Nwi(yif(xi;β))2\begin{align} S(\boldsymbol{\beta}) = \sum_{i=1}^N w_i \bigl( y_i - f(\mathbf{x}_i; \boldsymbol{\beta}) \bigr)^2 \end{align}

에서 $w_i$는 각 관측점에 대한 가중치다. 선형화 기법을 통해 변환한 모형에서도, 변환된 종속변수 $\tilde{y}$에 대한 가중치 $w_i$를 어떻게 설정할지 판단해야 한다. 예를 들어 로그 변환을 하였을 때, 지수가 큰 구간에서 잔차가 크게 발생하는 현실을 반영하기 위해 가중치를 조정할 수 있다.

선형화 기법과 비선형 반복해법의 결합 사례

선형화 기법으로 대략적인 초기 추정을 얻은 다음, 이를 입력으로 사용하여 본격적인 비선형 최적화(예: Levenberg–Marquardt 알고리즘)를 적용하면 안정적인 수렴을 얻기 쉽다. Levenberg–Marquardt 알고리즘은 Gauss–Newton 방법과 유사하나, 행렬 역조건이 나빠지는 상황을 완화하기 위해 감쇠 항(damping parameter)을 추가한다. 알고리즘은 대략 다음과 같이 반복된다.

β(k+1)=β(k)[J(β(k))TJ(β(k))+λI]1J(β(k))Tr(β(k))\begin{align} \boldsymbol{\beta}^{(k+1)} = \boldsymbol{\beta}^{(k)} - \Bigl[\mathbf{J}(\boldsymbol{\beta}^{(k)})^T \mathbf{J}(\boldsymbol{\beta}^{(k)}) + \lambda \mathbf{I}\Bigr]^{-1} \mathbf{J}(\boldsymbol{\beta}^{(k)})^T \boldsymbol{r}(\boldsymbol{\beta}^{(k)}) \end{align}

여기서 $\lambda$는 적절히 갱신되는 감쇠 계수이고, $\mathbf{J}$는 잔차에 대한 야코비 행렬, $\mathbf{r}(\boldsymbol{\beta})$는 관측 오차 벡터다.

처음부터 Levenberg–Marquardt 알고리즘을 사용하면, 초기값을 적당히 선택하기가 쉽지 않아 수렴 실패나 비정상적인 해를 얻게 될 수 있다. 하지만 변수 변환 등을 통해 선형화한 간단한 해를 초기값으로 주면, 알고리즘이 더 빠르고 안정적으로 적합한 해를 찾는다.

코드 예시: 지수형 모형에 대한 선형화 + 적합

아래는 Octave에서 $y = a e^{b x}$ 형태의 지수형 모형을 로그 변환 후 선형회귀로 적합하는 예시다.

이 스크립트는 다음 과정을 수행한다.

  1. x, y 데이터를 생성하고 약간의 노이즈를 더한다.

  2. $y$에 로그 변환을 취해 $\tilde{y}$를 구한다.

  3. $\tilde{y} = \ln(a) + b x$ 형태의 선형모형을 최소제곱법으로 적합한다.

  4. 추정된 $\hat{a}, \hat{b}$로부터 예측값 $\hat{y} = \hat{a} e^{\hat{b} x}$를 구하여 시각화한다.

분석 결과, 로그 스케일에서 직선 적합이 양호하면 실제 스케일에서도 지수형 곡선 적합이 만족스러울 가능성이 높다.

다변수 상황에서의 선형화

독립변수가 여러 개인 다변수 비선형 모형에서도, 부분적으로 선형성이 드러나는 경우에는 선형화 기법을 확장하여 적용할 수 있다. 예를 들어 $y = a x_1^{b_1} x_2^{b_2}$와 같은 모형이라면, 다음과 같은 로그 변환으로 선형화가 가능하다.

ln(y)=ln(a)+b1ln(x1)+b2ln(x2)\begin{align} \ln(y) = \ln(a) + b_1 \ln(x_1) + b_2 \ln(x_2) \end{align}

이 경우 설계행렬은 각 관측점마다 $[,1,;\ln(x_{1}),;\ln(x_{2}),]$ 형태로 구성하며, $\tilde{y} = \ln(y)$를 종속변수로 놓고 선형 최소제곱 기법을 적용한다. 이렇게 확장하여 여러 변수와 비선형 항을 다룰 수 있다.

정리

비선형 회귀모형에서 선형화 기법은 수치적인 복잡성을 크게 낮추면서도, 일반적인 선형 최소제곱법으로 모수 추정이 가능하다는 장점이 있다. 그러나 변환에 따른 오차 구조의 변화, 해석상의 문제, 데이터의 부적합성 등 다양한 이슈를 고려해야 한다. 이런 한계와 위험요소를 인지하면서도, 적절한 사전 분석과 잔차 해석을 병행하면, 비선형 모형을 빠르고 간편하게 적합하는 효과적인 기법을 적용할 수 있다.

고차원 비선형 회귀에서의 선형화 기법 확장

비선형 회귀를 선형화하는 과정은 단순히 로그 변환이나 거듭제곱 변환 같은 1차원적 변환에서 그치지 않는다. 독립변수가 여러 개인 고차원 문제나, 비선형 항이 복합적으로 나타나는 경우에도 부분 선형화를 적용할 수 있다. 예를 들어 다음과 같은 혼합형 모형을 생각해 볼 수 있다.

y=axbzcedw\begin{align} y = a \, x^b \, z^c \, e^{d w} \end{align}

이때 $x, z, w$는 독립변수이며, $a, b, c, d$는 추정해야 할 모수다. 변환을 적용해보면

ln(y)=ln(a)+bln(x)+cln(z)+dw\begin{align} \ln(y) = \ln(a) + b \ln(x) + c \ln(z) + d w \end{align}

이 식은 로그 변환을 통해 정확히 선형 형태로 바뀌므로, 설계행렬을 만들 때 $[;1,;\ln(x),;\ln(z),;w;]$을 독립변수로 놓고, 종속변수를 $\ln(y)$로 두어 선형 최소제곱을 수행할 수 있다. 고차원 문제라도 이런 식으로 부분 선형화가 가능하면, 단번에 모수를 추정하는 길이 열린다.

비선형 회귀모형에서의 부분적 파라미터화

경우에 따라서는 전체 모형이 완전히 선형화되지 않더라도, 일부 모수에 대해서만 선형화가 가능할 수 있다. 이때는 선형으로 추정 가능한 부분과 비선형 최적화를 거쳐야 하는 부분을 분리하여 계산한다.

예를 들어 $f(\mathbf{x}; \boldsymbol{\beta}) = g(\mathbf{x}; \boldsymbol{\beta}_1), h(\mathbf{x}; \boldsymbol{\beta}_2)$ 형태로, $g(\mathbf{x}; \boldsymbol{\beta}_1)$는 변환을 통해 선형화할 수 있지만 $h(\mathbf{x}; \boldsymbol{\beta}_2)$는 그렇지 못한 경우가 있다. 그러면 $\boldsymbol{\beta}_1$만 우선 선형화 기법으로 구하고, 그 결과를 가지고 $\boldsymbol{\beta}_2$를 비선형 최적화 기법으로 갱신한다. 이 절차를 번갈아가며 반복하는 것이 가능하다.

이러한 절충적 접근은 모든 파라미터를 동시에 다루는 완전한 비선형 최적화보다 더 빠른 수렴을 기대할 수 있으며, 선형화된 부분에 대해서는 일반적인 최소제곱 해석이 가능하다는 장점이 있다.

합성함수 형태와 일반적인 선형화 난이도

비선형 모형이 지수, 로그, 거듭제곱 구조를 넘어서 합성함수 형태(예: $y = \exp(\sin(ax + b))$, $y = \ln(1 + x^2) + c^x$ 등)로 나타나면, 단순 변환만으로 완전 선형화를 얻기는 어렵다. 이런 경우 부분적으로 변수 치환을 해볼 수 있지만, 보통은 선형화가 불가능한 구조가 남게 된다.

그러나 부분 치환으로라도 선형화할 수 있는 단서를 찾으면, 모델 차원을 낮추거나 일부 파라미터를 고정함으로써 문제를 단순화할 수 있다. 예컨대 $y = \exp(\sin(ax + b))$에서 $\sin(ax + b)$가 완전히 비선형이라도, $a$와 $b$가 특정 조건하에서 근사적으로 작다고 가정하면 $\sin(ax + b) \approx ax + b$가 성립할 수도 있으며, 이를 이용해 선형회귀 접근을 시도할 수 있다. 물론 이 같은 근사는 모델이 실제 데이터에 대해 타당한지 면밀하게 검토해야 한다.

이분산성, 잡음 구조, 측정오차 모델

비선형 회귀에서 선형화를 적용할 때, 단순 최소제곱 기반으로 잔차를 최소화하는 과정이 데이터의 오차 분포와 부합하는지 검증해야 한다. 예컨대 다음과 같은 상황이 발생할 수 있다.

  • 관측값의 크기가 커질수록 상대적 오차가 더 커진다.

  • 관측 장치 특성상, 로그 스케일로 측정 오차가 일정하다.

  • 실험에서 독립변수 자체에 측정오차가 존재한다(Errors-in-Variables 모델). 이러한 상황을 반영하기 위해, 가중 최소제곱이나 일반화된 선형화 기법(추정방정식의 가중치 조정)을 고려할 수 있다. 이분산 상황에서는 $w_i = \frac{1}{\sigma_i^2}$ 같은 방식으로 각 관측점별 분산 추정을 활용하여 가중치를 부여한다. 또, 독립변수에 대한 측정오차가 큰 모델이라면, 일반화된 적합(orthogonal regression 등)을 통해 오차 구조를 보정한다.

  • 선형화 기법은 어디까지나 한 축(종속변수)에 대한 변환을 가정하는 경우가 많으므로, 독립변수도 불확실성을 가진다면 보다 정교한 접근이 필요하다.

비선형 모델 구간 분할과 Piecewise Linearization

때로는 전구간에서 일관된 변환을 적용하기보다, 독립변수 구간을 적절히 분할하여 구간별로 선형화(또는 다항 근사)를 적용하는 방법이 쓰인다. 예컨대 $y = x^b$ 형태에서 $x$가 매우 큰 구간과 매우 작은 구간에서 서로 다른 근사 기법을 쓰면, 특정 구간에서는 로그 변환이 유효하나 다른 구간에서는 다른 변환이 더 적절할 수 있다. 이렇게 구간마다 서로 다른 선형화 모델을 사용하면, 전역적으로는 비선형 형태가 되지만 각 구간 안에서는 선형회귀 문제로 쉽게 해결이 가능하다. 필요한 경우 구간 접합부에서 연속성, 미분가능성 등 추가 조건을 부여하여 매끄럽게 연결한다.

선형화 후 예측 구간 외삽

선형화 기법으로 모수를 추정한 뒤, 모형 외삽(extrapolation)을 시도할 때는 특히 주의가 필요하다.

로그 변환으로 적합한 지수형 모델에서 $x$가 관측 범위보다 훨씬 큰 영역에서 예측값을 계산하면, 실제 데이터와는 전혀 다른 거동을 보일 수도 있다. 변환된 스케일에서 직선으로 보이더라도, 원래 스케일에서는 오버슈팅이나 언더슈팅이 심해질 가능성이 존재한다. 따라서 선형화 모형을 이용한 예측 범위는 가급적 관측 범위에 가깝게 설정하고, 부득이하게 외삽이 필요하다면 모형 가정에 대한 타당성을 재검토한다. 가능하다면 비선형 최적화 기법을 병행하여, 모델 구조가 외삽 구간에서도 유효한지 확인해야 한다.

예시: Michaelis–Menten 식의 다양한 선형화 방식 비교 (Octave)

앞서 Michaelis–Menten 식

y=VmaxxKM+x\begin{align} y = \frac{V_{\max} \, x}{K_M + x} \end{align}

에서, 전통적으로 알려진 여러 선형화 기법(Lineweaver–Burk, Eadie–Hofstee 등)이 존재한다. 아래는 Octave에서 간단히 비교하는 예시다.

이 예시는 Michaelis–Menten 식의 다양한 선형화 방식 두 가지를 적용하여, $V_{\max}$와 $K_M$를 추정하는 과정을 간단히 보여준다. 실제로는 변환에 따른 잔차 구조 차이나 추정 안정성이 다르므로, 여러 기법을 병행하여 비교하는 것이 일반적이다.

유의사항

비선형 회귀에서 선형화를 시도하는 것은 매우 강력한 도구지만, 동시에 다음과 같은 유의사항을 잊지 않아야 한다.

  • 선형화 후 잔차가 변환된 스케일에서 정의되므로, 실제 물리적 의미와 불일치가 생길 수 있다.

  • 오차 구조가 복잡하거나 독립변수에도 오차가 존재하면, 단순 변환으로는 충분히 설명되지 않을 수 있다.

  • 과도한 외삽은 변환 모형이 가진 비선형 특성을 왜곡하거나 과도 추정으로 이어질 위험이 크다.

  • 모형 형태가 복잡해 로그·거듭제곱 등 대표 변환들로 선형화가 어려울 때에는, 수치적 비선형 최적화 기법을 결합하여 해결해야 한다.

다항근사와 일반화 선형모형과의 연관성

비선형 회귀모형을 다룰 때, 지수나 로그 변환 외에도 다항근사(polyomial approximation)를 사용하는 경우가 많다. 어떤 함수를 $f(x)$로 가정하고 직접 비선형 파라미터화를 시도하는 대신, 고차 다항식으로 근사화한 뒤 선형 모형으로 해석하는 접근이다. 예를 들어,

y=α0+α1x+α2x2++αpxp\begin{align} y = \alpha_0 + \alpha_1 x + \alpha_2 x^2 + \dots + \alpha_p x^p \end{align}

형태의 다항식을 독립변수로 놓고, 선형 최소제곱법으로 각 계수 $\alpha_i$를 추정한다. 이렇게 근사된 모형은 기본적으로 $f(x)$가 충분히 매끄럽고 관측 구간 내에서 복잡한 거동이 없을 경우 적절히 동작한다.

한편, 확장적으로 일반화 선형모형(Generalized Linear Model, GLM)과도 관련이 있다. 예컨대 로지스틱 회귀(logistic regression)는 종속변수 $y \in {0,1}$ 범주형 변수를 다루지만, 로짓 함수를 통해

ln(p1p)=β0+β1x+β2x2+\begin{align} \ln\Bigl(\frac{p}{1-p}\Bigr) = \beta_0 + \beta_1 x + \beta_2 x^2 + \dots \end{align}

와 같은 식으로 선형구조를 구성한다. 이 역시 ‘변환’(logit)으로 선형성을 확보하고, 최대우도추정으로 모수를 구하는 방식이다. 다만, 이때는 오차항이 이항분포라는 전제를 두고 있으므로, 단순 선형회귀와는 다른 계산 과정을 거친다.

분산분석적 해석과 선형화

비선형 회귀에서 변환을 적용하면, 종속변수 또는 독립변수가 고차항이나 로그항 등으로 재구성되는데, 이 과정을 통해 종종 (다)변량분산분석, 주성분분석(PCA), 주성분회귀(PCR) 등과 결합할 수도 있다. 예를 들어 관측변수가 여러 개일 때, 변수 변환 후 PCA를 수행하여 차원을 축소하고, 그 결과를 선형회귀 형태로 적합할 수 있다. 이를 통해 복잡한 비선형 모형을 단계적으로 단순화하고, 잡음과 다중공선성 문제를 함께 완화할 수 있다.

다중공선성 문제와 변수 변환

비선형 회귀모형에서 독립변수가 많아지면, 변환된 설계행렬에서도 다중공선성(multicollinearity)이 발생할 수 있다. 예컨대 다항근사에 의해 $x, x^2, x^3, \dots$ 등 항이 늘어나면, 이들 사이에 상관관계가 커질 가능성이 있다.

이 문제를 해결하는 방법 중 하나는 직교다항식(orthogonal polynomial)을 사용하는 것이다. 직교다항식 기저를 사용하면, $1, \phi_1(x), \phi_2(x), \dots$ 등이 서로 직교성을 보장하므로, 해석과 추정 과정에서 수치적 안정성이 개선될 수 있다. 이 역시 넓은 범주에서 보면, 비선형성을 선형화하는 한 가지 기법으로 볼 수 있다.

부분최소자승(Partial Least Squares)과의 관련

다변수 회귀에서 독립변수 차원이 매우 커서 일반 선형화 기법만으로는 적합이 어려운 경우, 부분최소자승(Partial Least Squares, PLS) 방식이 고려된다. PLS는 목표변수(종속변수)의 분산을 잘 설명하는 인공적인 주성분을 찾아서 회귀를 수행한다. 비선형 모형이라 하더라도 적절히 변수 변환이나 기저함수 확장을 해둔 뒤, PLS로 차원을 축소하면, 간접적으로 선형구조가 생겨 효과적인 예측이 가능할 수 있다.

스플라인 회귀와 선형화

스플라인(spline)은 구간별 다항식을 부드럽게 연결한 함수다. 예컨대 B-스플라인 기저함수를 사용하면, 복잡한 비선형 함수를 다수의 구간별 다항식으로 근사하면서, 연결 지점(knot)에서 연속성이나 매끄러움(미분 연속성 등)을 강제할 수 있다.

스플라인 회귀(spline regression)는

y=k=1KαkBk(x)\begin{align} y = \sum_{k=1}^K \alpha_k \, B_k(x) \end{align}

형태로 모형을 구성하는데, 각 $B_k(x)$는 스플라인 기저함수이며, $\alpha_k$는 추정할 계수다. 이 구조는 선형회귀와 동일한 형식을 띠므로, 최소제곱법으로 추정 가능하다. 결과적으로 복잡한 비선형 거동을 스플라인 기반으로 유연하게 모델링하되, 추정은 선형회귀 형태로 처리할 수 있다.

추가 예시: 스플라인 회귀 (Python)

이 예시에서

x 구간에 대해 실제 함수 $f_{\text{true}}(x)$를 정의하고, 측정값에 잡음을 더한 $y_{\text{obs}}$를 생성한다. patsy 라이브러리를 사용해 B-스플라인 기저행렬을 구성한다.

해당 기저행렬을 독립변수로 놓고, 선형회귀(LinearRegression)로 계수를 추정한다. 결과적으로 복잡한 비선형 함수를 스플라인 기저함수의 선형결합으로 근사하며, 추정은 최소제곱 형식으로 진행된다.

선형화 기법과 정칙화(Regularization)

선형화 후에도 모형 차원이 커지거나, 변환으로 인해 고차항이 늘어나면 과적합(overfitting)이 생길 수 있다. 이를 방지하기 위한 일반적인 방법으로 리지 회귀(Ridge regression), 라쏘(Lasso), 엘라스틱넷(Elastic net)과 같은 정칙화(regularization) 기법을 적용할 수 있다.

예컨대 다항회귀나 스플라인 회귀에서 정칙화 항을 추가한 목적함수를 최소화하면, 계수값이 지나치게 커지지 않도록 제약한다. 이 역시 넓은 의미의 비선형 회귀를 다룰 때, 선형화를 통해 얻은 기저함수에 대해 적용되는 실무적 기법이라 할 수 있다.


비선형 회귀에서 선형화 기법은 지수·로그 변환처럼 기본적인 변환부터, 스플라인이나 다항기저 확장, 직교다항식, 차원축소(PCA/PLS) 기법 등 다양한 방식으로 확장 가능하다. 많은 경우 이들 기법이 근사적으로나마 모델을 선형 구조 안에 담아냄으로써, 최소제곱법이라는 강력하고 간단한 해법을 사용할 수 있게 해 준다. 동시에, 변환에 따른 오차 구조나 외삽 문제, 과적합 가능성 등을 주의 깊게 살펴야 한다.

Last updated