1 이 포스트의 위치
./3-1-l2-random-functions-kl.qmd 에서 함수 데이터의 무대(\(L^2\))와 그 위의 확률 함수, Karhunen-Loève 전개를 보았다. KL 전개 \(X = \mu + \sum_j \xi_j v_j\) 의 핵심 도구는 공분산 함수 \(c(t,s)\) 의 고유 분해였다.
이 포스트는 이 분해를 연산자(operator) 의 언어 로 다시 쓴다. 공분산 함수는 단순한 이변량 함수가 아니라, 함수를 함수로 보내는 공분산 연산자 \(C\) 의 핵(kernel)이다. \(C\) 의 스펙트럼 분해
\[ C(x) = \sum_{j=1}^{\infty} \lambda_j \langle x, v_j \rangle v_j \]
가 KL 전개의 통합 언어이며, 이후 모든 회귀·시계열·검정 챕터의 골격이 된다.
§3.1 L² 공간 (정적 무대)
↓
§3.2 확률 함수와 KL 전개 (그 무대 위의 무작위성)
↓
§3.3 선형 변환 — KL 전개를 연산자 언어로 통합
↓ 모든 회귀 모형이 적분 연산자
↓ 공분산 함수 = 공분산 연산자의 핵
↓
Ch.4~ 회귀, Ch.8 시계열, Ch.12 추론의 공통 골격
핵심 메시지: 함수 통계학에서 “행렬 곱” 의 자리를 차지하는 것이 적분 연산자이다.
2 왜 선형 변환이 핵심인가
2.1 회귀의 본질은 선형 변환
스칼라 회귀 \(y_i - \mu_Y = \beta(x_i - \mu_X) + \varepsilon_i\) 는 본질적으로 “\(x\) 를 \(\beta\) 배로 늘려 \(y\) 의 변동을 설명” 하는 선형 작업이다. 다변량 회귀 \(\mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}\) 는 같은 일을 행렬 곱으로 일반화한다.
FDA에서는 회귀가 다양한 모양으로 등장한다:
| 회귀 형태 | 모형 | 사용 사례 |
|---|---|---|
| 함수 \(\to\) 스칼라 | \(Y_i = \int \beta(t) X_i(t) \, dt + \varepsilon_i\) | RT-PCR 곡선 → 초기 농도 (Ch.4) |
| 스칼라 \(\to\) 함수 | \(Y_i(t) = \alpha(t) + x_i \beta(t) + \varepsilon_i(t)\) | 그룹 라벨 → 평균 곡선 (Ch.5) |
| 함수 \(\to\) 함수 | \(Y_i(t) = \alpha(t) + \int \psi(t, s) X_i(s) \, ds + \varepsilon_i(t)\) | 채널1 → 채널2 (Ch.5) |
이들은 모두 적분 연산자(integral operator) 라는 한 종류의 선형 변환의 특수한 경우이다. §3.3의 목적은 이 통합된 시각을 제공하는 것이다.
2.2 선형 변환을 따로 다루는 두 번째 이유
KL 전개의 고유함수 \(v_j\) 는 사실 적분 방정식 \(\int c(t, s) v(s) \, ds = \lambda v(t)\) 의 해였다. 이 방정식의 좌변은 \(v\) 라는 함수에 작용하는 선형 사상 이다. 즉:
\[ C(v)(t) := \int c(t, s) v(s) \, ds, \quad C(v) = \lambda v. \]
KL 전개는 본질적으로 공분산 연산자 \(C\) 의 고유 분해 이며, 이 시각이 후속 챕터의 모든 추론 도구를 통합한다 (Kokoszka & Reimherr, 2017, Ch.3).
3 선형 변환의 정의
3.1 정의
벡터 공간 \(\mathcal{V}_1, \mathcal{V}_2\) 사이의 사상 \(L: \mathcal{V}_1 \to \mathcal{V}_2\) 가 임의의 \(x, y \in \mathcal{V}_1\) 과 임의의 스칼라 \(a, b\) 에 대해
\[ L(ax + by) = a L(x) + b L(y) \]
를 만족하면 선형(linear) 이라 한다. 통계학에서 흔히 “연산자(operator)” 라고도 부른다.
3.2 직관: 두 가지 성질
선형성은 두 가지 별도 성질의 결합이다:
- 가법성(additivity): \(L(x + y) = L(x) + L(y)\) — “입력의 합의 출력 = 출력의 합”.
- 동차성(homogeneity): \(L(ax) = a L(x)\) — “입력의 스케일이 그대로 출력에 전달”.
이 둘이 모두 성립해야 선형이다. 직관적으로 “스케일과 더하기를 변환 후에 해도 같다” 는 의미이다.
3.3 예: 선형 vs 비선형
\(\mathcal{V}_1 = \mathbb{R}^2\), \(\mathcal{V}_2 = \mathbb{R}\) 일 때 다음 두 변환:
\[ L((x_1, x_2)) = 2x_1 + 3x_2, \quad G((x_1, x_2)) = x_1 x_2. \]
- \(L\) 은 선형이다: \(L((ax_1 + bz_1, ax_2 + bz_2)) = 2(ax_1 + bz_1) + 3(ax_2 + bz_2) = a L((x_1, x_2)) + b L((z_1, z_2))\).
- \(G\) 는 비선형이다: \(G(2x_1, 2x_2) = 4 x_1 x_2 \neq 2 G(x_1, x_2) = 2 x_1 x_2\) (동차성 위반).
핵심 차이: \(L\) 은 입력 좌표의 선형 결합 이고, \(G\) 는 좌표 간의 곱 이다. 곱이 들어가는 순간 선형성이 무너진다.
3.4 통계에서 자주 만나는 선형 변환
| 영역 | 사상 형태 | 예 |
|---|---|---|
| 스칼라 → 스칼라 | \(L(x) = \beta x\) | 단순 선형 회귀 |
| 벡터 → 스칼라 | \(L(\mathbf{x}) = \boldsymbol{\beta}^T \mathbf{x}\) | 다중 선형 회귀의 적합값 |
| 벡터 → 벡터 | \(L(\mathbf{x}) = A \mathbf{x}\) | 행렬 곱 (다변량 변환) |
| 함수 → 스칼라 | \(L(x) = \int \psi(t) x(t) \, dt\) | 함수 회귀의 적합값 |
| 함수 → 함수 | \(L(x)(t) = \int \psi(t, s) x(s) \, ds\) | 함수-on-함수 회귀 |
마지막 두 형태가 FDA의 핵심이다. 합 \(\sum\) 이 적분 \(\int\) 로, 인덱스 \(j\) 가 연속 변수 \(t, s\) 로 바뀐 것뿐 — 본질적으로 동일하다.
4 FDA의 두 핵심 적분 연산자
4.1 정의
함수 \(\to\) 스칼라: \[ L_1(x) = \int \psi(t) x(t) \, dt, \quad \psi: [0,1] \to \mathbb{R}. \]
함수 \(\to\) 함수: \[ L_2(x)(t) = \int \psi(t, s) x(s) \, ds, \quad \psi: [0,1]^2 \to \mathbb{R}. \]
각 경우 \(\psi\) 를 연산자의 핵(kernel) 이라 한다.
4.2 두 연산자의 직관: 압축 vs 재표현
- \(L_1\) (함수 → 스칼라): 한 권의 책을 한 줄 요약으로 압축하는 사람. 입력 함수 전체에 가중치 \(\psi(t)\) 를 곱해 적분, 하나의 숫자로 요약한다.
- \(L_2\) (함수 → 함수): 한 권의 책을 영화로 각색하는 감독. 각 출력 시점 \(t\) 에서, 입력 함수 전체를 가중치 \(\psi(t, \cdot)\) 로 다시 조합하여 새로운 함수값을 만든다.
\(L_1\) 은 정보를 “압축” 하고, \(L_2\) 는 “재표현” 한다. 압축은 차원을 줄이고, 재표현은 차원을 유지한 채 패턴을 변환한다.
4.3 \(L_1\) 의 행렬 유사체
\(L_1\) 의 정의 \(L_1(x) = \int \psi(t) x(t) \, dt\) 는 유한차원의 다음과 정확히 대응한다:
\[ L_1(\mathbf{x}) = \boldsymbol{\psi}^T \mathbf{x} = \sum_j \psi_j x_j. \]
함수 회귀 \(Y = \int \beta(t) X(t) \, dt + \varepsilon\) 에서 \(\beta\) 가 핵, \(X\) 가 입력, \(Y\) 가 출력. 이는 다중 회귀 \(Y = \boldsymbol{\beta}^T \mathbf{X} + \varepsilon\) 의 자연스러운 무한차원 일반화이다.
4.4 \(L_2\) 의 행렬 유사체
\(L_2\) 는 행렬 곱셈의 함수 버전이다. 유한차원에서:
\[ (A \mathbf{x})_i = \sum_j A_{ij} x_j. \]
여기서 \(i\) 는 출력 좌표, \(j\) 는 입력 좌표이다. 함수 버전:
\[ L_2(x)(t) = \int \psi(t, s) x(s) \, ds. \]
| 유한차원 | FDA |
|---|---|
| 행렬 \(A_{ij}\) | 핵 \(\psi(t, s)\) |
| 행 인덱스 \(i\) (출력) | 출력 시점 \(t\) |
| 열 인덱스 \(j\) (입력) | 입력 시점 \(s\) |
| 행렬-벡터 곱 \(A\mathbf{x}\) | 적분 변환 \(L_2(x)\) |
핵 \(\psi(t, s)\) 의 의미는 “입력 시점 \(s\) 에서 출력 시점 \(t\) 로 흐르는 영향의 강도” 이다. 다변량에서 행렬 원소 \(A_{ij}\) 가 \(j\) 번째 입력의 \(i\) 번째 출력에 대한 영향이듯.
4.5 선형성의 검증
\(L_1\) 과 \(L_2\) 가 정말 선형임은 적분의 선형성에서 즉시 따라 나온다:
\[ \begin{aligned} L_2(ax + by)(t) &= \int \psi(t, s) (ax(s) + by(s)) \, ds \\ &= a \int \psi(t, s) x(s) \, ds + b \int \psi(t, s) y(s) \, ds \\ &= a L_2(x)(t) + b L_2(y)(t). \end{aligned} \]
\(L_1\) 도 동일한 논리. 적분이 선형 연산이라는 미적분의 가장 기본적인 사실이 함수 통계학의 토대가 된다.
5 적분 연산자의 유한성 조건
5.1 왜 조건이 필요한가
유한차원 회귀에서는 행렬 \(A\) 가 자동으로 유한 항을 가지므로 행렬-벡터 곱이 항상 잘 정의된다. 그러나 무한차원에서는 핵 \(\psi\) 자체가 함수이므로 “충분히 빨리 0으로 감소” 하지 않으면 적분이 폭발한다.
구체적으로:
- \(L_1(x) = \int \psi(t) x(t) \, dt\) 가 유한 실수가 되려면 어떤 조건이 필요한가?
- \(L_2(x)\) 가 다시 \(L^2\) 함수이려면 어떤 조건이 필요한가?
5.2 \(L_1\) 의 조건: \(\psi \in L^2\)
Cauchy-Schwarz 부등식에 의해:
\[ |L_1(x)| = \left| \int \psi(t) x(t) \, dt \right| \leq \|\psi\| \cdot \|x\|. \]
\(x \in L^2\) 이므로 \(\|x\| < \infty\). 이로부터 \(L_1(x)\) 가 유한 실수가 되기 위한 충분 조건은:
\[ \int \psi^2(t) \, dt < \infty, \quad \text{즉} \quad \psi \in L^2. \]
이 조건이 만족되면 모든 \(L^2\) 입력에 대해 \(L_1\) 은 유계(bounded) 이다.
5.3 \(L_2\) 의 조건: Hilbert-Schmidt 핵
핵 \(\psi(t, s)\) 가 다음을 만족하면 \(L_2\) 를 Hilbert-Schmidt 연산자 라 한다:
\[ \|\psi\|_{HS}^2 = \int\!\!\int \psi^2(t, s) \, dt \, ds < \infty. \]
이 조건이 성립하면 \(L_2(x) \in L^2\) 가 모든 \(x \in L^2\) 에 대해 보장된다. 증명 스케치:
\[ \begin{aligned} \|L_2(x)\|^2 &= \int \left[\int \psi(t, s) x(s) \, ds\right]^2 dt \\ &\leq \int \left[\int \psi^2(t, s) \, ds\right] \left[\int x^2(s) \, ds\right] dt \quad \text{(Cauchy-Schwarz)} \\ &= \|x\|^2 \cdot \int\!\!\int \psi^2(t, s) \, dt \, ds = \|x\|^2 \cdot \|\psi\|_{HS}^2. \end{aligned} \]
따라서 \(\|L_2(x)\| \leq \|\psi\|_{HS} \cdot \|x\|\). 이는 행렬에서 “유계 노름이 입력 노름을 곱한 만큼 출력 노름이 제한된다” 와 정확히 같다.
5.4 Hilbert-Schmidt 노름의 행렬 유사체
유한차원 행렬 \(A\) 에 대해 Frobenius 노름 은:
\[ \|A\|_F^2 = \sum_i \sum_j A_{ij}^2 = \text{tr}(A^T A). \]
Hilbert-Schmidt 노름은 정확히 이것의 함수 버전이다 — 합이 적분으로 바뀐 것이다:
\[ \|\psi\|_{HS}^2 = \int\!\!\int \psi^2(t, s) \, dt \, ds. \]
| 유한차원 | FDA |
|---|---|
| 행렬 \(A_{ij}\) | 핵 \(\psi(t, s)\) |
| Frobenius 노름 \(\sum_{ij} A_{ij}^2\) | HS 노름 \(\int\!\!\int \psi^2\) |
| 행렬 곱의 유계성 | \(L_2\) 의 유계성 |
| 모든 행렬에 대해 자동 성립 | 모든 핵에 대해 성립하지 않음 |
왜 이 비교가 중요한가: 유한차원에서는 어떤 행렬도 유한 Frobenius 노름을 가진다 (자동). 무한차원에서는 그렇지 않다 — Hilbert-Schmidt는 “함수 회귀의 추정량이 발산하지 않기 위한 가장 약한 자연 조건” 이다.
5.5 비-Hilbert-Schmidt의 예
다음 핵 \(\psi(t, s) = 1\) ( \(t, s \in [0, 1]\) )은 Hilbert-Schmidt이다 (\(\|\psi\|_{HS}^2 = 1\)).
그러나 Dirac 델타 \(\psi(t, s) = \delta(t - s)\) (느슨한 표현으로 항등 연산자)는 \(\int\!\!\int \delta^2(t - s) \, dt \, ds\) 가 발산하므로 Hilbert-Schmidt가 아니다. 항등 연산자 \(L_2(x) = x\) 가 유한차원에서는 너무나 자명하지만, 무한차원에서는 Hilbert-Schmidt 클래스의 바깥에 있다.
이 사실의 통계적 함의: 함수-on-함수 회귀에서 \(\psi(t, s) = \delta(t - s)\) (즉 \(Y(t) = X(t) + \varepsilon(t)\), 동일 시점 회귀) 같은 모형은 일반적인 적분 연산자 framework로는 추정되지 않으며, 별도의 점별(pointwise) 회귀 framework가 필요하다.
6 공분산 연산자
6.1 정의
이제 §3.2의 공분산 함수 \(c(t, s)\) 를 연산자로 다시 본다.
확률 함수 \(X\) 의 공분산 함수 \(c(t, s)\) 를 핵으로 갖는 적분 연산자
\[ C(x)(t) = \int c(t, s) x(s) \, ds \]
를 \(X\) 의 공분산 연산자(covariance operator) 라 한다.
이는 \(L^2\) 위의 \(L_2\) 형식 적분 연산자 (함수→함수)이다. 핵이 공분산 함수라는 점이 다른 적분 연산자와 구별된다.
6.2 공분산 연산자가 Hilbert-Schmidt임의 확인
\(X\) 가 제곱적분 가능 확률 함수이면 (\(E\|X\|^2 < \infty\)) 공분산 함수가 Hilbert-Schmidt이다:
\[ \int\!\!\int c^2(t, s) \, dt \, ds < \infty. \]
증명 스케치는 §3.2의 분산 분해 \(E\|X-\mu\|^2 = \sum_j \lambda_j\) 와 (다음에 나오는) 스펙트럼 분해를 이용한다 — \(\sum_j \lambda_j^2 \leq (\sum_j \lambda_j)^2 < \infty\).
이로부터 모든 추정·추론에서 공분산 연산자가 잘 정의된 유계 연산자임이 보장된다.
6.3 다변량 공분산 행렬과의 일대일 대응
| 다변량 통계 | FDA |
|---|---|
| 평균 벡터 \(\boldsymbol{\mu}\) | 평균 함수 \(\mu(t)\) |
| 공분산 행렬 \(\Sigma\) | 공분산 연산자 \(C\) |
| \(\Sigma_{ij} = c(i, j)\) (이산 핵) | \(C(x)(t) = \int c(t,s) x(s) \, ds\) (연속 핵) |
| 행렬-벡터 곱 \(\Sigma \mathbf{x}\) | 적분 변환 \(C(x)\) |
| 트레이스 \(\text{tr}(\Sigma) = \sum_i \Sigma_{ii}\) | \(\int c(t,t) \, dt = E\|X-\mu\|^2\) |
핵심 아날로지: 공분산 연산자는 함수 통계학에서 공분산 행렬의 역할을 그대로 떠맡는다. 행렬 곱이 적분 변환으로 바뀐 것뿐.
6.4 공분산 연산자의 의미
\(C(x)(t) = \int c(t, s) x(s) \, ds\) 가 함수 \(x\) 에 무엇을 하는가?
직관: 입력 함수 \(x\) 의 모든 시점 정보를 모아서, 출력 시점 \(t\) 에서의 “\(x\) 와 곡선군 간의 공변 가중 평균” 을 계산한다.
만약 \(x\) 가 어느 한 주방향 \(v_j\) 와 정렬되어 있으면, \(C(x)\) 는 \(\lambda_j x\) 가 된다 (다음 절). 즉 공분산 연산자는 곡선 변동의 주방향과 그 강도 를 동시에 인코딩한다.
7 스펙트럼 분해
7.1 핵심 사실
§3.2에서 보았듯, 공분산 연산자의 고유함수 \(v_j\) 는 적분 방정식
\[ \int c(t, s) v_j(s) \, ds = \lambda_j v_j(t) \]
의 해이며, 연산자 표기로:
\[ C(v_j) = \lambda_j v_j. \]
\[ C(x) = \sum_{j=1}^{\infty} \lambda_j \langle x, v_j \rangle v_j, \quad x \in L^2. \]
여기서 \(\{v_j\}\) 는 정규직교 기저, \(\lambda_1 \geq \lambda_2 \geq \cdots \geq 0\).
7.2 스펙트럼 분해의 유도
\(x \in L^2\) 를 정규직교 기저 \(\{v_j\}\) 로 전개하면:
\[ x = \sum_j \langle x, v_j \rangle v_j. \]
\(C\) 가 선형 연산자이므로:
\[ C(x) = \sum_j \langle x, v_j \rangle C(v_j) = \sum_j \langle x, v_j \rangle \lambda_j v_j = \sum_j \lambda_j \langle x, v_j \rangle v_j. \]
7.3 다변량 행렬 분해와의 정확한 대응
유한차원에서 대칭 양정치 행렬 \(\Sigma\) 의 고유 분해는:
\[ \Sigma = \sum_{j=1}^d \lambda_j \mathbf{v}_j \mathbf{v}_j^T. \]
벡터 \(\mathbf{x}\) 에 작용하면:
\[ \Sigma \mathbf{x} = \sum_{j=1}^d \lambda_j \mathbf{v}_j \mathbf{v}_j^T \mathbf{x} = \sum_{j=1}^d \lambda_j (\mathbf{v}_j^T \mathbf{x}) \mathbf{v}_j. \]
이는 정확히 함수 버전과 같다 — \(\mathbf{v}_j^T \mathbf{x}\) 가 \(\langle x, v_j \rangle\) 로 바뀌었을 뿐:
| 유한차원 | FDA |
|---|---|
| \(\Sigma \mathbf{x} = \sum_j \lambda_j (\mathbf{v}_j^T \mathbf{x}) \mathbf{v}_j\) | \(C(x) = \sum_j \lambda_j \langle x, v_j \rangle v_j\) |
| 점곱 \(\mathbf{v}_j^T \mathbf{x}\) | 내적 \(\langle x, v_j \rangle\) |
| 외적 \(\mathbf{v}_j \mathbf{v}_j^T\) (rank-1 행렬) | 텐서 곱 \(v_j \otimes v_j\) (rank-1 연산자) |
| 합 항 \(d\) 개 | 합 항 무한 |
7.4 스펙트럼 분해를 어떻게 읽는가
공식 \(C(x) = \sum_j \lambda_j \langle x, v_j \rangle v_j\) 의 의미를 한 단계씩 해부한다.
- \(\langle x, v_j \rangle\): \(x\) 의 \(v_j\) 방향 성분 (= “\(x\) 에 \(v_j\) 가 얼마나 들어 있는가”).
- \(\lambda_j \langle x, v_j \rangle\): 그 성분에 분산을 곱함 (변동 강도 반영).
- \(\lambda_j \langle x, v_j \rangle v_j\): 다시 \(v_j\) 방향으로 복원 (단, 강도가 \(\lambda_j\) 만큼 줄거나 늘었을 수 있음).
- \(\sum_j\): 모든 주방향에 걸쳐 합산.
비유: 공분산 연산자는 “악기 믹서(mixer)” 이다. 입력 곡선을 각 악기(주방향) 트랙으로 분리하고, 각 트랙의 볼륨을 그 악기의 평균 음량(\(\lambda_j\))에 비례해 조정한 후, 다시 합산한다. 작은 \(\lambda_j\) 를 가진 악기는 출력에서 거의 사라지고, 큰 \(\lambda_j\) 를 가진 악기는 더욱 두드러진다.
7.5 스펙트럼 분해의 통계적 의미
이 분해가 통계 추론에서 어떻게 쓰이는지 정리한다.
1. 차원 축소: 첫 \(K\) 개 항만 사용하면 \(C\) 의 가장 좋은 rank-\(K\) 근사이다 — Eckart-Young 정리의 함수 버전.
\[ C \approx \sum_{j=1}^K \lambda_j \langle \cdot, v_j \rangle v_j. \]
2. 역 연산자(pseudo-inverse): 함수 회귀에서 자주 등장한다. \(C\) 의 무한 고유값 (정확히는 0으로 수렴) 때문에 직접 역연산이 불가능하나, 첫 \(K\) 항으로 근사한 의사 역연산자를 사용한다:
\[ C^{-1}_K(x) = \sum_{j=1}^K \frac{1}{\lambda_j} \langle x, v_j \rangle v_j. \]
이는 함수 회귀에서 \(\widehat{\beta}(t) = \widehat{C}^{-1} \widehat{c}_{XY}(t)\) 형태의 추정량이 등장하는 이유이다.
3. 함수 시계열의 자기회귀 연산자: FAR(1) 모형 \(X_n(t) = \int \phi(t, s) X_{n-1}(s) \, ds + \varepsilon_n(t)\) 의 추정 \(\widehat{\Phi} = \widehat{C}_1 \widehat{C}^{-1}\) (Ch.8).
7.6 공분산 함수 vs 공분산 연산자
같은 정보를 두 가지 방식으로 표현하는 것이다.
| 표현 | 객체 종류 | 사용 |
|---|---|---|
| 공분산 함수 \(c(t, s)\) | 이변량 함수 | 추정·시각화·해석 |
| 공분산 연산자 \(C\) | 함수 → 함수 사상 | 이론·증명·추론 도구 |
이변량 함수와 적분 연산자가 일대일 대응한다: 핵 \(\Leftrightarrow\) 연산자. 그러나 두 표현이 강조하는 것이 다르다 — 함수는 “원소별 값” 을, 연산자는 “변환 작용” 을 강조한다.
8 응용: 함수 회귀에서의 공분산 연산자
8.1 스칼라-on-함수 회귀의 정규방정식
다변량 회귀 \(\mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}\) 의 정규방정식은:
\[ \Sigma_{XX} \boldsymbol{\beta} = \Sigma_{XY}. \]
함수 버전 (Ch.4 미리보기):
\[ C_{XX}(\beta)(t) = c_{XY}(t), \]
또는 명시적으로:
\[ \int c_{XX}(t, s) \beta(s) \, ds = c_{XY}(t). \]
여기서 \(c_{XX}(t, s)\) 는 \(X\) 의 공분산 함수, \(c_{XY}(t) = E[X(t)(Y - EY)]\) 는 cross-covariance 함수.
이 방정식의 직접 해는 \(\beta = C_{XX}^{-1}(c_{XY})\) 이지만, \(C_{XX}^{-1}\) 가 정의되지 않으므로(고유값이 0으로 수렴) 첫 \(K\) 항 절단으로:
\[ \widehat{\beta}(t) = \sum_{j=1}^{K} \frac{\langle c_{XY}, v_j \rangle}{\lambda_j} v_j(t). \]
이것이 함수 PCA 회귀(Functional Principal Component Regression) 의 추정량이다 (Ch.4 §4.3).
8.2 Cross-covariance 연산자
두 확률 함수 \(X, Y\) 에 대해:
\[ c_{XY}(t, s) = E[(X(t) - \mu_X(t))(Y(s) - \mu_Y(s))] \]
도 핵으로 보면 cross-covariance 연산자 \(C_{XY}: L^2 \to L^2\) 가 정의된다. 이는 함수-on-함수 회귀의 추정에 등장한다 (Ch.5).
| 양 | 다변량 | FDA |
|---|---|---|
| 자체 공분산 | \(\Sigma_{XX}\) | \(C_{XX}\) |
| 교차 공분산 | \(\Sigma_{XY}\) | \(C_{XY}\) |
| 회귀 계수 | \(\boldsymbol{\beta} = \Sigma_{XX}^{-1} \Sigma_{XY}\) | \(\beta = C_{XX}^{-1}(c_{XY})\) |
| Tikhonov 정칙화 | \((\Sigma_{XX} + \lambda I)^{-1}\) | \((C_{XX} + \lambda I)^{-1}\) |
8.3 Tikhonov 정칙화와 ridge 회귀의 함수 버전
다변량 ridge 회귀 \(\widehat{\boldsymbol{\beta}} = (\Sigma_{XX} + \lambda I)^{-1} \Sigma_{XY}\) 는 함수 버전에서:
\[ \widehat{\beta}_\lambda = (C_{XX} + \lambda I)^{-1}(c_{XY}). \]
스펙트럼 분해로:
\[ \widehat{\beta}_\lambda(t) = \sum_{j=1}^{\infty} \frac{\lambda_j}{\lambda_j + \lambda} \cdot \frac{\langle c_{XY}, v_j \rangle}{\lambda_j} v_j(t) = \sum_{j=1}^{\infty} \frac{\langle c_{XY}, v_j \rangle}{\lambda_j + \lambda} v_j(t). \]
해석: 정칙화 모수 \(\lambda\) 가 작은 고유값 \(\lambda_j\) 의 영향을 부드럽게 줄인다. \(\lambda_j \gg \lambda\) 인 큰 주방향에서는 거의 영향이 없고, \(\lambda_j \ll \lambda\) 인 잡음 방향에서는 강하게 억제된다. 이것이 ridge가 “고주파 잡음을 자동으로 제거” 하는 메커니즘이다.
9 R 코드: 공분산 연산자 추정과 스펙트럼 분해
9.1 시뮬레이션과 추정
library(fda)
# 데이터: 100개 곡선, 각 50개 시점 측정
set.seed(2026)
N <- 100
n_t <- 50
tgrid <- seq(0, 1, length.out = n_t)
# 평균 함수: 음의 포물선
mu_true <- function(t) 4 * t * (1 - t)
# 진짜 공분산 구조: 처음 3개 고유함수만 활성
v1 <- function(t) sqrt(2) * sin(pi * t)
v2 <- function(t) sqrt(2) * sin(2 * pi * t)
v3 <- function(t) sqrt(2) * sin(3 * pi * t)
lambda_true <- c(1.5, 0.5, 0.1)
# 곡선 생성: x_i(t) = mu(t) + sum_j xi_ij v_j(t) + noise
xi <- matrix(rnorm(N * 3), nrow = N) %*% diag(sqrt(lambda_true))
X <- matrix(NA, nrow = N, ncol = n_t)
for (i in seq_len(N)) {
X[i, ] <- mu_true(tgrid) +
xi[i, 1] * v1(tgrid) +
xi[i, 2] * v2(tgrid) +
xi[i, 3] * v3(tgrid) +
rnorm(n_t, sd = 0.1)
}
# 표본 평균과 표본 공분산 함수
mu_hat <- colMeans(X)
X_centered <- sweep(X, 2, mu_hat)
C_hat <- crossprod(X_centered) / N # n_t x n_t 추정 공분산 행렬
# 시각화: 평균 함수와 추정 공분산 표면
par(mfrow = c(1, 2))
plot(tgrid, mu_true(tgrid), type = "l", lwd = 2, col = "black",
ylim = c(-0.5, 1.5), xlab = "t", ylab = expression(mu(t)),
main = "Mean function")
lines(tgrid, mu_hat, lty = 2, lwd = 2, col = "red")
legend("topright", c("True", "Estimated"), lty = c(1, 2), col = c("black", "red"))
image(tgrid, tgrid, C_hat, col = heat.colors(50),
xlab = "t", ylab = "s", main = "Estimated covariance c(t,s)")9.2 스펙트럼 분해 수행
# 추정 공분산 행렬의 고유 분해
eig <- eigen(C_hat * (1 / n_t)) # (1/n_t)는 적분 정규화
# 양의 고유값만
pos_idx <- which(eig$values > 0)
lambda_hat <- eig$values[pos_idx]
V_hat <- eig$vectors[, pos_idx] * sqrt(n_t) # 정규직교 정규화
# 누적 분산 설명률 (CPV)
cpv <- cumsum(lambda_hat) / sum(lambda_hat)
cat("First 5 eigenvalues:\n")
print(round(lambda_hat[1:5], 4))
cat("\nCumulative variance proportion:\n")
print(round(cpv[1:5], 4))
# 첫 3개 고유함수 시각화
par(mfrow = c(1, 1))
matplot(tgrid, V_hat[, 1:3], type = "l", lty = 1, lwd = 2,
xlab = "t", ylab = expression(v[j](t)),
main = "Estimated FPCs (first 3)")
lines(tgrid, v1(tgrid), col = "red", lty = 2)
lines(tgrid, v2(tgrid), col = "blue", lty = 2)
lines(tgrid, v3(tgrid), col = "green", lty = 2)
legend("topright",
c("Estimated v1", "Estimated v2", "Estimated v3",
"True v1", "True v2", "True v3"),
lty = c(1, 1, 1, 2, 2, 2),
col = c("black", "red", "green", "red", "blue", "green"))9.3 코드의 핵심 관찰
\(\widehat{C}\) 는 행렬: 이산 시점 측정에서는 공분산 함수가 \(n_t \times n_t\) 행렬로 추정된다. 이는 무한차원 연산자의 유한차원 근사이다.
고유값 분해 = 스펙트럼 분해의 수치 구현: \(\widehat{C}\) 의 행렬 고유 분해가 정확히 공분산 연산자의 스펙트럼 분해의 이산 버전이다.
누적 분산비 (CPV) 가 차원 결정: 첫 3개 고유값이 변동의 거의 100%를 설명한다 (3개 진짜 성분 + 약간의 잡음). \(K = 3\) 차원으로 축소해도 정보 손실이 미미하다.
고유함수의 부호 모호성: \(\widehat{v}_j\) 와 \(-\widehat{v}_j\) 는 수학적으로 동등하다. 추정 결과가 진짜와 부호가 다를 수 있으므로, 시각화 전 부호 보정을 흔히 한다.
표본 크기와 추정 정확도: \(N = 100\) 일 때 첫 두 주성분은 매우 정확히 추정되지만, 작은 고유값을 가진 \(v_3\) 은 잡음과 섞여 추정 오차가 더 크다. 이는 작은 고유값을 사용하는 정칙화의 어려움을 보여준다.
10 정리: 적분 연산자가 FDA의 통합 언어
10.1 한 줄 요약
FDA의 모든 추론 도구는 적분 연산자의 스펙트럼 분해 위에서 전개된다.
이 한 문장이 §3.3의 핵심이다. 함수 회귀, 함수 시계열, 함수 ANOVA, 신뢰 밴드 — 모두 공분산 연산자(또는 그 변종)의 고유 분해를 통해 명시적 닫힌 형태로 표현된다.
10.2 Chapter 3 전체의 흐름 정리
세 절을 한 흐름으로 정리한다:
| 절 | 핵심 객체 | 역할 |
|---|---|---|
| §3.1 | \(L^2\) 공간, 내적, 기저 | 함수가 사는 무대 |
| §3.2 | 확률 함수, KL 전개 | 무대 위의 무작위성 |
| §3.3 | 적분 연산자, 공분산 연산자, 스펙트럼 분해 | 무작위성을 추론 가능하게 만드는 통합 언어 |
§3.1의 정규직교 기저는 §3.2의 KL 전개에서 고유함수로 등장하고, §3.3에서 다시 공분산 연산자의 고유 분해의 정규직교 시스템으로 등장한다. 동일한 수학적 객체가 세 가지 다른 시각으로 등장하는 것이다.
10.3 다음 챕터 미리보기
- Ch.4 (스칼라-on-함수 회귀): \(L_1\) 적분 연산자 + 공분산 연산자의 의사 역. 가솔린 옥탄가, 인지 점수 예측.
- Ch.5 (함수 반응 모형): \(L_2\) 적분 연산자 + cross-covariance 연산자. 자동차 팔 각도 예측.
- Ch.6 (함수 GLM): \(L_1\) + 링크 함수. DTI 데이터의 다발성 경화증 분류.
- Ch.8 (함수 시계열): 자기회귀 연산자 = \(C_1 C^{-1}\). 미국 사망률 곡선 예측.
- Ch.12 (추론): 표본 공분산 연산자의 점근 정규성. 신뢰 밴드, 평균 함수 검정.
이 모든 챕터의 추정량과 추론 도구가 §3.3의 적분 연산자 + 스펙트럼 분해 framework로 표현된다.
11 관련 주제
선행 지식
- FDA 1.0 — 개요
- FDA 1.1~1.2 — 기저 전개와 표본 통계량
- FDA 1.3 — EFPC와 BOA 수익률 분석
- FDA 3.0 — 함수 데이터의 수학적 프레임워크 개관
- FDA 3.1~3.2 — L² 공간과 확률 함수, Karhunen-Loève 전개
후속 주제
관련 개념
- PCA의 수학적 기초 — 다변량 행렬 고유 분해의 함수 버전
- Hilbert 공간 입문 — Ch.10의 엄밀한 전개와 연결
- 선형 연산자와 스펙트럼 정리 — 일반론
- Ridge 회귀와 정칙화 — Tikhonov 정칙화의 ML 사례