FDA 4.3~4.4 — 함수 회귀의 어려움과 기저 전개를 통한 추정

무한차원 다공선성, 모집단 적분 방정식의 해 부재, 그리고 가장 직관적 우회로

Kokoszka & Reimherr (2017) Ch.4의 §4.3과 §4.4를 상세히 다룬다. §4.3에서는 표준 다중 회귀가 함수 환경에서 무엇 때문에 깨지는지를 — 모집단 적분 방정식 C_X(β) = c_XY 의 해 부재, 무한차원 다공선성, 절단된 시점 회귀의 한계 — 분석한다. §4.4에서는 가장 직관적 해법인 기저 전개 추정의 수학적 정식화, K 선택, 절단 오차로 인한 편향 분석, 일치성을 위한 K(N)→∞ 가정의 의미를 다룬다.

Statistics
Functional Data Analysis
저자

Kwangmin Kim

공개

2026년 05월 07일

1 이 포스트의 위치

./4-1-examples-and-regression-review.qmd 에서 표준 다중 회귀의 LS framework — 정규방정식, 정사영, 일치성 — 를 복습했다. 이 포스트는 그 framework를 함수 환경으로 옮길 때 무엇이 깨지는지(§4.3)와, 가장 직관적 우회로(§4.4)를 본다.

§4.2 표준 LS 회귀
    ↓ 함수 일반화 시도
§4.3 어려움 노출
    - 무한차원 다공선성
    - 모집단 적분 방정식 C_X(β) = c_XY 의 해 부재
    - 시점 절단의 한계
    ↓ 우회로 필요
§4.4 기저 전개 추정 (가장 단순)
    - β(t) = Σ c_k B_k(t)
    - 표준 LS 회귀로 환원
    - 절단 오차 → 편향
    - 일치성 위해 K(N)→∞ 가정

핵심 메시지: 무한차원 모수의 추정은 추가 제약 없이는 불가능하다. 기저 전개는 가장 직관적이지만 가장 자의적인 제약 부과 방식이다.


2 함수 회귀를 표준 회귀와 구별짓는 두 질문

2.1 질문 1: \(\widehat{\beta}\) 가 정확하기만 하면 충분한가?

표준 다중 회귀에서 추정량 \(\widehat{\boldsymbol{\beta}}\) 의 평가는 단순하다 — 평균제곱오차가 작으면 좋은 추정량이다.

함수 회귀는 다르다. Kokoszka는 추정량이 만족해야 할 두 가지 별도 기준을 강조한다 (Kokoszka & Reimherr, 2017, §4.3):

  1. 수치적 정확성: \(\widehat{\beta}(t)\) 가 참 \(\beta(t)\) 에 가깝다.
  2. 해석 가능성: \(\widehat{\beta}(t)\) 의 모양이 의미 있는 패턴(매끄러움·국소 봉우리 등)을 보인다.

순수 수학적으로 첫 번째 기준만 충족해도, 거칠고 진동하는 \(\widehat{\beta}(t)\) 는 실용적 가치가 없다. 물리적·임상적 해석을 줄 수 없기 때문이다.

2.2 무엇이 결정적인가

기준 표준 회귀 함수 회귀
수치적 정확성 핵심 필요 조건
해석 가능성 자동 (계수가 곧 의미) 별도 강제 필요

함수 회귀의 추정 방법론은 모두 “해석 가능한 부드러움을 강제” 하는 장치를 내장한다. 이것이 표준 회귀와의 근본적 차이이며, 모든 추정 접근(기저 전개·거칠기 벌점·FPCA)의 공통 동기이다.

2.3 비유: 의료 영상의 화질 vs 진단 가능성

거친 의료 영상은 픽셀 단위로 정확해도 진단에 쓰기 어렵다 — 잡음 사이에 병변이 묻혀 의사가 패턴을 읽을 수 없다. 부드럽게 처리한 영상은 픽셀 정확도가 약간 떨어지더라도 진단 가능성이 높다. 함수 회귀의 매끄러움 강제도 같은 맥락이다.

2.4 질문 2: 왜 단순 LS가 작동하지 않는가

이것이 §4.3 본 절의 주제이다. 표준 회귀의 LS 추정량이 함수 환경에서 발산하는 이유를 세 가지 시각으로 분석한다.


3 어려움의 첫 시각: 모집단 적분 방정식

3.1 표준 회귀의 모집단 시각 복습

표준 다중 회귀 \(Y = \sum_k \beta_k X_k + \varepsilon\) 의 모집단 정규방정식은 (§4.2 마지막 부분):

