FDA 3.3 — 선형 변환과 공분산 연산자

적분 연산자, Hilbert-Schmidt 클래스, 공분산 연산자의 스펙트럼 분해

Kokoszka & Reimherr (2017) Ch.3 §3.3을 상세히 다룬다. 선형 변환의 정의, 함수→스칼라(L₁) 및 함수→함수(L₂) 적분 연산자의 구조, Hilbert-Schmidt 유한성 조건, 그리고 공분산 연산자의 정의와 스펙트럼 분해 C(x) = Σλⱼ⟨x,vⱼ⟩vⱼ의 의미를 다변량 행렬 대각화와의 대응을 통해 직관적으로 설명한다.

Statistics
Functional Data Analysis
저자

Kwangmin Kim

공개

2026년 05월 06일

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 직관: 두 가지 성질

선형성은 두 가지 별도 성질의 결합이다:

  1. 가법성(additivity): \(L(x + y) = L(x) + L(y)\) — “입력의 합의 출력 = 출력의 합”.
  2. 동차성(homogeneity): \(L(ax) = a L(x)\) — “입력의 스케일이 그대로 출력에 전달”.

이 둘이 모두 성립해야 선형이다. 직관적으로 “스케일과 더하기를 변환 후에 해도 같다” 는 의미이다.

3.3 예: 선형 vs 비선형

예제 (Kokoszka & Reimherr, 2017, Example 3.3.1)

\(\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 핵

정의: 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\) 의 의미를 한 단계씩 해부한다.

  1. \(\langle x, v_j \rangle\): \(x\)\(v_j\) 방향 성분 (= “\(x\)\(v_j\) 가 얼마나 들어 있는가”).
  2. \(\lambda_j \langle x, v_j \rangle\): 그 성분에 분산을 곱함 (변동 강도 반영).
  3. \(\lambda_j \langle x, v_j \rangle v_j\): 다시 \(v_j\) 방향으로 복원 (단, 강도가 \(\lambda_j\) 만큼 줄거나 늘었을 수 있음).
  4. \(\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 코드의 핵심 관찰

  1. \(\widehat{C}\) 는 행렬: 이산 시점 측정에서는 공분산 함수가 \(n_t \times n_t\) 행렬로 추정된다. 이는 무한차원 연산자의 유한차원 근사이다.

  2. 고유값 분해 = 스펙트럼 분해의 수치 구현: \(\widehat{C}\) 의 행렬 고유 분해가 정확히 공분산 연산자의 스펙트럼 분해의 이산 버전이다.

  3. 누적 분산비 (CPV) 가 차원 결정: 첫 3개 고유값이 변동의 거의 100%를 설명한다 (3개 진짜 성분 + 약간의 잡음). \(K = 3\) 차원으로 축소해도 정보 손실이 미미하다.

  4. 고유함수의 부호 모호성: \(\widehat{v}_j\)\(-\widehat{v}_j\) 는 수학적으로 동등하다. 추정 결과가 진짜와 부호가 다를 수 있으므로, 시각화 전 부호 보정을 흔히 한다.

  5. 표본 크기와 추정 정확도: \(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 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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