[책 정리] 선형성을 넘어서(스플라인)

장우솔·2022년 6월 16일
0

Statistic

목록 보기
3/5

선형모델들은 설명과 실현이 비교적 단순하고, 해석과 추론 측면에서 다른 기법에 비해 장점이 있다.
하지만 선형이랑 가정은 거의 항상 근사적인 것이고 잘 맞지도 않을 수 있기에 예측능력면에서 상당히 제한적이다. 따라서 이전에 능형회귀, lasso, 주성분회귀 등의 기법을 사용하여 선형회귀를 향상시켰다.

이러한 향상은 선형모델의 복잡도를 줄여 추정치들의 분산을 줄임으로써 얻을 수 있다.
--> 그래도 한정적이다.

따라서 해석력은 가능한 높게 유지하면서 선형성에 대한 가정을 완화하고자 “다항식회귀, 계단 함수”와 같은 선형모형 확장 뿐 아니라 “스플라인, 국소회귀, 일반화가법모델”과 같이 정교한 기법을 알아본다.


1. 다항식회귀

원래 설명변수 각각을 거듭제곱하여 얻은 추가적인 설명변수를 포함하여 선형모델을 확장한다. 베타값 변화가 전체에 영향을 미쳐서 해석력이 좋지 않다.

즉, 모형의 유연성을 높이려면 다항식의 차수를 높여야한다. 하지만 원치 않은 모양의 이상한 회귀함수 모양이 나타날 수 있다. 어떤 관측치가 멀리 떨어진 곳의 함수 추정량에도 영향을 미치기 때문이다.

일반적으로 3 또는 4 이상의 큰 d값을 사용하는 경우에 지나치게 유연해져 사용이 드물다.



2.계단함수

변수의 범위를 k개의 영역으로 구분하여 범주형 변수들로 변환한다. 선형은 어디서 증가하든 기울기가 똑같지만 계단함수는 구간별로 증가하는 값이 다르고 해석력이 좋다.
하지만 연속함수에 적용할 수 없다.

임의의 x에 대해, x는 k+1개 구간 중 어느하나에 속해야한다. 그 다음에 최소제곱을 사용하여 선형모델을 적합하고, 계단함수로 만든 설명변수로 사용한다.


3. 회귀 스플라인

각 구간에서 차수가 d인 다항식이고 d-1차 도함수가 연속인 함수. 계단함수보다 더 유연하다. x범위를 k개 영역으로 나눈다. 각 영역 내에서 다항식 함수가 데이터에 적합된다. ‘매듭’으로 나누어진 구간을 충분한 수의 영역으로 나누면 적합은 아주 유연하게 될 수 있다. 즉, 매듭을 지정하고 일련의 기저함수를 도출한 다음 최소제곱을 사용하여 스플라인 계수를 추정한다.

즉, 고차항은 전영역에 영향을 미쳐 구간을 잡고 저차원인 다항식을 이용해 함수를 추정하는 방법.

7.4.2 제약조건과 스플라인

k개의 매듭을 가진 3차 스플라인은 k+4개의 기저가 필요하다.
4(k+1)-3k : 매듭이 k면, 구간은 k+1, 각 다항식은 4개의 모수를 가진다. 도함수 조건을 고려하지 않으면 매듭이 한 개 생길 때마다, 새로운 삼차 다항식이 필요하므로 기저가 4개 필요하지만, 2차 도함수까지 연속이여야하므로 세가지 제한조건이 생긴다. 따라서 매듭이 하나 생길 때마다, 하나의 기저가 필요하다.

회귀 스플라인은 경계부근에서 큰 분산을 갖는다. (극단에 대부분 데이터가 많지 않으니까)
그래서 이 문제를 해결하는 것이 자연스플라인!


4. 자연스플라인

함수가 경계에서 선형이여야한다는 추가적인 경계 제한조건이 있는 회귀 스플라인이다. 경계부근에서 안정된 분산을 갖게 한다, (극단에서 오차줄고, 파라미터도 줄고, standard error 작아짐) k개 매듭이 있는 자연 3차 스플라인은 K+1의 자유도가 필요하다. 즉, k+1개의 기저가 필요하다.

그림 7.4는 안쪽은 3차, 바깥쪽은 선형으로 fit해서 사람 눈으로 보기에 부드러운 곡선을 만듬.

7.4.4 매듭 수와 위치 선택

매듭이 촘촘하게 있는 구간에서 회귀 스플라인은 가장 유연하다. 대개 설명변수의 분위수를 이용해 정한다. 매듭 개수는 교차검증 방법을 이용한다. 전체 교차검증 RSS를 계산하여 가장 RSS를 주는 k값을 선택한다.

7.4.5 다항식회귀와 비교