\[ \boldsymbol{\beta} = \mathbf{C}_X^{-1} \mathbf{C}_{XY}, \]

여기서 \(\mathbf{C}_X = E[\mathbf{X}\mathbf{X}^T]\), \(\mathbf{C}_{XY} = E[\mathbf{X} Y]\).

이 식이 의미가 있으려면 \(\mathbf{C}_X\) 가 가역이어야 한다 — 즉 회귀자들이 선형 독립이어야 한다 (Kokoszka & Reimherr, 2017, §4.3). 표준 회귀에서는 흔한 가정이다 — 다공선성이 있으면 일부 변수를 제거하면 된다.

3.2 함수 회귀의 모집단 정규방정식

스칼라-on-함수 회귀 \(Y = \int \beta(s) X(s) \, ds + \varepsilon\) 에서 동일 도출을 시도한다. 기댓값 평균제곱오차 \(R(\beta) = E(Y - \int \beta(s) X(s) \, ds)^2\) 를 최소화하는 \(\beta\) 는, \(X\)\(\varepsilon\) 의 독립성 하에서:

정리: 함수 회귀의 모집단 정규방정식

\[ c_{XY}(t) = \int c_X(t, s) \beta(s) \, ds, \quad t \in [0, 1]. \]

여기서:

  • \(c_X(t, s) = E[X(t) X(s)]\): \(X\) 의 공분산 함수
  • \(c_{XY}(t) = E[X(t) Y]\): cross-covariance 함수

이는 §3.3의 적분 연산자 언어로:

\[ C_X(\beta) = c_{XY}, \quad \therefore \quad \beta = C_X^{-1}(c_{XY}). \]

행렬 곱이 적분 변환으로, 행렬 역이 연산자 역으로 일반화된 것이다.

3.3 도출 스케치

\(R(\beta) = E[Y^2] - 2 E[Y \int \beta X \, dt] + E[(\int \beta X \, dt)^2]\). 함수 모수 \(\beta\) 에 대한 변분을 0으로 두면 (\(\beta + \alpha h\) 의 형태로 \(\alpha\) 변분):

\[ \frac{\partial R}{\partial \alpha}\bigg|_{\alpha = 0} = -2 E[Y \int h(t) X(t) \, dt] + 2 E[\int \beta(s) X(s) \, ds \int h(t) X(t) \, dt] = 0. \]

이를 정리하면:

\[ E[Y \int h X \, dt] = E[\int \beta(s) X(s) \, ds \int h(t) X(t) \, dt], \]

\[ \int h(t) c_{XY}(t) \, dt = \int h(t) \left[\int c_X(t, s) \beta(s) \, ds\right] dt. \]

이 식이 임의의 \(h\) 에 대해 성립해야 하므로:

\[ c_{XY}(t) = \int c_X(t, s) \beta(s) \, ds. \]

3.4 무한 방정식 시스템으로의 시각

\(c_{XY}(t) = \int c_X(t, s) \beta(s) \, ds\) 는 모든 \(t \in [0, 1]\) 에서 동시에 성립해야 한다. 이를 이산화 (\(t_1, t_2, \ldots, t_J\)) 하면 \(J\) 개의 선형 방정식이 되고, \(J \to \infty\) 에서 무한 방정식 시스템이 된다.

비유: 공간을 \(J\) 개 격자로 나눠 각 격자에서 한 방정식을 세우는 것과 같다. \(J\) 가 작으면 정보가 부족(과대 자유도), \(J\) 가 크면 격자가 거의 같은 정보를 반복(다공선성). 어느 쪽이든 단순 LS는 작동하지 않는다.

3.5 적분 방정식의 두 가지 해석 방식

이 방정식을 어떻게 풀지에 대한 두 가지 시각이 §4.4~§4.6의 추정 접근으로 직접 이어진다.

시각 접근
\(\beta\) 를 매끄러운 함수로 가정 기저 전개 또는 거칠기 벌점 §4.4, §4.5
\(C_X\) 의 스펙트럼 분해 활용 FPCA 회귀 §4.6

4 어려움의 두 번째 시각: \(C_X^{-1}\) 의 부재

4.1 스펙트럼 분해로 본 연산자 역

§3.3에서 본 공분산 연산자의 스펙트럼 분해:

\[ C_X(x) = \sum_{j=1}^{\infty} \lambda_j \langle x, v_j \rangle v_j. \]

만약 \(C_X^{-1}\) 가 존재한다면 형식적으로:

\[ C_X^{-1}(x) = \sum_{j=1}^{\infty} \frac{1}{\lambda_j} \langle x, v_j \rangle v_j. \]

