FDA 4.5~4.6 — 거칠기 벌점 추정과 FPCA 회귀

정칙화로 무한차원을 길들이는 두 가지 길: 매끄러움 벌점과 데이터 기반 부분공간

Kokoszka & Reimherr (2017) Ch.4의 §4.5와 §4.6을 상세히 다룬다. §4.5에서는 거칠기 벌점화 손실 PSS, 미분 연산자 L의 역할, 벌점 행렬 R의 구성, 행렬 형태의 명시적 해 (X’X + λR)^{-1} X’Y, 교차 검증·REML을 통한 λ 선택을 다룬다. §4.6에서는 FPCA 회귀의 핵심 — 추정 EFPC를 회귀자로 사용하는 방식, p 선택의 CPV 기준, 데이터 기반 기저의 통계적 미묘함, 그리고 Ridge·기저 전개 추정과의 통합 시각을 제공한다.

Statistics
Functional Data Analysis
저자

Kwangmin Kim

공개

2026년 05월 07일

1 이 포스트의 위치

./4-2-difficulties-basis-expansion.qmd 에서 함수 회귀의 본질적 어려움을 분석하고, 가장 직관적 우회로(기저 전개)의 한계를 보았다.

기저 전개의 두 가지 약점:

  1. \(K\) 의 자의성: \(K\) 가 결과에 결정적 영향을 주지만 데이터로부터 자동 결정이 어렵다.
  2. 이산적 절단: 기저 함수가 \(K\) 개로 끊어지면, 거기서 표현할 수 없는 매끄러움 정보가 통째로 사라진다.

이 포스트가 다루는 두 추정 접근은 이 약점을 정면 돌파한다.

§4.5 거칠기 벌점
    ↓ K를 매우 크게 잡되 거친 β를 벌점한다
    ↓ 매끄러움 모수 λ가 자동 통제
정칙화의 연속 양식

§4.6 FPCA 회귀
    ↓ 결정적 기저 대신 데이터 자체의 EFPC 사용
    ↓ 작은 λ_j 방향이 자동 절단됨
정칙화의 데이터 기반 양식

핵심 메시지: 기저 전개·거칠기 벌점·FPCA 회귀는 모두 같은 원리(무한차원의 정칙화)의 서로 다른 표현이다. 차이는 “어디에 무엇을 가정하는가” 의 위치이다.


2 거칠기 벌점의 핵심 아이디어

2.1 출발점: 매끄러움을 벌점으로 강제

기저 전개에서 \(K\) 의 역할은 두 가지였다 — 표현력 통제와 매끄러움 통제. 이 둘을 분리한다면?

§4.5의 핵심: \(K\)매우 크게 잡되 (예: 시점 수와 동일), 거친 추정량에 별도 벌점을 부과한다. 이로써:

  • \(K\) 의 자의성 → 매끄러움 모수 \(\lambda\) 의 자의성으로 옮김.
  • 그러나 \(\lambda\) 는 데이터로부터 자동 선택이 잘 발달되어 있다 (CV, GCV, REML).

2.2 벌점화 손실

정의: 거칠기 벌점 손실

\[ P_\lambda(\alpha, \beta) = \sum_{i=1}^{N} \left(Y_i - \alpha - \int \beta(t) X_i(t) \, dt\right)^2 + \lambda \int [(L\beta)(t)]^2 \, dt. \]

  • 첫째 항: 표준 잔차 제곱합 (적합도)
  • 둘째 항: 거칠기 벌점 — \(L\) 은 미분 연산자, \(\lambda \geq 0\) 은 매끄러움 모수

\(L\) 의 가장 흔한 선택:

\[ (L\beta)(t) = \beta''(t) \quad \text{(2차 미분)}. \]

이 경우 벌점은 \(\int (\beta'')^2 \, dt\) — “가속도가 큰 함수에 벌점” 이다. 직선은 가속도가 0이므로 벌점 0, 급격히 굽는 곡선은 큰 벌점.

2.3 직관: 적합도와 매끄러움의 줄다리기

\(\lambda\) 가 두 항의 균형을 결정한다.

