곤약노트

#2 함수형 데이터 분석 (Functional Data Analysis, FDA) - B-Splines (비스플라인) 본문

Data Science/High-Dimensional Data Analytics

#2 함수형 데이터 분석 (Functional Data Analysis, FDA) - B-Splines (비스플라인)

곤약처럼 부드럽게, 쫀쫀하게 2025. 5. 26. 09:00
지난 포스팅에서..

▶ 함수형 데이터 분석 (Functional Data Analysis, FDA)을 위해 Spline Regression (스플라인 회귀 사용)
▶ 그러나 Truncated Power Basis는 다음과 같은 문제를 가지고 있었음
- Numerical Instability (수치적 불안정성): 열끼리 상관관계가 높아 역행렬이 불안정함, 계산 중 오차가 커짐
- Redundant Representation (불필요한 중복 표현): 구간이 많아질수록 기저 함수의 개수도 비례해서 많아짐


▶ 해결 방법: B-Spline

1. B-Spline이란?

  • B-스플라인(B-Spline):
    • 기존의 **스플라인(Spline)**이 계산적으로 불안정했던 문제를 해결한 개선된 기법
    • 특히, Truncated Power Basis에서는 다항식들이 서로 강하게 상관관계가 있어 행렬의 역행렬 계산 시 불안정성이 발생
    • 예를 들어, HTH^T H의 행렬식(determinant)이 0에 가까워지면 역행렬을 구할 수 없음
  • 해결 방법:
    • B-스플라인은 각 구간(Interval)에서만 활성화되는 지역적(Local) 특성을 가짐
    • 특정 구간을 벗어나면 0이 되어 계산이 단순해지고 불안정성이 감소


2. B-Spline 생성 과정

1) 노드(Knots) 설정:

  • 기본적으로 T개의 노드를 설정 -> 확장 노드(Augmented Knots) 생성

 

2) B-Spline Basis Functions 정의:

3) Smoother Matrix (H):

  • B-스플라인으로 생성된 예측 값은 H 매트릭스에 의해 결정됨
  • 예측 값은 다음과 같이 계산됨
$$ \hat{y} = H y $$ 여기서 $$ H = B(B^T B)^{-1} B^T $$ H는 대칭(Symmetric)이고 멱등(Idempotent)이다.

 

4) 자유도 (Degrees of Freedom): B-Spline의 자유도는 Smoother Matrix (H)의 Trace(대각 원소의 합)로 계산됨

 


 

 

Reference

Hastie, T., Tibshirani, R., and Friedman, J., (2009) The Elements of Statistical Learning. Springer Series in Statistics Springer New York Inc., New York, NY, USA.