그러나 공분산 연산자가 Hilbert-Schmidt이므로 \(\sum_j \lambda_j^2 < \infty\). 이는 \(\lambda_j \to 0\) 을 의미한다. 따라서 \(1/\lambda_j \to \infty\).

4.2 발산의 정확한 의미

\(C_X^{-1}\) 의 적용을 어떤 \(x \in L^2\) 에 시도하면:

\[ \|C_X^{-1}(x)\|^2 = \sum_{j=1}^{\infty} \frac{|\langle x, v_j \rangle|^2}{\lambda_j^2}. \]

\(x\) 가 모든 주방향에 nonzero 성분을 가지면 (대부분의 함수가 그렇다), 작은 \(\lambda_j\) 가 분모에 들어가 합이 발산한다. 즉 \(C_X^{-1}(x)\)\(L^2\) 의 원소가 아니다.

4.3 직관

다변량 PCA에서 작은 고유값을 가진 방향은 “거의 일정한 방향” 이다. 회귀자의 그 방향에 대한 변동이 거의 0이므로, 그 방향의 회귀 계수가 자료에서 거의 결정되지 않는다. 작은 변동 / 더 작은 변동 = 큰 비율 = 큰 분산.

함수에서는 이 작은 고유값이 무한히 많이 있다 (\(\lambda_j \to 0\)). 따라서 변수 제거로 해결되지 않는다.

4.4 비유: 거의 일정한 신호

거의 일정한 라디오 신호(잡음만 약간 있음)에서 그 신호의 정확한 평균값을 추정하기는 어렵다. 측정마다 비슷한 값만 나오므로, 표본 평균이 어디로 수렴할지 분산이 매우 크다. 이것이 작은 \(\lambda_j\) 방향의 회귀 추정 어려움이다.

함수 회귀의 모든 접근법은 결국 “작은 \(\lambda_j\) 방향의 영향을 어떻게 통제할 것인가” 의 문제이다:

접근 작은 \(\lambda_j\) 처리
기저 전개 결정적 부분공간으로 사영 → 작은 \(\lambda_j\) 방향 일부 자동 제거
거칠기 벌점 비례 축소 (\(\lambda_j / (\lambda_j + \lambda)\))
FPCA 회귀 \(K\) 개만 명시적 절단

5 어려움의 세 번째 시각: 무한차원 다공선성

5.1 모형의 이산화

스칼라-on-함수 회귀 \(Y_i = \int \beta(t) X_i(t) \, dt + \varepsilon_i\)\(J\) 개 시점 \(t_1, \ldots, t_J\) 에서 이산화하면:

\[ Y_i \approx \sum_{j=1}^{J} \beta(t_j) X_i(t_j) + \varepsilon_i. \]

이는 표준 다중 회귀처럼 보인다. 회귀자 행렬:

\[ \mathbf{X} = [X_i(t_j)]_{i, j} \in \mathbb{R}^{N \times J}. \]

5.2 다공선성의 본질

\(\mathbf{X}\) 의 인접 열 \(\mathbf{X}(t_j) = [X_1(t_j), \ldots, X_N(t_j)]^T\)\(\mathbf{X}(t_{j+1})\) 을 보자. 곡선이 매끄러우면:

\[ X_i(t_j) \approx X_i(t_{j+1}) \quad \text{for all } i = 1, \ldots, N. \]

따라서 두 열이 거의 같다 — 자동적 다공선성.

5.3 표준 다공선성과의 차이

측면 표준 다공선성 함수 다공선성
원인 우연한 중복 (예: 키 = $a $ 신장) 본질적 (인접 시점 평활성)
해결책 변수 제거 / 결합 곡선 일부 제거는 정보 손실
정도 일부 변수 쌍에 국한 모든 인접 시점
수치적 효과 \(\mathbf{X}^T\mathbf{X}\) ill-conditioned \(\mathbf{X}^T\mathbf{X}\) rank deficient

5.4 두 회귀자의 분산 폭발

\(N \times 2\) 회귀로 단순화해 다공선성을 정량화하자. 회귀자 두 개의 표본 상관 \(r\) 일 때 (Kokoszka & Reimherr, 2017, §4.3):

\[ \text{Var}[\widehat{\beta}_1] = \frac{\sigma_\varepsilon^2}{(1 - r^2) s_1^2}, \]

여기서 \(s_1^2 = \sum_i x_{i1}^2\). \(r \to 1\) 이면 분산이 발산한다.

함수 회귀에서는 \(r \to 1\) 이 인접 시점 사이에서 자동적으로 발생한다 — 곡선이 매끄러우면 \(\text{Cor}(X_i(t), X_i(t+\varepsilon)) \to 1\) as \(\varepsilon \to 0\). 분산 폭발이 본질적이다.