\(\lambda\) 효과 결과
\(\lambda = 0\) 벌점 없음 \(K\) 가 큰 LS — 데이터에 과적합, 거친 \(\widehat{\beta}\)
\(\lambda\) 작음 약한 벌점 약간 평활
\(\lambda\) 적절 균형 부드럽고 데이터를 따름
\(\lambda\) 강한 벌점 과평활 (직선에 가까움)
\(\lambda \to \infty\) 벌점 지배 \(L\beta = 0\) 의 해 — \(L = D^2\) 이면 직선

비유: \(\lambda\) 는 “고무줄의 장력” 이다. 장력 0이면 줄이 데이터 점 하나하나를 따라 꼬불꼬불 휘고, 장력이 무한대이면 팽팽하게 직선으로 펴진다. 적절한 장력에서 줄은 데이터의 전체 흐름을 따르면서 잡음에는 반응하지 않는다.

2.4 벌점 연산자의 다른 선택

\(L\) 의 형태가 어떤 함수가 “거친” 것으로 간주되는지를 결정한다.

\(L\) 벌점 보존되는 함수 (벌점 0)
\(L = D^0 = I\) \(\int \beta^2\) 항등 0 (Ridge 풍)
\(L = D\) (1차 미분) \(\int (\beta')^2\) 상수 함수
\(L = D^2\) \(\int (\beta'')^2\) 직선 (가장 흔함)
\(L = D^4\) \(\int (\beta'''')^2\) 3차 다항식
조화 가속 (\(\omega^2 D + D^3\)) 주기 신호 보존 기본 주기 sin/cos

L의 선택은 도메인 지식의 반영이다. 기후 데이터처럼 주기성이 강한 신호는 조화 가속 연산자가 적절하고, 일반적 곡선은 2차 미분이 표준이다.


3 벌점화 손실의 행렬 표현

3.1 기저 전개 대입

\(K\) 개 기저로 \(\beta(t) = \sum_{k=1}^K c_k B_k(t)\) 를 가정하면, 벌점 항이 명시적으로 다뤄진다:

\[ \int [(L\beta)(t)]^2 \, dt = \int \left[\sum_{k=1}^K c_k (LB_k)(t)\right]^2 dt = \sum_{k,k'} c_k c_{k'} \underbrace{\int (LB_k)(t)(LB_{k'})(t) \, dt}_{R_{kk'}}. \]

정의: 벌점 행렬 (Penalty Matrix)

\[ \mathbf{R} = [R_{kk'}]_{k, k'=1}^K, \quad R_{kk'} = \int (LB_k)(t)(LB_{k'})(t) \, dt. \]

이 행렬은 기저만으로 결정되며 데이터에 의존하지 않는다. 한 번 계산하면 모든 \(\lambda\) 에 대해 재사용 가능.

3.2 벌점화 손실의 명시적 닫힌 형태

기저 전개 변수 \(\mathbf{c} = (\alpha, c_1, \ldots, c_K)^T\) 와 행렬 \(\mathbf{X}\) (\(N \times (K+1)\), 절편 열 포함) 를 사용하면:

\[ P_\lambda(\mathbf{c}) = \|\mathbf{Y} - \mathbf{X}\mathbf{c}\|^2 + \lambda \mathbf{c}^T \widetilde{\mathbf{R}} \mathbf{c}, \]

여기서 \(\widetilde{\mathbf{R}}\) 은 절편을 위한 0 행·열을 추가한 \((K+1) \times (K+1)\) 확장 벌점 행렬:

\[ \widetilde{\mathbf{R}} = \begin{bmatrix} 0 & 0 & \cdots & 0 \\ 0 & R_{11} & \cdots & R_{1K} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & R_{K1} & \cdots & R_{KK} \end{bmatrix}. \]

(절편에는 벌점을 부과하지 않으므로 첫 행·열이 0.)

3.3 벌점화 LS의 명시적 해

\(P_\lambda(\mathbf{c})\)\(\mathbf{c}\) 에 대해 미분하여 0으로 두면:

\[ -2\mathbf{X}^T(\mathbf{Y} - \mathbf{X}\mathbf{c}) + 2\lambda \widetilde{\mathbf{R}} \mathbf{c} = \mathbf{0}. \]

정리:

정리: 거칠기 벌점 추정량

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

회귀 함수 추정량:

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

3.4 Ridge 회귀와의 일대일 대응

이 형태는 Ridge 회귀의 일반화 이다.

추정량 형태
표준 LS \((\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}\)
Ridge \((\mathbf{X}^T\mathbf{X} + \lambda \mathbf{I})^{-1} \mathbf{X}^T \mathbf{Y}\)
거칠기 벌점 \((\mathbf{X}^T\mathbf{X} + \lambda \widetilde{\mathbf{R}})^{-1} \mathbf{X}^T \mathbf{Y}\)
  • Ridge: 항등 행렬로 모든 계수에 동등 벌점.
  • 거칠기 벌점: 거칠기 행렬로 “거친 함수 형태” 에만 벌점.

3.5 두 항의 의미 재정리

\(\mathbf{X}^T \mathbf{X}\) 는 표본 공분산(스케일링 제외), \(\widetilde{\mathbf{R}}\) 은 거칠기 측정 행렬. 둘의 합 \(\mathbf{X}^T\mathbf{X} + \lambda \widetilde{\mathbf{R}}\) 가 가역이려면 \(\widetilde{\mathbf{R}}\) 의 양정치성과 \(\lambda > 0\) 만 필요하다 — \(\mathbf{X}^T\mathbf{X}\) 자체는 ill-conditioned 또는 특이행렬이어도 된다.

이것이 거칠기 벌점이 함수 회귀의 다공선성 문제를 해결하는 메커니즘이다 — \(\lambda \widetilde{\mathbf{R}}\) 가 ill-conditioned 행렬에 추가되어 안정화된다.

3.6 조화 가속 연산자 예: 주기 신호의 매끄러움

\(L\beta(t) = \omega^2 \beta'(t) + \beta'''(t)\) 인 조화 가속 연산자에서 (§2.2 참조), 정현파 \(\sin(\omega t)\)\(\cos(\omega t)\)\(L\beta = 0\) 을 만족한다 — 벌점 0.

이 벌점은 “기본 주기 \(\omega\) 의 신호는 자유롭게 허용, 그 외 주파수에는 벌점” 이다. 1년 주기가 자명한 기후 곡선에 적합하다.


4 매끄러움 모수 \(\lambda\) 의 선택

4.1 \(\lambda\) 의 통계적 의미

\(\lambda\) 는 추정량의 편향-분산 트레이드오프를 통제한다.

\(\lambda\) 편향 분산
작음 작음 (데이터 충실)
큼 (과평활) 작음

이론적으로 최적 \(\lambda\)\(\beta\) 의 매끄러움(미분 가능 정도)에 의존한다. 매끄러운 \(\beta\) → 큰 \(\lambda\) 가능, 거친 \(\beta\) → 작은 \(\lambda\) 필요.

문제는 \(\beta\) 의 매끄러움을 모른다는 것이다. 데이터로부터 자동 선택해야 한다.

4.2 교차 검증 (CV)

가장 직관적인 방법. Leave-one-out CV:

\[ S_N(\lambda) = \frac{1}{N} \sum_{i=1}^{N} \left(Y_i - \widehat{Y}_\lambda^{(-i)}\right)^2, \]

여기서 \(\widehat{Y}_\lambda^{(-i)} = \widehat{\alpha}_\lambda^{(-i)} + \int \widehat{\beta}_\lambda^{(-i)}(s) X_i(s) \, ds\) 는 표본 \(i\) 를 제외하고 적합한 모형의 예측.

\(S_N(\lambda)\) 를 최소화하는 \(\lambda\) 를 선택. CV는 “예측 성능” 을 직접 최적화하므로 직관적이다.

4.3 CV의 단점: \(\beta\) 의 매끄러움 보장 부재

CV는 예측 정확도에 최적화하지만, \(\beta\) 의 형태 매끄러움을 보장하지 않는다. 결과적으로:

  • \(\widehat{\beta}_{CV}\) 가 예측은 잘하지만 거친 모양일 수 있음.
  • 해석을 강조하는 연구자는 추가 시각적 검토가 필요.

Kokoszka는 “여러 \(\lambda\) 의 결과를 시각적으로 비교” 하는 것을 권장한다 (Kokoszka & Reimherr, 2017, §4.5).

4.4 GCV (일반화 교차 검증)

LOO CV의 행렬 근사. 거칠기 벌점 추정량은 선형 평활기(linear smoother) :

\[ \widehat{\mathbf{Y}} = \mathbf{H}_\lambda \mathbf{Y}, \quad \mathbf{H}_\lambda = \mathbf{X}(\mathbf{X}^T\mathbf{X} + \lambda \widetilde{\mathbf{R}})^{-1}\mathbf{X}^T. \]

GCV:

\[ \text{GCV}(\lambda) = \frac{N^{-1} \|\mathbf{Y} - \mathbf{H}_\lambda \mathbf{Y}\|^2}{(1 - N^{-1} \text{tr}(\mathbf{H}_\lambda))^2}. \]

장점: \(N\) 번의 모형 적합 없이 한 번의 행렬 연산으로 LOO CV 근사.

4.5 REML (제한 최대우도) — refund 의 표준 방법

가장 통계적으로 정교한 접근. 거칠기 벌점 회귀를 mixed model 로 재해석:

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

에서 함수 모수 \(\beta\) 를 random effect로 본다. 매끄러움 모수 \(\lambda\) 는 random effect의 분산비에 대응한다. REML은 mixed model의 분산 모수 추정의 표준 방법이다.

4.6 REML의 직관

Mixed model 시각: “\(\beta\) 자체가 어떤 사전 분포(prior)를 따른다” 라고 가정한다. 사전 분포의 분산이 작으면 \(\beta\) 가 smooth, 크면 rough. REML은 이 사전 분포의 분산을 데이터로부터 추정한다.

이는 베이지안 회귀의 경험적 베이즈(empirical Bayes) 형태이며, 데이터로부터 사전 분포의 강도를 결정한다.

4.7 refund::pfr 의 구현

refund 패키지의 pfr() 함수는 REML을 기본 방법으로 사용한다. 내부적으로 mgcv::gam 의 spline 기능을 활용해 mixed model framework로 매끄러움 모수를 추정한다.

fit <- pfr(Y ~ lf(X, k = 50, bs = "ps"))
# k=50: 기저 함수 50개
# bs="ps": penalized splines
# sp 미지정: REML로 자동 선택

5 FPCA 회귀의 핵심 아이디어

5.1 결정적 기저에서 데이터 기반 기저로

§4.4와 §4.5의 기저 전개는 결정적 기저 (\(B_k\) 가 데이터와 무관하게 미리 결정)를 사용한다. 이는 단순하나, 회귀자 \(X\) 의 변동 구조와 무관하다.

§4.6의 핵심: 데이터 자체의 자연스러운 좌표계 — Karhunen-Loève 전개의 EFPC — 를 기저로 사용한다.

5.2 출발점: KL 전개

§3.2에서 본 KL 전개:

\[ X(t) = \mu(t) + \sum_{j=1}^{\infty} \xi_j v_j(t). \]

표본에서:

\[ X_i(t) \approx \widehat{\mu}(t) + \sum_{j=1}^{p} \widehat{\xi}_{ij} \widehat{v}_j(t), \]

여기서:

  • \(\widehat{\mu}(t)\): 표본 평균 함수
  • \(\widehat{v}_j(t)\): 추정 EFPC (\(j\) 번째 주방향)
  • \(\widehat{\xi}_{ij} = \int [X_i(t) - \widehat{\mu}(t)] \widehat{v}_j(t) \, dt\): 점수 (좌표)

5.3 회귀 모형의 변환

원 회귀 모형:

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

KL 근사 \(X_i \approx \widehat{\mu} + \sum_{j=1}^{p} \widehat{\xi}_{ij} \widehat{v}_j\) 를 대입:

\[ \int \beta(t) X_i(t) \, dt \approx \int \beta(t) \widehat{\mu}(t) \, dt + \sum_{j=1}^{p} \widehat{\xi}_{ij} \underbrace{\int \beta(t) \widehat{v}_j(t) \, dt}_{\beta_j}. \]

새 모수 정의:

\[ \beta_0 = \alpha + \int \beta(t) \widehat{\mu}(t) \, dt, \quad \beta_j = \int \beta(t) \widehat{v}_j(t) \, dt, \; j = 1, \ldots, p. \]

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

\[ Y_i = \beta_0 + \sum_{j=1}^{p} \widehat{\xi}_{ij} \beta_j + \varepsilon_i. \]

5.4 점수 행렬과 LS 추정

디자인 행렬:

\[ \Xi = \begin{bmatrix} 1 & \widehat{\xi}_{11} & \widehat{\xi}_{12} & \cdots & \widehat{\xi}_{1p} \\ 1 & \widehat{\xi}_{21} & \widehat{\xi}_{22} & \cdots & \widehat{\xi}_{2p} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & \widehat{\xi}_{N1} & \widehat{\xi}_{N2} & \cdots & \widehat{\xi}_{Np} \end{bmatrix}. \]

LS 추정:

\[ \widehat{\boldsymbol{\beta}} = (\Xi^T \Xi)^{-1} \Xi^T \mathbf{Y}. \]

회귀 함수 재구성:

\[ \widehat{\beta}(t) = \sum_{j=1}^{p} \widehat{\beta}_j \widehat{v}_j(t), \]

\[ \widehat{\alpha} = \widehat{\beta}_0 - \sum_{j=1}^{p} \widehat{\beta}_j \int \widehat{v}_j(t) \widehat{\mu}(t) \, dt. \]

5.5 직관: 데이터의 자연스러운 축으로 변환

FPCA 회귀의 본질은 “데이터가 가장 잘 보이는 좌표계로 회전 후 회귀” 이다. 다변량 PCA 회귀(PCR)의 함수 버전.

비유: 길쭉한 산맥을 항공 사진으로 분석할 때, 산맥이 사진의 대각선으로 놓여 있으면 분석이 어렵다. 좌표계를 회전해 산맥을 가로축에 정렬하면, 산맥의 길이(\(\xi_1\) 방향)와 너비(\(\xi_2\) 방향)가 명확히 분리된다. FPCA가 함수 데이터에 대해 같은 일을 한다.

5.6 무한차원 다공선성의 자동 해결

\(\widehat{v}_j\) 는 정규직교이므로, 점수 \(\widehat{\xi}_{ij}\)\(\widehat{\xi}_{ij'}\) (\(j \neq j'\)) 가 표본 비상관이다 (KL 전개 정리에서 도출). 따라서:

\[ \Xi^T \Xi \approx N \cdot \text{diag}(1, \widehat{\lambda}_1, \widehat{\lambda}_2, \ldots, \widehat{\lambda}_p). \]

대각 행렬은 가역이 자명하고 잘 조건화되어 있다 — 무한차원 다공선성이 KL 변환으로 사라진다.

이는 다변량 PCR이 “회귀자 다공선성을 PCA로 해결” 하는 것과 동일 논리이다.


6 \(p\) 의 선택

6.1 CPV 기준

§3.2의 누적 분산 비율 (Cumulative Proportion of Variance):

\[ \text{CPV}(p) = \frac{\sum_{j=1}^{p} \widehat{\lambda}_j}{\sum_{j} \widehat{\lambda}_j}. \]

가장 흔한 기준 — CPV가 85%~90%를 처음 넘는 \(p\) 를 선택. 이는 “\(X\) 의 변동의 대부분을 표현” 하는 차원이다.

6.2 스크리 도표

고유값 \(\widehat{\lambda}_j\)\(j\) 에 대해 그렸을 때, 급감 지점(“팔꿈치”) 직전을 \(p\) 로 선택. 시각적·휴리스틱이지만 도메인 직관과 잘 맞을 때가 많다.

6.3 예측 기반 선택 (CV)

\(\lambda\) 선택과 마찬가지로 \(p\) 도 CV로 선택할 수 있다. 다른 \(p\) 에서의 LOO CV 예측 오차를 비교, 최소화하는 \(p\) 선택.

6.4 관행과 한계

실무에서 CPV 85~90% + 스크리 도표 시각적 확인이 가장 널리 사용된다. 그러나 두 가지 한계가 있다.

한계 1: 변동 큰 방향 ≠ Y 예측에 중요한 방향

CPV 기준은 \(X\) 의 변동을 기준으로 \(p\) 를 선택한다. 그러나 회귀 목표는 \(Y\) 예측이다. 가장 큰 \(\widehat{\lambda}_j\) 를 가진 주방향이 \(Y\) 와 무관할 수 있다.

이를 “inverse problem in PCR” 이라 부른다. 다변량 PCR에서도 알려진 현상이며, 대안으로는 부분 최소제곱(PLS)이 있다 — PLS는 \(X\)\(Y\) 의 공분산을 최대화하는 방향을 찾으므로 회귀 목표에 더 직접적이다.

한계 2: \(\widehat{v}_j\) 의 무작위성

\(\widehat{v}_j\) 는 데이터로부터 추정된 random object이다. FPCA 회귀의 디자인 행렬 \(\Xi\) 의 모든 항이 random — 이는 표준 회귀의 “디자인 행렬은 결정적” 가정과 다르다.

Kokoszka는 이 점을 명시한다 (Kokoszka & Reimherr, 2017, §4.6): “FPCA 회귀의 점근 성질은 자명하지 않다”. \(\widehat{v}_j\) 의 추정 오차가 회귀 추정량에 어떻게 전파되는지 정밀한 분석이 필요하다 (Ch.12).


7 세 추정 접근의 통합 시각

7.1 모두가 같은 framework 의 다른 표현

세 접근의 추정량을 한 형태로 통합:

\[ \widehat{\beta}(t) = \sum_{j=1}^{?} \widehat{c}_j \phi_j(t), \]

여기서 \(\phi_j\) 는 정규직교 기저, \(\widehat{c}_j\) 는 LS 또는 정칙화된 LS 계수.

접근 \(\phi_j\) \(\widehat{c}_j\) 결정 정칙화 양식
기저 전개 결정적 (Fourier·B-spline) LS 절단 (\(K\) 항)
거칠기 벌점 결정적 (큰 \(K\)) 벌점화 LS 연속 (\(\lambda\))
FPCA 회귀 데이터 기반 (\(\widehat{v}_j\)) LS 절단 (\(p\) 항)

7.2 정칙화의 두 양식: 절단 vs 연속

양식 작용
절단 (이산) 일부 차원 완전 제거 기저 전개, FPCA 회귀
연속 (벌점) 모든 차원 비례 축소 거칠기 벌점, Ridge

연속 정칙화의 예: Tikhonov 형식

\[ \widehat{\beta}_\lambda(t) = \sum_{j=1}^{\infty} \frac{\langle \widehat{c}_{XY}, \widehat{v}_j \rangle}{\widehat{\lambda}_j + \lambda} \widehat{v}_j(t). \]

이 식에서:

  • \(\lambda = 0\) + \(j \leq p\) 절단 → FPCA 회귀
  • \(\lambda > 0\), 모든 \(j\) 사용 → Ridge 풍 정칙화

거칠기 벌점은 다른 기저 (\(v_j\) 대신 결정적 \(B_k\)) 를 사용하지만 본질적으로 같은 정칙화 양식이다.

7.3 선택 가이드

상황 추천 접근
도메인 지식이 매끄러움 형태 명시 (예: 기후) 거칠기 벌점 + 적절한 \(L\)
곡선 데이터에 명확한 주성분 구조 FPCA 회귀
빠른 baseline · 익숙한 도구 선호 기저 전개 + LS
다공선성이 매우 심한 경우 FPCA 회귀 또는 거칠기 벌점
추론(신뢰구간·검정) 강조 거칠기 벌점 + REML
표본 크기 작음 FPCA 회귀 (적은 모수)
결과 해석이 직접 중요 거칠기 벌점 (매끄러운 \(\widehat{\beta}\))

실무에서는 흔히 세 접근을 모두 적용해 \(\widehat{\beta}\) 를 비교한다. refund 패키지가 이를 단순화한다.


8 점근 일치성의 미묘함

8.1 모든 접근이 일치하려면 조절 모수 → ∞

세 접근 모두 일치성(consistent estimation)을 위해 다음이 필요하다.

접근 일치성 조건
기저 전개 \(K = K(N) \to \infty\)
거칠기 벌점 \(\lambda = \lambda(N) \to 0\) (\(K\) 큼)
FPCA 회귀 \(p = p(N) \to \infty\)

추가로 각 조절 모수의 증가/감소 속도와 \(\beta\) 의 매끄러움 사이의 균형이 일치성을 결정한다. 표준 회귀에서 \(p\) 고정 환경과 결정적으로 다르다.

8.2 비유: 망원경의 자동 초점

망원경에서 별이 점점 또렷해지려면 거리에 따라 초점을 조절해야 한다. 한 번의 고정 초점으로는 모든 거리의 별을 볼 수 없다. 함수 회귀에서도 표본 크기가 늘어날수록 조절 모수(\(K\), \(\lambda\), \(p\))가 데이터 풍부도에 맞춰 조정되어야 한다.

8.3 FPCA 회귀의 추가 미묘함

FPCA 회귀에서 \(\widehat{v}_j\) 자체가 \(N \to \infty\) 에서 진짜 \(v_j\) 로 수렴한다. 이 수렴이 회귀 추정량의 점근 분포에 영향을 준다. 정확한 분석은 Ch.12에서 다뤄진다.


9 R 코드: 세 추정량 비교 시뮬레이션

9.1 Kokoszka §4.7의 시뮬레이션 설정

진짜 회귀 함수 두 가지:

  1. \(\beta_1(t) = \sin(2\pi t)\) — 매끄러운 정현파.
  2. \(\beta_2(t) = -\phi(t; 0.2, 0.03^2) + 3\phi(t; 0.5, 0.04^2) + \phi(t; 0.75, 0.05^2)\) — 좁은 봉우리 세 개의 합 (정규 밀도).

회귀자 \(X_i(t)\): 잡음·선형 추세·정규 잡음·정현파 합으로 생성.

library(refund)
library(ggplot2)

set.seed(9000)

n <- 1000
grid <- seq(0, 1, length.out = 101)

# 진짜 회귀 함수 1: 정현파
beta1 <- sin(grid * 2 * pi)

# 진짜 회귀 함수 2: 정규 밀도 합
beta2 <- -dnorm(grid, mean = 0.2, sd = 0.03) +
          3 * dnorm(grid, mean = 0.5, sd = 0.04) +
          dnorm(grid, mean = 0.75, sd = 0.05)

# 회귀자 X_i 생성
X <- matrix(0, nrow = n, ncol = length(grid))
for (i in 1:n) {
  X[i, ] <- X[i, ] + rnorm(length(grid), 0, 1)
  X[i, ] <- X[i, ] + runif(1, 0, 5)
  X[i, ] <- X[i, ] + rnorm(1, 1, 0.2) * grid
  for (j in 1:10) {
    e <- rnorm(2, 0, 1 / j^2)
    X[i, ] <- X[i, ] + e[1] * sin((2 * pi) * grid * j)
    X[i, ] <- X[i, ] + e[2] * cos((2 * pi) * grid * j)
  }
}

# β_1 사용 시 반응 변수 (X * beta * 0.01 + 잡음)
Y1 <- as.vector(X %*% beta1 * 0.01) + rnorm(n, 0, 0.4)

# β_2 사용 시 반응 변수
Y2 <- as.vector(X %*% beta2 * 0.01) + rnorm(n, 0, 0.4)

9.2 세 추정량 적합

estimate_three_methods <- function(Y, X, grid) {
  # 1. FPCA 회귀
  fit_fpcr <- pfr(Y ~ fpc(X))
  beta_fpcr <- coef(fit_fpcr)$value

  # 2. 기저 전개 (벌점 없음)
  fit_basis <- pfr(Y ~ lf(X, bs = "ps", k = 15, fx = TRUE))
  beta_basis <- coef(fit_basis)$value

  # 3. 거칠기 벌점 (REML 자동)
  fit_pen <- pfr(Y ~ lf(X, bs = "ps", k = 50))
  beta_pen <- coef(fit_pen)$value

  data.frame(
    grid = grid,
    FPCR = beta_fpcr,
    Basis = beta_basis,
    Penalized = beta_pen
  )
}

# β_1 추정
res1 <- estimate_three_methods(Y1, X, grid)
res1$Truth <- beta1

# β_2 추정
res2 <- estimate_three_methods(Y2, X, grid)
res2$Truth <- beta2

9.3 시각화

library(reshape2)

# β_1 결과
df1_long <- melt(res1, id.vars = "grid", variable.name = "Method", value.name = "Value")
ggplot(df1_long, aes(x = grid, y = Value, color = Method, linetype = Method)) +
  geom_line(size = 1) +
  scale_linetype_manual(values = c("Truth" = "solid", "FPCR" = "dashed",
                                   "Basis" = "dotted", "Penalized" = "dotdash")) +
  labs(title = expression(paste("Estimates of ", beta[1](t), " = sin(2", pi, "t)")),
       x = "t", y = expression(beta(t)))

# β_2 결과
df2_long <- melt(res2, id.vars = "grid", variable.name = "Method", value.name = "Value")
ggplot(df2_long, aes(x = grid, y = Value, color = Method, linetype = Method)) +
  geom_line(size = 1) +
  labs(title = expression(paste("Estimates of ", beta[2](t),
                                " (peaks of normal densities)")),
       x = "t", y = expression(beta(t)))

9.4 예상 결과 (Kokoszka §4.7)

\(\beta_1 = \sin(2\pi t)\): 매끄러운 함수이므로 세 방법 모두 진짜 함수에 근접하게 추정. 거칠기 벌점이 가장 매끄럽고, FPCA 회귀는 약간의 거친 진동, 기저 전개(벌점 없음)는 중간.

\(\beta_2\) (좁은 봉우리): 어려운 사례. 첫 번째 좁은 봉우리(\(t = 0.2\), sd 0.03)는 모든 방법이 잘 잡지 못함 — 데이터가 좁은 패턴을 “보지” 못한다. 두 번째와 세 번째 봉우리는 더 잘 잡지만, 정칙화로 인해 진짜 봉우리 높이보다 낮게 추정됨. 거칠기 벌점이 봉우리를 가장 평탄화, FPCA 회귀가 가장 날카롭게 표현.

9.5 교훈

이 실험이 보여주는 핵심:

  1. 방법 간 차이는 진짜 \(\beta\) 의 형태에 의존. 매끄러운 진짜 함수에는 모든 방법이 비슷, 거친 진짜 함수에서는 차이가 명확.
  2. 모든 방법이 좁은 패턴을 평탄화. 정칙화의 본질적 비용이다.
  3. 방법 선택의 기준: 매끄러움 강조 vs 국소 봉우리 보존.

10 정리

10.1 §4.5 거칠기 벌점의 핵심

  1. 벌점화 손실: \(P_\lambda = \text{SSE} + \lambda \int (L\beta)^2\).
  2. 명시적 해: \(\widehat{\mathbf{c}} = (\mathbf{X}^T\mathbf{X} + \lambda \widetilde{\mathbf{R}})^{-1} \mathbf{X}^T \mathbf{Y}\).
  3. Ridge의 일반화: 항등 행렬 → 거칠기 행렬.
  4. \(\lambda\) 선택: CV (단순), GCV (효율), REML (정교; refund 의 기본).
  5. 벌점 연산자: \(L = D^2\) 가 표준, 도메인에 따라 다른 형태도 가능.

10.2 §4.6 FPCA 회귀의 핵심

  1. 데이터 기반 기저: KL 전개의 EFPC \(\widehat{v}_j\) 사용.
  2. 표준 회귀 환원: 점수 \(\widehat{\xi}_{ij}\) 가 회귀자.
  3. 다공선성 자동 해결: \(\Xi^T \Xi\) 가 거의 대각 행렬.
  4. \(p\) 선택: CPV ≥ 85-90%, 스크리 도표, CV.
  5. 미묘함: \(\widehat{v}_j\) 가 random — 점근 분석이 자명하지 않음.

10.3 통합 시각

세 추정 접근 (기저 전개·거칠기 벌점·FPCA 회귀)은 모두 다음 형태:

\[ \widehat{\beta}(t) = \sum_j \widehat{c}_j \phi_j(t), \]

차이는 \(\phi_j\) 의 선택과 \(\widehat{c}_j\) 결정 방식의 정칙화 양식이다. 본질적으로 한 가족 — 무한차원 모수의 정칙화.

10.4 다음 절의 미리보기

§4.7 (refund 패키지)에서 세 방법의 통합 R 구현을 본다 — pfr() 함수가 모든 방법을 일관된 인터페이스로 제공한다. §4.8 (비선형 함수 회귀)에서는 선형 회귀의 한계를 넘어 함수 GAM, 단일 인덱스 모형, 비선형 변환을 다룬다.


11 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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