1 이 포스트의 위치
./4-2-difficulties-basis-expansion.qmd 에서 함수 회귀의 본질적 어려움을 분석하고, 가장 직관적 우회로(기저 전개)의 한계를 보았다.
기저 전개의 두 가지 약점:
- \(K\) 의 자의성: \(K\) 가 결과에 결정적 영향을 주지만 데이터로부터 자동 결정이 어렵다.
- 이산적 절단: 기저 함수가 \(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'}}. \]
\[ \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의 시뮬레이션 설정
진짜 회귀 함수 두 가지:
- \(\beta_1(t) = \sin(2\pi t)\) — 매끄러운 정현파.
- \(\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 <- beta29.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 교훈
이 실험이 보여주는 핵심:
- 방법 간 차이는 진짜 \(\beta\) 의 형태에 의존. 매끄러운 진짜 함수에는 모든 방법이 비슷, 거친 진짜 함수에서는 차이가 명확.
- 모든 방법이 좁은 패턴을 평탄화. 정칙화의 본질적 비용이다.
- 방법 선택의 기준: 매끄러움 강조 vs 국소 봉우리 보존.
10 정리
10.1 §4.5 거칠기 벌점의 핵심
- 벌점화 손실: \(P_\lambda = \text{SSE} + \lambda \int (L\beta)^2\).
- 명시적 해: \(\widehat{\mathbf{c}} = (\mathbf{X}^T\mathbf{X} + \lambda \widetilde{\mathbf{R}})^{-1} \mathbf{X}^T \mathbf{Y}\).
- Ridge의 일반화: 항등 행렬 → 거칠기 행렬.
- \(\lambda\) 선택: CV (단순), GCV (효율), REML (정교;
refund의 기본). - 벌점 연산자: \(L = D^2\) 가 표준, 도메인에 따라 다른 형태도 가능.
10.2 §4.6 FPCA 회귀의 핵심
- 데이터 기반 기저: KL 전개의 EFPC \(\widehat{v}_j\) 사용.
- 표준 회귀 환원: 점수 \(\widehat{\xi}_{ij}\) 가 회귀자.
- 다공선성 자동 해결: \(\Xi^T \Xi\) 가 거의 대각 행렬.
- \(p\) 선택: CPV ≥ 85-90%, 스크리 도표, CV.
- 미묘함: \(\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 관련 주제
선행 지식
- FDA 3.1~3.2 — L² 공간과 확률 함수, Karhunen-Loève 전개
- FDA 3.3 — 선형 변환과 공분산 연산자
- FDA 4.0 — 스칼라-on-함수 회귀 개관
- FDA 4.1~4.2 — 응용 사례와 표준 다중 회귀 복습
- FDA 4.3~4.4 — 함수 회귀의 어려움과 기저 전개 추정
후속 주제
관련 개념
- Ridge 회귀와 정칙화 — 거칠기 벌점의 다변량 사례
- PCR과 부분 최소제곱 (PLS) — FPCA 회귀의 다변량 사례 + 대안
- Mixed Model과 REML — 매끄러움 모수 자동 선택
- 편향-분산 트레이드오프 — 정칙화의 통계적 토대