5.5 단순 변수 제거가 실패하는 이유

표준 다공선성은 강한 상관을 가진 두 변수 중 하나를 제거하면 해결된다. 함수 환경에서는:

  • \(X(t_1)\)\(X(t_2)\) 가 강하게 상관 → \(X(t_2)\) 를 제거?
  • \(X(t_2)\)\(X(t_3)\) 가 강하게 상관 → \(X(t_3)\) 도 제거?
  • ⋯ 거의 모든 시점이 제거되어 정보가 완전히 사라진다.

곡선의 일부 시점만 끊어내는 것은 의미 없다. 곡선의 형태 자체 가 정보이기 때문이다.

5.6 비유: 사진의 픽셀 제거

100만 픽셀 사진에서 인접 픽셀이 비슷하다고 매번 한 픽셀씩 건너뛰며 보면, 결국 그림이 사라진다. 이미지의 본질은 픽셀 하나가 아니라 픽셀들 사이의 패턴이다. 함수 회귀도 동일 — 시점 하나가 아니라 곡선의 패턴이 정보의 단위이다.

5.7 다공선성 해결의 통계적 도구

표준 다중 회귀에서 다공선성에 대한 해결책 두 가지가 함수 회귀의 추정 접근으로 직접 일반화된다.

표준 회귀 함수 회귀 일반화
Ridge 회귀 (\(\boldsymbol{\beta} = (\mathbf{C}_X + \lambda \mathbf{I})^{-1} \mathbf{C}_{XY}\)) 거칠기 벌점 (§4.5)
주성분 회귀 (PCR) FPCA 회귀 (§4.6)

§4.4의 기저 전개 추정은 다공선성 자체를 직접 처리하지 않고, 회귀 모수의 차원을 줄여 우회하는 접근이다.


6 기저 전개 추정의 핵심 아이디어

6.1 모수 함수의 유한 표현

§4.4에서 가장 직관적 우회로를 시도한다. 무한차원 함수 \(\beta\)\(K\) 개 기저 함수로 전개:

\[ \beta(t) = \sum_{k=1}^{K} c_k B_k(t). \]

여기서:

  • \(B_k\): 미리 선택한 결정적 기저 함수 (Fourier, B-spline 등)
  • \(c_k \in \mathbb{R}\): 추정해야 할 유한 모수
  • \(K\): 기저 함수 수 (조절 모수)

이 전개를 모형에 대입하면 적분이 유한 합으로 환원된다.

6.2 표준 회귀로의 환원

회귀 모형:

\[ Y_i = \alpha + \int \beta(t) X_i(t) \, dt + \varepsilon_i. \]

기저 전개를 대입:

\[ \int \beta(t) X_i(t) \, dt = \int \left[\sum_{k=1}^{K} c_k B_k(t)\right] X_i(t) \, dt = \sum_{k=1}^{K} c_k \underbrace{\int B_k(t) X_i(t) \, dt}_{x_{ik}}. \]

새로운 회귀자 정의:

\[ x_{ik} := \int B_k(t) X_i(t) \, dt, \quad i = 1, \ldots, N, \; k = 1, \ldots, K. \]

모형이 표준 다중 회귀로 환원:

\[ Y_i = \alpha + \sum_{k=1}^{K} c_k x_{ik} + \varepsilon_i. \]

6.3 LS 추정

행렬 표기에서 \(\mathbf{X}\) 에 절편 열 추가:

\[ \mathbf{X} = \begin{bmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1K} \\ 1 & x_{21} & x_{22} & \cdots & x_{2K} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{N1} & x_{N2} & \cdots & x_{NK} \end{bmatrix}, \quad \mathbf{c} = (\alpha, c_1, c_2, \ldots, c_K)^T. \]

LS 추정량:

\[ \widehat{\mathbf{c}} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}. \]

회귀 함수 추정량:

\[ \widehat{\beta}(t) = \sum_{k=1}^{K} \widehat{c}_k B_k(t). \]

6.4 직관: 무한차원을 유한차원에 사영

기저 전개 추정의 본질은 “무한차원 \(\beta\) 가 살 수 있는 \(L^2\) 공간을 \(K\) 차원 부분공간으로 좁힘” 이다. 이 부분공간은 \(\text{span}\{B_1, \ldots, B_K\}\) 이며, 그 안에서는 표준 LS가 다시 작동한다.

비유: 무한차원의 야생 동물을 \(K\) 차원 우리 안에 가두어, 안전한 환경에서 다루는 것이다. 우리의 크기 (\(K\)) 와 모양 (기저 종류)이 결과를 결정한다.

