7장 - 선형을 넘어서

cmkkws·2025년 9월 11일

본 포스팅의 내용은 Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, Jonathan Taylor (2023), 「An Introduction to Statistical Learning with Applications in Python」, Springer 를 참고하였습니다.

7.1 다항회귀

예측변수 / 반응변수 간 비선형인 관계일 때, 선형회귀를 확장하는 방법은 여러 가지가 있다.
첫 번째 방법은 다항회귀이다.

이 단순 선형회귀모형을 다항회귀로 대체할 수 있다.

다음은 4차 다항식을 사용한 다항회귀에 대한 예시이다.

왼쪽의 다항회귀는 위과 같은 4차 다항식을 만족하고, 아래는 반응 변수가 이진이므로 다음과 같은 함수를 만족한다.

7.2 계단함수

다항함수로 예측변수를 사용한다면 전역(global)적인 범위를 가질 수 있다.
하지만 구간에 따라 다른 함수를 만족하는 경우가 있다.
계단 함수를 통해 이를 해소 가능하다.


예측변수 X의 구간마다 지시함수(가변수, Indicator function)을 정해 값을 반환한다.
해당 값들의 합은 1이고, 한 구간에만 속해야 한다.

계단함수의 회귀식은 다음과 같이 나타낼 수 있다.

앞의 다항회귀와는 다르게 구간 별로 다른 회귀식이 적용되어 나타난 모습을 알 수 있다.

7.3 기저함수

기저함수(Basis Functions)는 선형회귀의 선형이라는 단순한 틀 에서 더 복잡한 함수(곡선, 구간 함수 등)를 표현할 수 있게 해주는 토대 함수를 말한다.

아래처럼 기본 선형회귀 식에서 b1()b_1()라는 기저함수(계단, 다항회귀, 스플라인 등)를 사용자가 사전에 지정해서 유연한 모형을 만족시킬 수 있다.

7.4 회귀 스플라인

7.4.1 조각별 다항회귀

앞서 다항회귀의 다항식은 다음과 같다.

3차 다항식이고, 회귀 계수 β\betaXX가 어느 범위에 속하냐에 따라 달라지는데, 여기서 계수가 변하는 지점을 매듭(knot)이라고 한다.

다음은 매듭이 한 개일 때, 만족하는 다항회귀 식이다.

매듭을 많이 사용할 수록, 구간마다 적용되는 회귀식을 다르게 설정할 수 있기 때문에 유연해진다.
(굳이 3차가 아니더라도(선형) 적용 가능하다)
또한 이 경우에는 모수가 8개이므로 자유도는 8이다.

7.4.2 제약과 스플라인

다음은 매듭(age=50age = 50)일 때 다항식이다.

아무런 제약을 가하지 않았을 때 왼쪽 위의 그림처럼 나타나는데,
3가지 제약(연속 / 일계도, 이계도함수에서의 연속성)을 사용하면서 매듭에서 매끄러워 지는 것을 알 수 있고, 이 때 자유도는 8 - 3 = 5이다.

7.4.3 스플라인 기저 표현

앞선 3차 스플라인을 기준으로 기저함수를 표현하면 다음과 같다.

3차 스플라인을 표현하는 방법 중 직접적인 방법은 매듭마다 하나의 절단 멱 기저함수(truncated power basis function)을 추가하는 것으로 다음과 같다.

이를 통해 함수의 연속성, 일계도 / 2계도 함수에서의 연속성 또한 만족하게 할 수 있다.
(꼭 0일 필요는 없고, 매듭을 기준으로 함수를 다르게 해 국소적인 효과를 주는 방식이다.)

자연 스플라인은 여기서 추가적으로 경계 영역에서 선형이어야 한다는 제약으로, 더 안정적인 추정값을 생성하는 경향을 가진다.

7.4.4 매듭의 개수와 위치 선택하기

이상적인 매듭의 위치는 함수가 급격하게 변할 것 같은 곳에 놓고, 함수가 안정적인 구간에는 적게 배치하는 것이다.

하지만 실제로는 균일한 방식으로 배치하는 것이 일반적이다.

예를 들어 원하는 자유도를 지정하고, 분위수에 따라서 이에 대응하는 개수의 매듭을 소프트웨어가 자동으로 배치하게 하는 방법이 있다.

매듭의 개수는 어떻게 해야 할까?

방법 중 한 가지는 매듭을 여러 개로 시도해보고, 좋은 곡선을 찾아보면 된다.

교차검증을 통해 진행하는 것이다.

예를 들어 k-fold 교차검증에서 k = 10으로 두고 최소의 잔차제곱합(RSS)을 확인해보면 된다.

다음은 자연 3차 스플라인과, 3차 스플라인에서의 MSE 값의 변화이다.

여기에서는 변수가 한 개이므로, 가장 적절한 값으로 고르면 되지만, 변수가 여러 개일 때는 모든 변수마다 자유도를 선택해야 하는 상황이 생기지만, 모든 항에서 자유도를 고정하기도 한다.

7.4.5 다항회귀와 비교


파란색 선은 15차 다항식이고,
빨간색 선은 자유도가 15인 자연 3차 스플라인이다.

보통 다항회귀보다 회쉬 스플라인이 더 좋은 결과를 내는 경우가 많다.

왜냐하면 다항회귀는 유연한 모델을 만드려면 높은 차수를 사용해야하고, 높은 차수를 사용하는 과정에서 과적합이 일어나는 등의 문제가 생길 수 있다.