회귀 스플라인은 차수는 고정시키고 매듭 수를 증가시켜 유연성을 높일 수 있기에 다항식 회귀(유연한 적합을 위해 높은 차수를 사용)에 비해 좋은 결과를 준다.
또한 스플라인은 함수 f가 빠르게 변하는 영역에 더 많은 매듭을 위치시켜 유연성을 높이고 그렇지 않은 영역에는 매듭을 줄일 수 있다.



평활 스플라인

평활도 페널티 조건하에서 잔차제곱합 기준을 최소로한 결과.

7.5.1 개요
데이터에 평활한 곡선을 적합하는데 를 가장 작게 하는 함수를 원한다. 하지만 g(xi)에 아무런 제한조건을 두지 않으면 이러한 함수는 데이터를 극도로 과적합할 것이고 지나치게 유연할 것이다.
따라서 람다(음수가 아닌) 조율 파라미터를 추가한다.

평활 스플라인 두번째 항은 g의 변동성에 페널티를 주는 항이다. 2차 도함수는 기울기가 변하는 정도이다.(함수의 구불구불한 정도를 나타냄) 만약 g가 아주 평활하면 기울기는(1차 도함수) 상수에 가까울 것이고 2차 도함수 적분값은 작은 값을 가진다.

반대로 g가 변동이 심하면 1차도함수의 변화가 아주 크고, 2차 도함수 적분값은 큰 값을 가진다(=너무 구불구불하게 됨--> 람다를 크게 줘서 패널티를 줌). 람다 값이 클수록 g는 더 평활해질 것이다.

람다가 무한대로 가면 g는 완벽하게 평활해진다. g는 이 경우에 손실함수는 잔차제곱합을 최소로하기에 사실상 선형 최소제곱선이 될 것이다.

평활스플라인은 매듭이 중복되지 않는 자연3차스플라인이다.

7.5.2 평활 파라미터 람다의 선택
람다가 평활 스플라인의 roughness를 제어하여 유효자유도를 제어한다. 람다가 0에서 무한대로 증가함에 따라 유효자유도는 n에서 2로 줄어든다. 유효자유도가 높을수록 평활 스플라인은 더 유연하다.



7.6 국소회귀

  • 국소회귀 : 스플라인과 유사하지만 영역들이 겹쳐질 수 있으며 아주 매끄러운 방식으로 겹쳐 질 수 있다. X0에 가까운 일부 s=k/n개의 관측치에 가중치를 주고 1차 회귀모형을 적합한다. 근처오차만 최대로 minimize한다.

비선형함수들을 적합하는 방법으로 목표점 x0에서 주변 훈련 관측치들만 사용하여 적합을 계산하는 방법이다.

  • 순서
    X0에 가까운 일부 s=k/n을 모은다. 이웃된 점을 고르고 가장 먼점은 가중치가 영이고 가장 가까운 점은 가장 높은 가중치를 준다. k개의 최근접이웃 외의 모든 점의 가중치는 영이다 가중치를 사용하여 베타들을 찾음으로써 xi, yi에 가중 최소제곱회귀를 적합한다.

S(생성)은 평활스플라인의 조율 파라미터와 같은 역할을 하며 유연성을 제어한다.

s값이 작을수록 더 국소적이고 꾸불꾸불하다. s값이 아주 크면 훈련관측치 모두를 사용하여 데이터 전역적 적합이 될 것이다. S는 교차검증을 사용하여 선택하거나 직접 지정한다.
어떤 변수들에 대해서는 전역적이지만 시간과 같은 다른 변수에는 국소적이다. 가변 계수 모델들은 가장 최근에 수집된 데이터에 모델을 적응시키는데 유용하다.



7.7 일반화가법모델

여러개의 설명변수가 있을 때, 각 변수에 대해 서로다른 함수를 적용한다.
가산성은 유지하면서 각 변수의 비선형함수들을 허용하여 모델을 확장하는 체계를 제공한다.

7.7.1 회귀 문제에 대한 GAMs
변수 1개에 대해 다양한 함수를 공부한다. 서로 다른 예측변수는 서로다른 f를 사용한다.

  • GAMs 장단점

장점

  1. X 각각에 비선형 함수를 적합할 수 있어 표준적 선형회귀로 놓치게 되는 비선형 관계를 자동적으로 모델링할 수 있다. 이것은 각 변수에 대해 많은 다른 변환을 수동으로 시도할 필요가 없는 것이다. (각 설명변수에 비선형 함수를 적용하기에 설명변수를 변환할 필요가 없다.)

  2. 설명변수의 비선형함수는 예측성능을 향상시킬 수 있다.
    가산적이기 때문에 y에 대한 x각각의 영향을 다른변수들은 고정하고 개별적으로 조사할 수 있다.

  3. 변수 Xj에 대한 평활도는 자유도를 통해 요약될 수 있다.

단점

모델이 가산적이어야한다는 제한으로 인해서 많은 변수들이 있는 경우 중요한 상호작용을 놓칠 수 있다. (가법모형이기에 교호작용을 표현하지 못한다.)

profile
공부한 것들을 정리하는 블로그

0개의 댓글