1 두 절의 역할
| 절 | 주제 | 핵심 도구 |
|---|---|---|
| 7.3 | 공분산 함수 추정 | 비대각 cross product 평활, 양정치 보정, 잡음 분산 분리 |
| 7.4 | Sparse FPCA: PACE | 결합 가우스 분포 + BLUP 조건부 기댓값 + 곡선 재구성 |
7.3 은 공분산 함수 \(c(t, s)\) 추정 — 평균 추정 (7.2) 의 자연스러운 이변량 일반화. 그러나 두 가지 본질적 어려움 — 대각선의 측정 잡음 불연속 과 양정치 (positive definite) 제약 — 이 추가된다. 이 문제들을 처리하는 표준 절차는 sparse FDA 의 핵심 기술.
7.4 는 sparse FDA 에서 가장 강력한 도구인 PACE (Principal Analysis by Conditional Expectation). Dense FDA 의 점수 적분 \(\int Y v\) 가 정의되지 않는 sparse 환경에서, 조건부 기댓값을 BLUP 으로 사용해 점수를 예측. 이 단순한 아이디어가 sparse 곡선 재구성 + 회귀 + 분류의 모든 후속 도구의 토대.
두 절의 흐름: 공분산 추정 (7.3) → PACE 의 입력으로 사용 → 점수 BLUP (7.4) → 곡선 재구성 → 후속 분석 (7.5).
2 공분산 함수 추정의 두 도전
2.1 Cov(Y(t), Y(s)) 의 형태
모형 (7.1) 에서 두 잡음이 분리되어 있음을 떠올리면:
\[ Y_n(t) = \mu(t) + \varepsilon_n(t) + \delta_n(t), \]
여기서 \(\varepsilon_n\) 은 매끄러운 subject-specific 오차, \(\delta_n(t)\) 는 점별 측정 잡음 (분산 \(\sigma^2(t)\)).
\(\varepsilon_n\) 의 공분산 함수를 \(c(t, s) = \text{Cov}(\varepsilon_n(t), \varepsilon_n(s))\) 라 하면:
\[ \text{Cov}(Y(t), Y(s)) = c(t, s) + \sigma^2(t) \mathbb{1}_{t = s}. \]
2.2 대각선의 불연속
| 위치 | 공분산 |
|---|---|
| \(t \neq s\) (비대각) | \(c(t, s)\) — 매끄러움 |
| \(t = s\) (대각) | \(c(t, t) + \sigma^2(t)\) — 측정 잡음 추가 |
대각선에서만 \(\sigma^2(t)\) 가 추가 — 비대각에서 대각으로 가면 함수가 점프. 이 불연속이 sparse FDA 공분산 추정의 가장 큰 어려움이다.
2.3 직관: 두 잡음의 공분산 구조
같은 단위 \(n\) 의 두 시점 \(t, s\) 의 측정값:
\[ Y_n(t) = \mu(t) + \varepsilon_n(t) + \delta_n(t), \]
\[ Y_n(s) = \mu(s) + \varepsilon_n(s) + \delta_n(s). \]
평균을 차감하고 곱하면:
\[ (Y_n(t) - \mu(t))(Y_n(s) - \mu(s)) = (\varepsilon_n(t) + \delta_n(t))(\varepsilon_n(s) + \delta_n(s)). \]
전개:
\[ = \varepsilon_n(t)\varepsilon_n(s) + \varepsilon_n(t) \delta_n(s) + \delta_n(t) \varepsilon_n(s) + \delta_n(t) \delta_n(s). \]
기댓값:
- \(E[\varepsilon_n(t) \varepsilon_n(s)] = c(t, s)\) — 진짜 공분산.
- \(E[\varepsilon_n(t) \delta_n(s)] = 0\) (\(\varepsilon \perp \delta\)).
- \(E[\delta_n(t) \delta_n(s)] = \sigma^2(t) \delta_{ts}\) — 시점이 같으면 분산, 다르면 0.
따라서 \(t \neq s\) 면 \(c(t, s)\) 만, \(t = s\) 면 \(c(t, t) + \sigma^2(t)\).
2.4 비유: 사진의 인접 픽셀 vs 같은 픽셀 두 번
같은 사진의 두 다른 픽셀의 색은 진짜 색의 패턴 (subject-specific) 만을 반영. 그러나 같은 픽셀을 두 번 측정 하면 진짜 색 + 측정 잡음이 모두 들어간다.
공분산 함수의 대각선 불연속이 정확히 이 패턴 — “다른 시점은 신호만, 같은 시점은 신호 + 잡음”.
3 표준 절차: 비대각만 평활
3.1 단계 1: 평균 차감
추정된 평균 \(\widehat{\mu}(t)\) 로 잔차 형성:
\[ \widetilde{Y}_{nm} = Y_{nm} - \widehat{\mu}(t_{nm}). \]
3.2 단계 2: 비대각 cross product 만 사용
각 단위 \(n\) 의 모든 시점 쌍 \((t_{nm_1}, t_{nm_2})\) (\(m_1 \neq m_2\)) 에서:
\[ \widetilde{Y}_{nm_1} \widetilde{Y}_{nm_2} = (Y_{nm_1} - \widehat{\mu}(t_{nm_1}))(Y_{nm_2} - \widehat{\mu}(t_{nm_2})). \]
이 cross product 의 기댓값 = \(c(t_{nm_1}, t_{nm_2})\) (잡음 추가 없음).
3.3 단계 3: 이변량 평활
데이터 벡터:
\[ \widetilde{\mathbf{Y}} = \{\widetilde{Y}_{nm_1} \widetilde{Y}_{nm_2}: n = 1, \ldots, N, m_1 \neq m_2\}, \]
대응 시점:
\[ \mathbf{T} = \{(t_{nm_1}, t_{nm_2}): n = 1, \ldots, N, m_1 \neq m_2\}. \]
7.2 의 이변량 버전 도구 (mgcv::gam 의 tensor product spline, gam(y ~ te(t1, t2))) 로 평활.
3.4 직관: 대각 제외의 이유
만약 대각 항 (\(m_1 = m_2\)) 을 포함하면:
\[ E[\widetilde{Y}_{nm}^2] = c(t_{nm}, t_{nm}) + \sigma^2(t_{nm}), \]
즉 평활 함수가 측정 잡음 \(\sigma^2\) 만큼 위로 편향. 대각을 평활화에 넣으면 추정값이 부풀어 오름.
비대각만 사용하면 잡음이 자동 제외 — 매끄러운 진짜 공분산 \(c(t, s)\) 의 깨끗한 추정.
3.5 비유: 메아리 측정
소리의 메아리 시간을 측정할 때, 마이크 자체의 자기 공명 (zero-lag 효과) 을 제외해야 진짜 메아리 시간을 알 수 있다. Cross product 의 대각 제외도 같은 원리 — 동시 측정의 잡음 자기 분산 을 제외하고 진짜 시간 의존 구조를 추정.
4 양정치 보정
4.1 문제
7.3 의 비대각 평활 결과 \(\widehat{c}(t, s)\) 가 양정치가 아닐 수 있다. 평활기는 일반적으로 양정치성을 보장하지 않는다.
4.2 결과
비양정치 공분산은 의미가 없다 — 일부 함수 조합의 분산이 음수가 됨. 후속 FPCA 의 고유값이 음수가 나오는 등 문제 발생.
4.3 표준 보정: 음의 고유값 제거
- 추정 공분산 \(\widehat{c}(t, s)\) 의 고유분해: \[ \widehat{c}(t, s) = \sum_j \widehat{\lambda}_j \widehat{v}_j(t) \widehat{v}_j(s). \]
- 음의 고유값을 0 으로 설정: \(\widehat{\lambda}_j^{+} = \max(\widehat{\lambda}_j, 0)\).
- 보정된 공분산: \[ \widehat{c}^{+}(t, s) = \sum_j \widehat{\lambda}_j^{+} \widehat{v}_j(t) \widehat{v}_j(s). \]
4.4 직관: 양정치성의 기하학
양정치 행렬은 모든 고유값이 비음수. 음의 고유값은 “그 고유 방향에서의 분산이 음수” — 물리적으로 불가능. 음의 고유값을 0 으로 설정 = “그 방향의 변동 구조를 무시”.
이 보정이 정보 손실을 의미하지만 — 보통 음의 고유값은 작은 값 (잡음 수준) 이라 실질적 손실은 작다.
4.5 비유: 회계 장부의 음의 잔고 보정
회사 장부에서 한 계정의 잔고가 음수로 나오면 (계산 오류), 0 으로 보정하고 차이를 다른 계정에 흡수. 음의 고유값 0-truncation 도 같은 사고 — 물리적 제약을 위반한 추정값을 가장 가까운 합법 값으로 사영.
5 잡음 분산 σ²(t) 의 분리 추정
5.1 동기
대각선의 잡음 분산 \(\sigma^2(t)\) 는 측정 잡음의 시간 의존 강도. 이를 따로 추정해야 PACE (7.4) 의 입력으로 사용 가능.
5.2 식 (7.12)
대각선만으로 한 별도의 일변량 평활 — 대각 진짜 분산 + 잡음 분산 을 추정:
\[ \widetilde{c}(t, t) = \text{대각 일변량 평활} = c(t, t) + \sigma^2(t). \]
이미 추정한 \(\widehat{c}(t, s)\) 의 대각값을 빼면:
\[ \widehat{\sigma}^2(t) = \widetilde{c}(t, t) - \widehat{c}(t, t). \]
5.3 동등한 형태: 직접 잔차
또는 cross product 의 대각 잔차를 직접 평활:
\[ \widetilde{Y}_{nm} \widetilde{Y}_{nm} - \widehat{c}(t_{nm}, t_{nm}) \]
를 시점 \(t_{nm}\) 에 대해 일변량 평활.
5.4 음수 보정
추정 \(\widehat{\sigma}^2(t)\) 가 음수면 0 으로 설정 (분산은 비음수이므로).
5.5 상수 잡음 가정의 단순화
\(\sigma^2(t) \equiv \sigma^2\) 이면:
\[ \widehat{\sigma}^2 = \frac{1}{N} \sum_n \frac{1}{M_n} \sum_m (\widetilde{Y}_{nm}^2 - \widehat{c}(t_{nm}, t_{nm})). \]
이는 모든 단위·시점에서의 평균 잔차 (잡음 추정).
5.6 직관: 두 추정의 차이가 잡음
\(\widetilde{c}(t, t)\) — 대각만 평활하면 잡음 포함된 분산. \(\widehat{c}(t, t)\) — 비대각만 평활한 후 대각 외삽 → 잡음 없는 분산.
두 추정의 차이가 잡음 — 매우 자연스러운 분리 절차.
5.7 비유: 두 측정 도구의 차이
같은 거리를 두 도구로 측정. 한 도구는 대상 + 측정 잡음 (\(\widetilde{c}\)), 다른 도구는 대상만 (\(\widehat{c}\)). 두 측정의 차이가 잡음 — 단순한 신호-잡음 분해.
6 CATT 응용 시각화
6.1 Figure 7.5: 추정 공분산 표면
mgcv::gam 으로 추정한 \(\widehat{c}(t, s)\) 의 표면:
- 빠르게 증가하는 분산 — Baseline (\(t = 0\)) 에서 시작, 첫 몇 주에 분산 급증.
- 대각선 부근 최대 — 같은 시점 (또는 가까운 시점) 의 변동이 가장 큼.
- 빠른 감소 — 대각에서 멀어질수록 공분산이 빠르게 감소 — 시간 차가 큰 두 시점의 측정값은 거의 무관.
6.2 Figure 7.6: 잡음 분산 시각화
대각선만 따로 시각화:
- 빨간/보라 점선 — 비대각 평활의 대각값 (\(\widehat{c}(t, t)\), 잡음 없는 진짜 분산).
- 파란 X — Raw 점별 분산 (잡음 포함).
- 검은 선 — Raw 분산의 평활 (\(\widetilde{c}(t, t) = \widehat{c}(t, t) + \widehat{\sigma}^2(t)\)).
- 두 선의 차이 = \(\widehat{\sigma}^2(t)\) — 측정 잡음의 분산.
이 시각화가 sparse FDA 의 두 잡음 분리를 직관적으로 보여줌. CATT 데이터에서 잡음이 상당함 (전체 분산의 무시할 수 없는 비율).
6.3 직관: 의학 데이터의 측정 잡음
VAS (시력 점수) 측정은 본질적으로 노이즈가 큼 — 환자의 컨디션, 측정자, 측정 환경의 변동이 모두 영향. 따라서 sparse FDA 의 잡음 분리가 임상 데이터에서 실용적으로 중요.
7 Sparse FPCA: PACE 의 동기
7.1 Dense FDA 의 점수와의 차이
Dense FDA 에서 PC 점수:
\[ \xi_{nj} = \langle Y_n, \widehat{v}_j \rangle = \int_0^1 Y_n(t) \widehat{v}_j(t) \, dt. \]
이 적분이 sparse 데이터에서 정의되지 않는다 — \(Y_n(t)\) 가 모든 \(t\) 에서 관측되지 않음.
7.2 가능한 우회: 곡선 평활 후 적분
각 단위의 곡선을 평활화한 후 적분:
\[ \widetilde{Y}_n(t) = \text{loess}(Y_{n1}, \ldots, Y_{nM_n}), \quad \widehat{\xi}_{nj} = \int \widetilde{Y}_n(t) \widehat{v}_j(t) \, dt. \]
문제: \(M_n\) 이 작으면 (예: 5) 평활이 매우 불안정. 결과가 잡음에 매우 민감.
7.3 PACE 의 핵심 통찰
점수 자체를 평활 (또는 적분) 으로 추정하지 말고, 가우스 가정 + 조건부 기댓값으로 직접 예측한다.
이는 통계학의 표준 도구 — 다변량 정규의 조건부 기댓값 = BLUP.
8 결합 가우스 분포
8.1 가정
모든 곡선이 가우스 과정. 즉:
- \(Y_n(t)\) 가 가우스 과정.
- 평균 0 (이미 차감), 공분산 \(c(t, s) + \sigma^2(t) \delta_{ts}\).
- KL 점수 \(\xi_{nj}\) 도 가우스 (가우스 과정의 사영은 가우스).
8.2 점수와 관측의 결합 분포
단위 \(n\) 의 첫 점수 \(\xi_{n1}\) 와 모든 관측 \(\mathbf{Y}_n = (Y_n(t_{n1}), \ldots, Y_n(t_{nM_n}))^T\) 가 결합 가우스:
\[ \begin{pmatrix} \xi_{n1} \\ \mathbf{Y}_n \end{pmatrix} \sim N(\mathbf{0}, \boldsymbol{\Xi}), \]
여기서 \(\boldsymbol{\Xi}\) 는 결합 공분산 행렬.
8.3 결합 공분산 계산
\(\xi_{n1}\) 와 \(Y_n(t_m)\) 의 공분산:
\[ \text{Cov}(\xi_{n1}, Y_n(t_m)) = E\left[\left(\int Y_n(t) v_1(t) \, dt\right) Y_n(t_m)\right]. \]
선형성 사용:
\[ = \int E[Y_n(t) Y_n(t_m)] v_1(t) \, dt = \int c(t, t_m) v_1(t) \, dt. \]
\(v_1\) 가 공분산 연산자 \(C\) 의 고유함수이므로:
\[ \int c(t, t_m) v_1(t) \, dt = \lambda_1 v_1(t_m). \]
따라서:
\[ \boxed{ \text{Cov}(\xi_{n1}, Y_n(t_m)) = \lambda_1 v_1(t_m). } \]
8.4 직관: 점수와 관측의 연결
이 결과의 우아함:
점수 \(\xi_{n1}\) 와 시점 \(t_m\) 의 관측의 공분산 = 그 시점의 첫 EFPC 값 × 첫 고유값.
이는 KL 전개의 구조를 직접 반영 — \(Y_n(t_m) = \sum_j \xi_{nj} v_j(t_m)\) 이므로 \(\xi_{n1}\) 와의 공분산은 \(v_1(t_m)\) 항만 살아남음.
8.5 결합 공분산 행렬 (식 7.5 절)
\[ \boldsymbol{\Xi} = \begin{pmatrix} \lambda_1 & \lambda_1 v_1(t_{n1}) & \cdots & \lambda_1 v_1(t_{nM_n}) \\ \lambda_1 v_1(t_{n1}) & c(t_{n1}, t_{n1}) + \sigma^2(t_{n1}) & \cdots & c(t_{n1}, t_{nM_n}) \\ \vdots & \vdots & \ddots & \vdots \\ \lambda_1 v_1(t_{nM_n}) & c(t_{nM_n}, t_{n1}) & \cdots & c(t_{nM_n}, t_{nM_n}) + \sigma^2(t_{nM_n}) \end{pmatrix}. \]
| 항 | 의미 |
|---|---|
| \((1, 1)\) 위치: \(\lambda_1\) | 점수의 분산 |
| 첫 행/열의 \(\lambda_1 v_1(t_{nm})\) | 점수와 관측의 공분산 |
| 본문 행렬 \(\Sigma_{22}\) | 관측 사이의 공분산 (대각에 측정 잡음 추가) |
9 조건부 기댓값 (BLUP)
9.1 다변량 정규의 표준 결과
\(\mathbf{Z}_1, \mathbf{Z}_2\) 가 결합 가우스이고
\[ \begin{pmatrix} \mathbf{Z}_1 \\ \mathbf{Z}_2 \end{pmatrix} \sim N\left(\begin{pmatrix} \boldsymbol{\mu}_1 \\ \boldsymbol{\mu}_2 \end{pmatrix}, \begin{pmatrix} \boldsymbol{\Sigma}_{11} & \boldsymbol{\Sigma}_{12} \\ \boldsymbol{\Sigma}_{21} & \boldsymbol{\Sigma}_{22} \end{pmatrix}\right), \]
이면 \(\mathbf{Z}_1 \mid \mathbf{Z}_2\) 가 정규이고:
\[ E[\mathbf{Z}_1 \mid \mathbf{Z}_2] = \boldsymbol{\mu}_1 + \boldsymbol{\Sigma}_{12} \boldsymbol{\Sigma}_{22}^{-1} (\mathbf{Z}_2 - \boldsymbol{\mu}_2), \]
\[ \text{Cov}(\mathbf{Z}_1 \mid \mathbf{Z}_2) = \boldsymbol{\Sigma}_{11} - \boldsymbol{\Sigma}_{12} \boldsymbol{\Sigma}_{22}^{-1} \boldsymbol{\Sigma}_{21}. \]
9.2 PACE 적용
\(\xi_{n1} \mid Y_n(t_{n1}), \ldots, Y_n(t_{nM_n})\) 의 조건부 기댓값:
\[ \boxed{ E[\xi_{n1} \mid \mathbf{Y}_n] = \begin{pmatrix} \lambda_1 v_1(t_{n1}) \\ \vdots \\ \lambda_1 v_1(t_{nM_n}) \end{pmatrix}^T \boldsymbol{\Sigma}_{22}^{-1} \mathbf{Y}_n. } \]
이것이 첫 점수 \(\xi_{n1}\) 의 BLUP — Best Linear Unbiased Predictor.
9.3 일반화: \(p\) 개 점수의 동시 BLUP
\(\xi_{n1}, \ldots, \xi_{np}\) 모두 동시에:
\[ \begin{pmatrix} \widehat{\xi}_{n1} \\ \vdots \\ \widehat{\xi}_{np} \end{pmatrix} = \begin{pmatrix} \lambda_1 v_1(t_{n1}) & \cdots & \lambda_p v_p(t_{n1}) \\ \vdots & \cdots & \vdots \\ \lambda_1 v_1(t_{nM_n}) & \cdots & \lambda_p v_p(t_{nM_n}) \end{pmatrix}^T \boldsymbol{\Sigma}_{22}^{-1} \mathbf{Y}_n. \]
9.4 직관: BLUP 의 해석
BLUP 식의 구조:
점수 BLUP = (점수와 관측의 공분산) × (관측의 공분산 역) × 관측
이는 선형 회귀의 표준 형태 — 관측을 기반으로 미관측 값 (점수) 을 가중 평균으로 예측. 가중치는 공분산 구조에서 자동 도출.
9.5 가우스 가정의 역할
가우스 분포에서 조건부 기댓값 = 선형 결합. 비가우스 분포에서는 일반적으로 비선형 이지만 — BLUP 은 여전히 선형 예측 중 가장 좋은 것.
따라서 PACE 는:
- 가우스 가정 하 최적 (MMSE 의미에서).
- 비가우스에서도 선형 중 최적 (BLUP 의미에서).
이는 sparse FDA 가 가우스 가정 없이도 견고함을 보장.
9.6 비유: 전화 통화의 결손 음성 복원
전화 통화 중 일부 음절만 들리고 나머지는 끊겼다고 하자. 통화 상대의 일반적 말투 (사전분포: 모집단 평균/공분산) 와 들린 음절 (관측) 을 결합하여 끊긴 부분을 추측 — 이것이 정확히 PACE 의 BLUP 사고.
들린 음절의 정보가 많을수록 (즉 \(M_n\) 이 클수록) 끊긴 부분 추측이 정확. 들린 음절이 거의 없으면 모집단 평균에 가깝게 추측.
9.7 직관: 베이지안적 해석
BLUP 의 베이지안적 해석:
| 베이지안 용어 | PACE 대응 |
|---|---|
| 사전분포 (prior) | 모집단의 KL 분포 (\(\xi_{nj} \sim N(0, \lambda_j)\)) |
| 우도 (likelihood) | 관측 모형 (\(Y(t_{nm}) = \sum_j \xi_{nj} v_j(t_{nm}) + \delta\)) |
| 사후분포 (posterior) | 조건부 분포 \(\xi_{n} \mid \mathbf{Y}_n\) |
| 사후 평균 | BLUP \(\widehat{\xi}_n = \boldsymbol{\Sigma}_{12} \boldsymbol{\Sigma}_{22}^{-1} \mathbf{Y}_n\) |
이는 PACE 가 베이지안 추정의 가우스 사전·우도 특수 경우 임을 보여준다 — 모집단 정보 (사전) + 개체 관측 (우도) → 개체 점수 (사후).
10 곡선 재구성
10.1 표준 식
추정 점수 + 추정 EFPC 로 곡선 재구성:
\[ \widehat{Y}_n(t) = \widehat{\mu}(t) + \sum_{j=1}^p \widehat{\xi}_{nj} \widehat{v}_j(t). \]
이 곡선이 sparse 단위 \(n\) 의 추정된 매끄러운 곡선.
10.2 직관: 모집단의 도움 받기
\(M_n\) = 5 의 환자의 곡선을 그 환자만의 데이터로 그릴 수 없다. 그러나:
- 모집단 평균 \(\widehat{\mu}(t)\) — 모든 환자가 공유하는 기본 패턴.
- 모집단 변동 패턴 \(\widehat{v}_j(t)\) — 환자들이 서로 어떻게 다른가의 표준 모드.
- 이 환자의 점수 \(\widehat{\xi}_{nj}\) — 모집단 안에서 이 환자의 위치.
이 세 정보를 결합하여 매끄러운 전체 곡선을 복원. 모집단 정보가 개체의 부족함을 메우는 sparse FDA 의 핵심 흐름.
10.3 차원 축소의 효과
원본: \(M_n\) (단위마다 다른 작은 수) 개 관측. 재구성: \(p\) (보통 3~5) 개 점수.
\(p\) 개 점수가 곡선 전체를 표현 — 차원 축소 + 노이즈 제거 + 모집단 정보로 보완.
10.4 비유: 화소 보정
저해상도 사진 (관측) 을 고해상도로 복원할 때, 화소만으로는 불가능 — 이미지 데이터베이스의 일반적 패턴 (모집단) 을 활용해 빈 영역을 채운다 (super-resolution).
PACE 의 곡선 재구성도 같은 사고 — 개체의 sparse 관측 + 모집단의 dense 패턴 → 매끄러운 개체 곡선.
10.5 대안: PACE 없이 직접 재구성 (Problem 7.15)
PACE 의 BLUP 을 곡선 전체에 적용하면 (하나의 점수가 아닌 \(Y(t)\) 자체를 예측):
\[ \widehat{Y}_n(t) = \boldsymbol{\Sigma}_{12}^Y(t)^T \boldsymbol{\Sigma}_{22}^{-1} \mathbf{Y}_n, \]
\(\boldsymbol{\Sigma}_{12}^Y(t) = (c(t, t_{n1}), \ldots, c(t, t_{nM_n}))^T\).
이는 FPCA 차원 축소 없이 직접 곡선 BLUP — 동등한 결과 (가우스 가정 하).
PACE 의 장점은 차원 축소 → 점수 기반 후속 분석.
11 4 가지 FPCA 의 효용
- 공통 척도 — 불규칙 시점의 데이터가 점수 (공통 차원) 로 정렬.
- 차원 축소 — \(p\) 개 점수만으로 곡선 표현 (단, 매우 sparse 면 고차원 점수가 필요할 수도).
- 다변량 분석 가능 — 점수가 회귀, 분류, 군집화 등의 표준 도구의 입력.
- 곡선 재구성 — 점수 + EFPC 로 매끄러운 곡선 복원.
11.1 직관: PACE 가 sparse FDA 의 만능 도구
위 4 가지 효용으로 PACE 는 sparse 함수 데이터의 거의 모든 분석에 사용된다.
- 시각화: 재구성 곡선으로 환자별 패턴 시각.
- 분류: 점수를 features 로 logistic regression / random forest.
- 군집화: 점수에 K-means / Gaussian mixture.
- 회귀: 7.5 의 sparse 함수 회귀 (다음 포스트).
- 이상치 검출: 점수 공간에서 outlier detection.
fdapace 패키지의 FPCA 함수가 이 모든 단계를 자동 실행.
12 R 구현 예시
12.1 공분산 추정 (mgcv::gam)
library(mgcv)
# 잔차 데이터 형식
# residuals_data: data.frame with columns t1, t2, prod
# - t1, t2: 두 시점
# - prod: 비대각 cross product (Y_nm1 - mu_hat) * (Y_nm2 - mu_hat)
# Tensor product spline 으로 이변량 평활
cov_fit <- gam(prod ~ te(t1, t2, k = c(8, 8)),
data = residuals_data, method = "REML")
# 격자 위에서 추정값 평가
t_grid <- seq(0, 100, length = 50)
grid <- expand.grid(t1 = t_grid, t2 = t_grid)
c_hat <- matrix(predict(cov_fit, newdata = grid), 50, 50)
# 양정치 보정
eig <- eigen(c_hat, symmetric = TRUE)
eig$values[eig$values < 0] <- 0
c_hat_psd <- eig$vectors %*% diag(eig$values) %*% t(eig$vectors)
# 시각화
persp(t_grid, t_grid, c_hat_psd, theta = 30, phi = 30,
xlab = "t", ylab = "s", zlab = "c(t,s)")12.2 잡음 분산 추정
# 대각 raw 분산 (잡음 포함)
diag_data <- data.frame(t = t_observed,
diag_prod = residuals^2)
diag_smooth <- gam(diag_prod ~ s(t, k = 20), data = diag_data)
c_tilde_diag <- predict(diag_smooth, newdata = data.frame(t = t_grid))
# 잡음 분산 = c̃(t,t) - ĉ(t,t)
c_hat_diag <- diag(c_hat_psd)
sigma2_hat <- c_tilde_diag - c_hat_diag
# 음수 보정
sigma2_hat[sigma2_hat < 0] <- 012.3 PACE FPCA (fdapace 패키지)
library(fdapace)
# Long format 데이터: Y_list (각 단위의 관측 벡터), T_list (각 단위의 시점 벡터)
# 예시: Y_list[[1]] = c(0.5, 0.6, 0.7), T_list[[1]] = c(0, 4, 8)
fpca_result <- FPCA(Ly = Y_list, Lt = T_list,
optns = list(methodSelectK = "FVE", # 분산 설명 기준
FVEthreshold = 0.95, # 95% 분산
dataType = "Sparse",
plot = TRUE))
# 추정 결과
mu_hat <- fpca_result$mu # 평균 함수
phi_hat <- fpca_result$phi # EFPC 함수
lambda_hat <- fpca_result$lambda # 고유값
xi_hat <- fpca_result$xiEst # 추정 점수 (BLUP)
Y_recon <- fpca_result$xiEst %*% t(fpca_result$phi) +
matrix(fpca_result$mu, nrow = N, ncol = length(fpca_result$workGrid),
byrow = TRUE) # 재구성 곡선fdapace::FPCA 가 7.2 의 평균 추정 + 7.3 의 공분산 추정 + 7.4 의 PACE 점수 BLUP 을 모두 자동 실행. 사용자는 long format 데이터 (Ly, Lt) 만 준비하면 됨.
12.4 진단
# Scree plot — 고유값 감쇠
plot(fpca_result$lambda[1:10], type = "b",
xlab = "Component", ylab = "Eigenvalue",
main = "Scree plot")
# 누적 분산 비율
cumsum_var <- cumsum(fpca_result$lambda) / sum(fpca_result$lambda)
plot(cumsum_var[1:10], type = "b",
xlab = "Component", ylab = "Cumulative variance",
main = "CPV")
abline(h = 0.95, col = "red", lty = 2)
# 첫 두 PC 의 점수 산점도
plot(xi_hat[, 1], xi_hat[, 2],
xlab = "PC1 score", ylab = "PC2 score",
main = "Subject scores in first two PCs")13 두 절의 통합 시각
13.1 한 줄 요약
**Sparse FDA 의 공분산 추정은 측정 잡음의 대각 불연속을 처리하기 위해 비대각 cross product 만 평활하고 (양정치 보정 포함), 잡음 분산은 대각 평활값에서 비대각 평활값을 뺀 값으로 분리 추정한다 (식 7.12). PACE 는 점수 ξ_n 와 관측 Y_n 의 결합 가우스 분포에서 조건부 기댓값 BLUP — Σ_{12} Σ_{22}^{-1} Y_n — 으로 점수를 예측하며, 이는 베이지안의 가우스 사전 (KL 점수 N(0, λ_j)) + 가우스 우도 (관측 모형) → 사후 평균의 특수 경우. 곡선 재구성 Ŷ_n(t) = μ̂(t) + Σ ξ̂_nj v̂_j(t) 가 sparse 단위의 매끄러운 전체 곡선을 모집단 정보의 도움으로 복원한다.**
13.2 Ch.7 전반부 (7.1~7.2) 와의 비교
| 측면 | 7.1~7.2 (도입 + 평균) | 7.3~7.4 (공분산 + PACE) |
|---|---|---|
| 추정 대상 | 일변량 평균 \(\mu(t)\) | 이변량 공분산 \(c(t, s)\), 점수 \(\xi_{nj}\) |
| 핵심 도구 | Local poly / Basis / RKHS | 비대각 평활 + BLUP |
| 차원 | 1D | 2D 표면 + 무한차원 점수 예측 |
| 점근 | \(M \sim N^{1/4}\) 임계값 | (PACE 점수 일치성은 별도 결과) |
| R | loess, gam | gam (이변량) + fdapace::FPCA |
7.3~7.4 는 7.1~7.2 의 도구를 이변량으로 확장 + 점수 예측 추가 — sparse FDA 의 가장 강력한 부분.
13.3 Ch.7 후속 절과의 연결
| 후속 절 | 7.3~7.4 의 도구를 어떻게 활용하는가 |
|---|---|
| 7.5 sparse 회귀 | 7.4 의 PACE 점수를 회귀자 또는 반응으로 |
| 7.6 연습문제 | RKHS BLUP, 양정치 보정 등 |
| Ch.8 함수 시계열 | PACE 의 시간 종속 일반화 |
| Ch.12 추론 | PACE 점수의 점근 분포 |
7.4 의 PACE 가 sparse FDA 의 만능 도구 — 후속 모든 분석이 이 점수 위에서 작동.
13.4 실용 가이드
- 데이터 정리 — Long format (
Ly,Lt). fdapace::FPCA호출 — 평균·공분산·점수 자동 추정.- 진단 — Scree plot, CPV, 점수 산점도.
- 점수 활용 — 분류·회귀·군집화·시각화.
- 곡선 재구성 — 환자별 매끄러운 곡선 시각.
- 추론 — 부트스트랩 또는 점근 분포 (Ch.12).
14 관련 주제
선행 지식
- FDA 1.0 — 개요
- FDA 3.1~3.2 — L² 공간과 확률 함수, Karhunen-Loève 전개
- FDA 5.5~5.6 — FPCA 기반 핵 추정과 효과 없음 카이제곱 검정 — Dense FPCA
- FDA 7.0 — 희소 FDA 개관
- FDA 7.1~7.2 — 희소 FDA 도입과 평균 함수 추정
후속 주제
관련 개념
- BLUP (Best Linear Unbiased Predictor) — PACE 의 통계적 토대
- 다변량 정규의 조건부 분포 — BLUP 유도
- 베이지안 추정 (사전·우도·사후) — PACE 의 베이지안 해석
- 공분산 함수의 양정치성 — 7.3 의 보정
- 이변량 Spline 과 Tensor Product —
mgcv::te()의 이론 fdapaceR 패키지 — Sparse FDA 의 표준 R 도구