6.5 새 회귀자 \(x_{ik}\) 의 의미

\(x_{ik} = \int B_k(t) X_i(t) \, dt = \langle B_k, X_i \rangle\) 는 “\(X_i\)\(B_k\) 방향 성분” 이다. 즉 곡선 \(X_i\) 를 기저 \(B_k\) 에 사영한 좌표.

표준 회귀 기저 전개 회귀
회귀자 = 측정값 \(x_i\) 회귀자 = 사영 좌표 \(\langle B_k, X_i \rangle\)
차원 = 변수 수 \(p\) 차원 = 기저 수 \(K\)
모수 \(\beta_k\) 가 직접 의미 모수 \(c_k\)\(\beta(t)\) 의 기저 좌표

6.6 회귀자 행렬의 다공선성 약화

원래 \(\mathbf{X}\) 행렬 (이산화한 시점 측정)은 인접 시점 다공선성으로 거의 특이행렬이다. 새 행렬 (사영 좌표)은 다공선성이 약하다 — 기저 함수가 서로 다르므로 (특히 정규직교이면 거의 직교).

이것이 기저 전개의 숨은 효과 이다. 무한차원 다공선성 문제가 “기저 좌표 사이의 약한 상관” 으로 환원된다.


7 기저 함수와 \(K\) 의 선택

7.1 기저 함수 선택의 영향

기저 종류 적합한 데이터 \(\widehat{\beta}\) 의 특성
Fourier 주기적·매끄러운 매끄럽지만 국소 봉우리 표현 약함
B-spline 비주기적·국소 변동 국소 봉우리 잘 표현
Wavelet 불연속·다중해상도 거친 변화도 표현

기저 선택이 결과에 강하게 영향을 준다. Kokoszka는 “데이터 자체의 기저와 같은 종류 사용” 을 권장한다 — 회귀자 \(X_i\) 를 표현할 때 사용한 기저로 \(\beta\) 도 표현하면 일관성이 유지된다.

7.2 \(K\) 의 역할

\(K\) 는 추정량의 매끄러움을 직접 통제한다.

\(K\) 효과
작음 \(\widehat{\beta}\) 매우 매끄러움 → 편향 큼 (under-fit)
적절 균형
\(\widehat{\beta}\) 거침 → 분산 큼 (over-fit)

이는 비모수 회귀의 표준 편향-분산 트레이드오프의 함수 버전이다.

7.3 데이터 기반 \(K\) 선택

흔한 방법:

  1. AIC / BIC: 모형 적합도 + 모수 수 벌점.
  2. 교차 검증: 서로 다른 \(K\) 의 예측 성능 비교.
  3. 시각적 판단: 여러 \(K\)\(\widehat{\beta}\) 를 그려 비교.
  4. 사전 지식: 도메인이 매끄러움 정도를 시사 (예: 기후 데이터 → 큰 \(K\) 불필요).

Kokoszka는 “여러 \(K\) 로 실험하는 것이 항상 유용” 하다고 강조한다 (Kokoszka & Reimherr, 2017, §4.4) — 자동화된 \(K\) 선택이 항상 해석 가능한 결과를 주지는 않기 때문이다.

7.4 실용적 권장 범위

표본 크기 \(N\) 과 시점 수 \(J\) 에 대해:

  • \(K < J\) (회귀자 수가 시점 수보다 적어야 다공선성 완화)
  • \(K < N\) (모수 수가 표본 크기보다 적어야 LS 정의)
  • 일반적으로 \(K = 5 \sim 30\) 이 시작점 (B-spline)
  • Fourier는 데이터 매끄러움에 따라 \(K = 3 \sim 15\)

8 신뢰 구간

8.1 점별 신뢰 구간

기저 전개 추정에서 표준 LS 분산 공식이 적용된다:

\[ \text{Var}[\widehat{\mathbf{c}}] = \sigma_\varepsilon^2 (\mathbf{X}^T\mathbf{X})^{-1}. \]

\(k\) 번째 계수의 표준오차 \(\widehat{\sigma}_k\) 로부터, 점별 95% 신뢰구간:

\[ \sum_{k=1}^{K} \widehat{c}_k B_k(t) \pm 1.96 \sum_{k=1}^{K} \widehat{\sigma}_k B_k(t). \]

8.2 주의: 탐색적 도구