하지만 스플라인은 차수는 고정하고, 매듭의 수를 늘려 구간별로 만족하는 함수 값을 다르게 하는 방식으로 유연한 모델을 만들게 되는데 이 방법이 더 안정적인 추정값을 도출한다.

7.5 평활 스플라인

7.5.1 평활 스플라인 개요

이번에는 다른 접근 방법의 스플라인 생성 방법에 대해 소개한다.

잔차제곱합(RSS)가 최소가 되는 매듭을 찾아야 하는데, 제약을 두지 않고 매듭의 개수를 무한정으로 늘리는 것이 답이 될 수 있다.

하지만 이는 심하게 과적합이 되는 문제를 야기한다.

따라서 이를 능형회귀/라쏘 처럼 변동을 벌점화를 통해 매끄러움과 작은 RSS 값을 모두 만족하는 가지는 함수 값을 찾는 방법이 있다.


앞의 항은 RSS 값을 나타내고, 뒤의 벌점항은 이계도함수에 벌점화를 통한 구한 값으로 함수 값의 매끄러운 정도를 나타낸다.
(0일 때 직선이며, 값이 커질수록 꾸불거린다)

λ\lambda 이 0일때는 변수 하나하나에 반응하며 매우 유연한 모델이 되어 과적합의 위험이 있다.
λ\lambda 가 매우 클 때에는 직선 형태로 되어, 매우 단순해져, 과소적합의 위험이 있다.

편향 - 분산의 트레이드 오프의 효과가 있어 적절하게 조절할 필요가 있다.

7.5.2 평활모수 λ\lambda 선택하기

이러한 형태의 스플라인은 기존 매듭을 몇 개 선정하는 것이 아니라, 모든 관측값에 매듭이 있다고 가정하고, 조율모수를 통해 조절하는 방식이다.

유효 자유도는 2(직선) ~ n(원래 형태)로 나타난다.

평활 스플라인은 매듭의 수, 위치를 정할 필요 없이, 교차검증 RSS가 가능한 한 작게 만드는 값을 찾으면 된다.

평활 스플라인에 대한 LOOCV를 통한 오차를 계산해 구하면 된다.


이렇게 두 스플라인이 비슷한 경우 자유도가 더 낮은, 단순한 모형(LOOCV를 통해 결정된 모형)을 선택한다.

7.6 국소회귀

국소회귀(local regression)은 목표점에서와의 근처 훈련 관측값에 가중을 두어 적합을 하는 방식이다.

국소 회귀에서의 3단계 알고리즘은 다음과 같다.
1) 목표 점에서 가장 가까운 것부터 s = k/n 비율만큼 모은다.
2) 각각의 점에 가중치를 부여하되, 가장 먼 점은 0, 가까운 점은 큰 가중치를 주도록 한다.
3) 위의 가중치를 이용해 가중최소제곱 회귀를 적합하는 회귀계수를 찾는다.

가중치를 두는 것은 관심 지점 주변의 데이터에 더 큰 영향을 주어, 해당 지점에서의 기울기와 추세를 회귀계수에 더 잘 반영하기 위한 방법이다.

가중치 함수는 선형, 상수, 이차회귀 등 여러 방법이 있다.
또한 범위 s를 구하는 것이 중요한데, s값이 작을수록 국소적이며, s값이 클수록 모든 값을 대변해 유연해진다.

이러한 아이디어는 다중 변수가 있을 때에 상황에서도 유용하다.

일부 변수에서는 전역이지만, 시간과 같은 다른 변수에서 국소적인 다중선형회귀모형을 적합할 때 유용하다.

7.7 일반화가법모형

지금까지는 단일 예측 변수에서 반응 변수를 더욱 유연하게 하기 위한 방법을 다루었다.

이 아이디어에서 확장해 여러 예측변수일 때의 유연한 반응변수 예측 접근 방법이 있다.

일반화가법모형(GAM)은 비선형함수를 허용하면서, 표준 선형모형의 특징은 지킨다.

일반적인 다중선형회귀는 다음과 같다.

이를 확장해 비선형 함수를 추가하면 다음과 같다.

각각의 예측변수의 모델을 계산하고, 위의 기여분을 다 더하는 과정에서 가법모형이라고 할 수 있다.

예를 들어 세 개의 예측변수를 가진 데이터에서, 한 가지 변수를 제외하고 다른 변수를 고정했을 때 3개의 변수에 대한 자연 스플라인은 다음과 같다.
평활 스플라인를 사용할 때에는 역적합 접근법으로 GAM을 적합할 수 있다.

GAM의 장단점은 다음과 같다.
1) 표준선형회귀에서 놓치는 비선형 관계를 자동으로 모형화한다.
2) 비선형 적합은 모델이 유연해지며 더 정확한 반응변수를 예측 가능하다
3) 모형이 가법적으로 다른 변수를 고정한 상태에서 X와 Y에 미치는 영향을 개별적으로 검토 가능하다.
4) 변수 X에서 함수의 평활도는 자유도를 이용해 요약이 가능하다
5) 모형이 가법적인 특징이 주요 한계이다. 변수가 많을 때 변수들의 상호작용을 놓칠 수 있다.
이 경우 파생변수를 생성함으로써 완화할 수 있다.

GAM은 랜덤포레스트 같은 비모수적 기법과, 선형모형의 모수적 기법 사이에서의 유용한 절충안이라고 할 수 있다.

0개의 댓글