이 신뢰구간은 탐색적 으로만 유효하다 (Kokoszka & Reimherr, 2017, §4.4). 정확한 신뢰 진술은 계수 \(c_k\) 에만 가능하며, 함수 형태 \(\widehat{\beta}(t)\) 는 다음과 같은 해석적 모호성을 갖는다:

  1. 근사 오차: \(\beta(t) = \sum_{k=1}^K c_k B_k(t)\) 는 항등식이 아니라 근사.
  2. 다중 비교: \(t\) 마다 95% 신뢰구간이 동시에 95%이지 않다.
  3. 기저 의존성: 다른 기저로 같은 \(\beta\) 를 표현하면 다른 신뢰구간이 나온다.

동시 신뢰 밴드는 더 까다로우며 Bonferroni·permutation·bootstrap 방법으로 별도 구축한다 (Ch.12).


9 절단 오차와 편향 분석

9.1 진짜 \(\beta\) vs 유한 표현

이상적으로 \(\beta\) 는 무한 기저 전개로 정확히 표현된다:

\[ \beta(t) = \sum_{k=1}^{\infty} c_k B_k(t). \]

\(K\) 항까지 자르면 절단 오차 가 발생:

\[ \beta(t) = \underbrace{\sum_{k=1}^{K} c_k B_k(t)}_{\text{유한 표현}} + \underbrace{\sum_{k=K+1}^{\infty} c_k B_k(t)}_{\delta(t) \text{ (절단 오차)}}. \]

9.2 적합값에 대한 절단 오차의 영향

회귀의 적합값을 다시 보면:

\[ \int \beta(t) X_i(t) \, dt = \sum_{k=1}^{K} x_{ik} c_k + \int \delta(t) X_i(t) \, dt = \sum_{k=1}^{K} x_{ik} c_k + \delta_i. \]

여기서 \(\delta_i = \int \delta(t) X_i(t) \, dt\) 는 표본별 절단 오차 기여.

이로써 모형이 표준 회귀와 다음과 같이 다르다:

\[ \mathbf{Y} = \mathbf{X}\mathbf{c} + \boldsymbol{\delta} + \boldsymbol{\varepsilon}. \]

표준 회귀 모형 \(\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}\) 에는 없는 \(\boldsymbol{\delta}\) 항이 추가된다 — 이것이 함수 회귀와 표준 회귀의 결정적 차이이다.

9.3 LS 추정량의 편향

기저 전개 LS 추정량에 모형을 대입하면:

\[ \widehat{\mathbf{c}} = \mathbf{c} + (\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X}^T \boldsymbol{\delta} + (\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X}^T \boldsymbol{\varepsilon}. \]

표준 회귀에서는 마지막 항만 있고 (잡음), 절단 오차 항이 없다. 함수 회귀에서는:

결과: 기저 전개 LS 추정량은 편향됨

\[ E[\widehat{\mathbf{c}}] = \mathbf{c} + (\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X}^T E[\boldsymbol{\delta}]. \]

일반적으로 \(E[\boldsymbol{\delta}] \neq \mathbf{0}\), 따라서 \(\widehat{\mathbf{c}}\) 는 편향된다.

이는 표준 회귀의 LS 불편성 (\(E[\widehat{\boldsymbol{\beta}}] = \boldsymbol{\beta}\)) 이 함수 환경에서 깨짐을 보여준다. 가우스-마르코프 정리가 직접 적용되지 않는다.

9.4 편향의 발생 원인 직관

표준 회귀에서는 모형이 정확하다는 가정이다 — \(Y\) 가 진짜로 \(\sum \beta_k X_k + \varepsilon\) 의 형태. 함수 회귀에서는 기저 전개 자체가 근사이므로, 절단된 항이 적합값에서 제외되어 편향이 생긴다.

비유: 한 권의 책을 5장으로만 요약하면 5장 외의 내용은 빠진다. 빠진 내용이 우연히 다른 5장과 상관되어 있으면, 그 상관이 5장의 추정에 잘못 흡수된다 — 이것이 회귀 추정의 편향이다.

9.5 일치성을 위한 \(K = K(N) \to \infty\)

표준 회귀에서는 \(p\) 가 고정이므로 \(N \to \infty\) 에서 LS가 \(\boldsymbol{\beta}\) 로 수렴한다. 함수 회귀에서는 \(K\) 가 고정이면 절단 오차가 영영 제거되지 않으므로 일치성이 깨진다.

정리: 일치성 조건

기저 전개 LS 추정량 \(\widehat{\beta}_K(t) = \sum_{k=1}^K \widehat{c}_k B_k(t)\) 가 일치하려면:

\[ K = K(N) \to \infty \quad \text{as} \quad N \to \infty. \]

추가로 \(K\) 의 증가율과 \(c_k\) 의 감소율(매끄러움)에 조건이 필요하다.

9.6 \(K\)\(N\) 의 균형

\(K\) 가 너무 빨리 증가하면 분산이 커져 일치성이 깨진다. 너무 느리면 편향이 남는다. 최적 비율은 \(\beta\) 의 매끄러움(즉 \(c_k\) 의 감소 속도)에 의존한다.

전형적 결과 (도메인에 따라 다름): \(K \asymp N^{1/(2r+1)}\), 여기서 \(r\)\(\beta\) 의 매끄러움 차수. 표준 회귀의 \(p\) 고정 환경과 본질적으로 다르다.

9.7 비유: 망원경의 배율

별을 관측할 때 너무 낮은 배율로 보면 별이 점에 가깝게 보여 정밀도가 떨어진다(편향). 너무 높은 배율로 보면 대기 흔들림이 증폭되어 흐릿해진다(분산). 적절한 배율이 망원경 해상도와 대기 조건에 따라 결정된다. \(K\) 도 같은 원리 — 표본 크기와 함수 매끄러움에 따라 적절히 조정해야 한다.


10 R 코드: 기저 전개 추정 시연

10.1 가솔린 데이터에 적용

library(refund)

# 데이터 로드
data(gasoline)
X_curves <- gasoline$NIR     # 60 x 401
Y_octane <- gasoline$octane  # 60
N <- nrow(X_curves)
J <- ncol(X_curves)
tgrid <- as.numeric(colnames(X_curves))
tgrid_norm <- (tgrid - min(tgrid)) / (max(tgrid) - min(tgrid))

# 1. 기저 함수 정의 (B-spline, K=10)
library(fda)
K <- 10
basis <- create.bspline.basis(rangeval = c(0, 1), nbasis = K, norder = 4)

# 2. 새 회귀자 계산: x_ik = ∫ B_k(t) X_i(t) dt
B_eval <- eval.basis(tgrid_norm, basis)   # 401 x K

# 사다리꼴 적분으로 ∫ B_k(t) X_i(t) dt 근사
dt <- diff(tgrid_norm)
trapz_weights <- c(dt[1]/2, (dt[-length(dt)] + dt[-1])/2, dt[length(dt)]/2)

X_basis <- X_curves %*% diag(trapz_weights) %*% B_eval   # 60 x K

# 3. 표준 LS
fit <- lm(Y_octane ~ X_basis)
c_hat <- coef(fit)   # 절편 + K개 계수

# 4. β(t) 재구성
alpha_hat <- c_hat[1]
beta_coefs <- c_hat[-1]
beta_hat_grid <- B_eval %*% beta_coefs

# 5. 시각화
plot(tgrid_norm, beta_hat_grid, type = "l", lwd = 2,
     xlab = "Wavelength (normalized)",
     ylab = expression(hat(beta)(t)),
     main = paste0("Basis expansion estimate (K=", K, ")"))
abline(h = 0, lty = 2, col = "grey")

10.2 \(K\) 의 영향 비교

# K = 5, 10, 20, 30 비교
K_values <- c(5, 10, 20, 30)
par(mfrow = c(2, 2))

for (K in K_values) {
  basis <- create.bspline.basis(rangeval = c(0, 1), nbasis = K, norder = 4)
  B_eval <- eval.basis(tgrid_norm, basis)
  X_basis <- X_curves %*% diag(trapz_weights) %*% B_eval
  fit <- lm(Y_octane ~ X_basis)
  beta_hat_grid <- B_eval %*% coef(fit)[-1]

  plot(tgrid_norm, beta_hat_grid, type = "l", lwd = 2,
       xlab = "t", ylab = expression(hat(beta)(t)),
       main = paste0("K = ", K, ", R² = ",
                     round(summary(fit)$r.squared, 3)))
  abline(h = 0, lty = 2, col = "grey")
}

관찰:

  • \(K = 5\): 매우 매끄러우나 세부 패턴 손실 (under-fit)
  • \(K = 10\): 균형
  • \(K = 20\): 미세 진동 시작
  • \(K = 30\): 과적합 — 잡음 패턴까지 학습

10.3 교차 검증으로 \(K\) 선택

# Leave-one-out CV로 K 선택
K_grid <- 3:30
cv_errors <- numeric(length(K_grid))

for (i in seq_along(K_grid)) {
  K <- K_grid[i]
  basis <- create.bspline.basis(rangeval = c(0, 1), nbasis = K, norder = 4)
  B_eval <- eval.basis(tgrid_norm, basis)
  X_basis <- X_curves %*% diag(trapz_weights) %*% B_eval

  preds <- numeric(N)
  for (n in seq_len(N)) {
    fit_loo <- lm(Y_octane[-n] ~ X_basis[-n, ])
    preds[n] <- as.numeric(c(1, X_basis[n, ]) %*% coef(fit_loo))
  }

  cv_errors[i] <- mean((Y_octane - preds)^2)
}

# 최적 K
K_opt <- K_grid[which.min(cv_errors)]
cat("Optimal K (CV):", K_opt, "\n")

plot(K_grid, cv_errors, type = "b", pch = 19,
     xlab = "K (number of basis functions)",
     ylab = "LOOCV MSE",
     main = "K selection by leave-one-out CV")
abline(v = K_opt, lty = 2, col = "red")

10.4 신뢰 구간 시각화

K <- K_opt
basis <- create.bspline.basis(rangeval = c(0, 1), nbasis = K, norder = 4)
B_eval <- eval.basis(tgrid_norm, basis)
X_basis <- X_curves %*% diag(trapz_weights) %*% B_eval
fit <- lm(Y_octane ~ X_basis)

# 계수 분산
vcov_c <- vcov(fit)[-1, -1]   # 절편 제외 K x K
beta_grid_var <- diag(B_eval %*% vcov_c %*% t(B_eval))
se_grid <- sqrt(beta_grid_var)

beta_hat_grid <- B_eval %*% coef(fit)[-1]

# 95% 점별 신뢰구간
plot(tgrid_norm, beta_hat_grid, type = "l", lwd = 2,
     ylim = range(c(beta_hat_grid - 1.96 * se_grid,
                    beta_hat_grid + 1.96 * se_grid)),
     xlab = "t", ylab = expression(hat(beta)(t)),
     main = "Basis expansion estimate with pointwise 95% CI")
lines(tgrid_norm, beta_hat_grid - 1.96 * se_grid, lty = 2, col = "blue")
lines(tgrid_norm, beta_hat_grid + 1.96 * se_grid, lty = 2, col = "blue")
abline(h = 0, lty = 3, col = "grey")

해석 시 주의: 점별 신뢰구간이 0을 포함하지 않는 구간은 “그 시점에서 회귀 함수가 0과 유의하게 다름” 을 시사한다. 그러나 다중 비교를 보정하지 않은 점별 구간이므로 함수 전체에 대한 동시 유의성을 주장할 수는 없다.


11 정리

11.1 §4.3 어려움의 핵심

  1. 모집단 적분 방정식: \(C_X(\beta) = c_{XY}\) 의 해는 \(\beta = C_X^{-1}(c_{XY})\), 그러나 \(C_X^{-1}\) 가 무한차원에서 존재하지 않는다.
  2. 무한차원 다공선성: 매끄러운 곡선의 인접 시점이 거의 같으므로 \(\mathbf{X}^T\mathbf{X}\) 가 자동으로 ill-conditioned.
  3. 표준 LS 환원 불가: 시점 절단은 정보 손실, 모든 시점 사용은 특이행렬.

해결책 — \(\beta\) 의 형태에 추가 제약을 부과 하여 무한차원 자유도를 줄인다.

11.2 §4.4 기저 전개 추정의 핵심

  1. 유한 표현: \(\beta(t) = \sum_{k=1}^K c_k B_k(t)\)\(\beta\)\(K\) 차원 부분공간에 가둠.
  2. 회귀 환원: 새 회귀자 \(x_{ik} = \langle B_k, X_i \rangle\), 모형이 표준 다중 회귀가 됨.
  3. LS 추정: \(\widehat{\mathbf{c}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{Y}\).
  4. 편향: 절단 오차로 LS 추정량이 편향됨 (표준 회귀와 결정적 차이).
  5. 일치성: \(K = K(N) \to \infty\) 가정 필요 + \(K\)\(N\) 의 균형.
  6. 자의성: 기저 종류와 \(K\) 가 결과에 강하게 영향, CV 등으로 자동화 가능하나 시각적 검토 필수.

11.3 다음 절의 미리보기

§4.5 거칠기 벌점은 \(K\) 를 매우 크게 잡되 거친 \(\widehat{\beta}\) 에 벌점을 부과한다 — “\(K\) 의 자의성을 매끄러움 모수 \(\lambda\) 의 자의성으로 옮긴” 형태이지만, \(\lambda\) 의 데이터 기반 선택(CV·REML) 이 더 발달되어 있다.

§4.6 FPCA 회귀는 결정적 기저 대신 데이터 기반 기저 (KL 전개의 EFPC) 를 사용한다. 작은 고유값 방향이 자동으로 절단되어 다공선성이 자연 해결된다.


12 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

Enjoy this blog? Get notified of new posts by email: