1 이 장의 위치와 목적
Chapter 4에서는 스칼라-on-함수 회귀 \(Y_i = \int \beta(s) X_i(s) \, ds + \varepsilon_i\) 를 통해 “함수 모수를 어떻게 추정하는가” 의 일반 원리를 익혔다. 이제 거꾸로의 방향 — 반응 자체가 함수인 경우 — 를 다룬다.
| 회귀 형태 | 모형 | 함수 모수 | 차원 |
|---|---|---|---|
| 스칼라-on-스칼라 | \(Y_i = \beta_0 + \sum_k \beta_k x_{ik} + \varepsilon_i\) | 벡터 \(\boldsymbol{\beta}\) | \(p\) |
| 스칼라-on-함수 (Ch.4) | \(Y_i = \int \beta(s) X_i(s) \, ds + \varepsilon_i\) | 함수 \(\beta(s)\) | \(\infty\) |
| 함수-on-스칼라 (Ch.5.1~5.2) | \(Y_i(t) = \sum_k x_{ik} \beta_k(t) + \varepsilon_i(t)\) | \(q\) 개 함수 \(\beta_k(t)\) | \(q \times \infty\) |
| 함수-on-함수 (Ch.5.3~5.7) | \(Y_i(t) = \alpha(t) + \int \psi(t,s) X_i(s) \, ds + \varepsilon_i(t)\) | 이변량 함수 \(\psi(t,s)\) | \(\infty \times \infty\) |
함수-on-스칼라는 “시간에 따라 변하는 회귀계수” 를 추정하는 문제이다. 함수-on-함수는 한 걸음 더 나아가 두 함수 공간을 잇는 적분 변환 을 통째로 추정한다. 두 모형 모두 Ch.4의 아이디어 — 무한차원 모수의 정칙화 — 를 기반으로 하지만, 추가적인 구조적 어려움이 있다 (Kokoszka & Reimherr, 2017, Ch.5).
1.1 직관: “출력이 곡선” 이라는 게 무슨 뜻인가
다중 회귀는 한 관측치당 한 숫자를 예측한다. 함수 반응 모형은 한 관측치당 곡선 한 개 를 예측한다.
| 분야 | 함수 반응 \(Y(t)\) | 예측 변수 |
|---|---|---|
| 자동차 인체공학 | 손 운동 중 팔 각도 곡선 | 목표 좌표 \((x, y, z)\) (스칼라) |
| 기상학 | 1년 365일 일평균 기온 곡선 | 지역 (범주형 스칼라) |
| 신경과학 | 뇌의 한 트랙트의 측정 곡선 | 다른 트랙트의 측정 곡선 (함수) |
| 분자생물학 | RT-PCR 증폭 곡선 (45 사이클) | 초기 농도 / 효소 양 (스칼라 또는 곡선) |
“한 줄 답” 이 아니라 “한 줄 답 + 그 답의 시간적 형태” 를 동시에 모형화한다는 것이 함수 반응 모형의 본질이다.
1.2 이 포스트의 흐름
5.1 함수-on-스칼라 OLS — 시점별 다중 회귀의 모음
↓
5.2 벌점 최소제곱 — 잡음 반응에 매끄러움 부과
↓
5.3 함수-on-함수 — 이변량 핵 ψ(t,s) 의 등장
↓
5.4 refund 구현 — fosr / pffr 함수
↓
5.5 FPCA 기반 핵 추정 — 데이터 자체의 주방향으로 ψ 분해
↓
5.6 효과 없음 검정 — H_0: ψ = 0 의 카이제곱 검정
↓
5.7 선형성 진단 — FPC 점수 산점도로 모형 타당성 점검
5.1과 5.2는 가장 단순한 환경(예측변수 스칼라)에서 함수 반응을 다루고, 5.3 이후는 일반적 환경(예측변수도 함수)으로 확장한다. 마지막 두 절(5.6, 5.7)은 추정 이후의 추론·진단 단계로, “이 모형을 정말 써도 되는가” 라는 질문에 답한다.
2 함수-on-스칼라 회귀
2.1 모형 정의
\(N\) 개의 관측 단위에 대해 다음을 가정한다:
\[ Y_i(t) = x_{i1} \beta_1(t) + x_{i2} \beta_2(t) + \cdots + x_{iq} \beta_q(t) + \varepsilon_i(t), \quad i = 1, 2, \ldots, N. \]
여기서:
- \(Y_i: \mathcal{T} \to \mathbb{R}\): 곡선 반응 (response curve)
- \(x_{ik} \in \mathbb{R}\): \(k\) 번째 스칼라 예측변수
- \(\beta_k: \mathcal{T} \to \mathbb{R}\): 효과 함수 (effect function) — 시간 \(t\) 에서 예측변수 \(x_k\) 가 반응에 주는 기여
- \(\varepsilon_i(t)\): 평균 0 의 잡음 곡선
행렬 표기로 통합하면:
\[ \mathbf{Y}(t) = \mathbf{X} \boldsymbol{\beta}(t) + \boldsymbol{\varepsilon}(t), \]
여기서 \(\mathbf{Y}(t) = [Y_1(t), \ldots, Y_N(t)]^T \in \mathbb{R}^N\), \(\mathbf{X} \in \mathbb{R}^{N \times q}\) 는 시간과 무관한 표준 설계 행렬, \(\boldsymbol{\beta}(t) = [\beta_1(t), \ldots, \beta_q(t)]^T \in \mathbb{R}^q\) 는 시점별 회귀계수 벡터.
2.2 직관: “각 시점이 작은 회귀 문제”
이 모형의 가장 강력한 직관은 다음 한 줄이다.
모든 시점 \(t\) 에서, 표준 다중 회귀가 진행된다.
시점 \(t = 0.3\) 을 고정하면, \(Y_i(0.3) = x_{i1} \beta_1(0.3) + \cdots + x_{iq} \beta_q(0.3) + \varepsilon_i(0.3)\) — 이는 평범한 다변량 회귀 식이며, 회귀계수는 단지 그 시점에서의 값 \(\beta_k(0.3)\) 이다.
따라서 함수-on-스칼라 회귀는 “연속적으로 인덱싱된 다중 회귀의 가족” 으로 볼 수 있다. 시점이 바뀌면 회귀계수도 바뀐다 — 그러나 같은 설계 행렬 \(\mathbf{X}\) 를 공유한다.
2.3 비유: 연속 촬영 사진사
여러 모델을 같은 위치에 세우고 1초마다 사진을 찍는 사진사를 생각한다. 매 시점마다 사진(반응 곡선의 한 슬라이스)이 다르지만, 모델들의 위치(설계 행렬)는 변하지 않는다. 함수 반응 분석은 “각 시점의 사진을 따로 분석” 하는 것이 아니라 “시점들 사이에서 사진이 어떻게 변하는지” 를 한꺼번에 모형화한다.
2.4 최소제곱 추정량
벌점 없는 최소제곱(OLS)의 핵심은 시점별 독립성 이다. 손실함수
\[ \sum_{i=1}^{N} \| Y_i - \sum_{k=1}^{q} x_{ik} \beta_k \|^2 = \int \sum_{i=1}^{N} \left( Y_i(t) - \sum_{k=1}^{q} x_{ik} \beta_k(t) \right)^2 dt \]
는 각 시점 \(t\) 의 “내부” 합을 별도로 최소화함으로써 전체가 최소화된다. 따라서 각 \(t\) 에서:
\[ \widehat{\boldsymbol{\beta}}(t) = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}(t). \]
이는 시점 \(t\) 에서의 평범한 정규방정식 해이다 (식 5.3).
2.5 직관: 왜 “점별(pointwise)” 만으로 충분한가
각 시점에서 잡음 \(\varepsilon_i(t)\) 를 본다고 가정하자. 시점들 사이에 잡음 의존 구조 가 있어도 — 즉 \(\varepsilon_i(t_1)\) 과 \(\varepsilon_i(t_2)\) 가 상관되어도 — 점별 OLS 는 여전히 비편향이다. 시점 간 상관은 추정량의 분산·표준오차에는 영향을 주지만, 평균값은 바꾸지 않는다.
이는 다변량 통계의 잘 알려진 사실 — “독립이 아니어도 OLS 는 비편향” — 의 함수 버전이다.
2.6 응용 사례: 자동차 대시보드 설계
데이터 (Faraway, 1997): 운전자가 핸들에서 손을 뗀 후 대시보드 위 20개 위치를 향해 팔을 뻗는 동작. 각 위치당 3회 반복, 1개 이상치 제거 후 \(N = 59\).
- \(Y_i(t) \in [\text{각도}]\), \(t \in [0, 1]\) — 어깨·팔꿈치·손목이 만드는 각도, 시간은 동작 시작-끝 사이로 정규화.
- \(x_i = (x_i, y_i, z_i)\) — 목표 위치의 직교 좌표.
처음 시도한 모형 (\(q = 4\)):
\[ Y_i(t) = \beta_0(t) + x_i \beta_x(t) + y_i \beta_y(t) + z_i \beta_z(t) + \varepsilon_i(t). \]
선형 항만으로는 적합이 부족하여, 2차 항 + 교차 항을 추가한 모형 (\(q = 10\)):
\[ Y_i(t) = \beta_0(t) + x_i \beta_x(t) + \cdots + x_i y_i \beta_{xy}(t) + x_i^2 \beta_{x^2}(t) + \cdots + \varepsilon_i(t). \]
추정 후 잔차 곡선 \(\widehat{\varepsilon}_i(t) = Y_i(t) - \widehat{Y}_i(t)\) 의 EFPC 분석에서 \(\widehat{\lambda}_1 = 182.6\), \(\widehat{\lambda}_4 = 5.3\) 으로 첫 EFPC 가 잔차 변동성을 지배한다. 첫 EFPC \(\widehat{v}_1\) 의 형태가 동작 중간부에서 변동이 가장 크고 시작·끝에서 작음을 보여준다.
2.7 직관: 왜 동작 중간에 변동이 큰가
시작점은 핸들, 끝점은 목표 위치 — 둘 다 공간적으로 고정된 점이다. 그러나 손이 그 사이를 어떻게 통과하느냐는 자유롭다. 제약이 강한 양 끝에서는 변동성이 작고, 자유로운 중간에서 크다 — 이는 운전자의 개별 습관, 물건 회피 경로, 신체적 편차 등이 중간 구간에 누적되기 때문이다.
이 구조는 함수 회귀 잔차의 EFPC 가 단순한 통계 도구를 넘어 실무적 통찰 을 준다는 점을 보여준다 — “어느 시점에 변동이 집중되는가” 가 직접 물리적 의미를 가진다.
3 벌점 최소제곱 추정
3.1 동기
5.1의 점별 OLS 는 반응 함수가 매끄러울 때만 정당 하다. 잡음이 큰 반응은 점별로 추정한 \(\widehat{\beta}_k(t)\) 도 거칠어진다 — 매끄러움 가정(\(\beta_k\) 자체가 매끈한 함수) 과 모순된다.
3.2 핵심 아이디어
각 효과 함수를 기저로 전개:
\[ \beta_\ell(t) = \sum_{k=1}^{K} b_{\ell k} \varphi_k(t), \]
기저 함수의 수 \(K\) 는 충분히 크게 잡되, 거칠기 벌점으로 매끄러움을 강제한다.
3.3 벌점 손실함수
\[ \sum_{i=1}^{N} \sum_{j=1}^{J} \left( Y_i(t_j) - \mathbf{X}_i^T \boldsymbol{\beta}(t_j) \right)^2 + \sum_{\ell=1}^{q} \lambda_\ell \int \{(L \beta_\ell)(t)\}^2 \, dt. \]
여기서 \(L\) 은 미분 연산자(보통 \(L \beta = \beta''\)), \(\lambda_\ell\) 은 효과 함수 \(\beta_\ell\) 별로 독립적으로 선택되는 벌점 모수.
3.4 직관: 효과 함수마다 다른 매끄러움
\(\lambda_\ell\) 이 각 \(\ell\) 에 따라 다를 수 있다는 점이 중요하다. 어떤 예측변수의 효과는 매끄럽게 변하고(예: 키 차이가 시간에 따라 천천히 누적되는 효과), 다른 예측변수의 효과는 급변할 수 있다(예: 시작 신호와의 상관). 함수-on-스칼라 회귀에서 각 회귀계수에 별도의 매끄러움 모수를 허용 하는 것이 자연스럽다.
이는 다변량 ridge 회귀에서 “모든 계수에 같은 정칙화” 를 부과하던 관행과 다르다. 함수 차원에서는 효과별 거칠기가 본질적으로 다르므로 별도 정칙화가 필요하다.
3.5 명시적 해
기저 전개와 벡터화·크로네커 곱 표기를 도입하면 닫힌 형태의 해가 존재한다 (식 5.6):
\[ \text{vec}(\mathbf{B}^T) = \left[ \mathbf{U}^T \mathbf{U} + \boldsymbol{\Lambda} \otimes \mathbf{R} \right]^{-1} \mathbf{U}^T \text{vec}(\mathbf{Y}^T), \]
여기서 \(\mathbf{U} = \mathbf{X} \otimes \boldsymbol{\Phi}^T\), \(\boldsymbol{\Lambda} = \text{diag}(\lambda_1, \ldots, \lambda_q)\), \(\mathbf{R}\) 은 거칠기 행렬.
3.6 직관: 크로네커 곱이 왜 등장하는가
표준 ridge 회귀의 해 \((\mathbf{X}^T \mathbf{X} + \lambda \mathbf{R})^{-1} \mathbf{X}^T \mathbf{Y}\) 는 단일 예측변수 차원과 단일 시점 차원을 가진다. 함수-on-스칼라 회귀는 두 차원이 독립적으로 등장 — \(q\) 개의 예측변수 차원 (^T $) 과 \(K\) 개의 기저 차원 ( ^T$).
크로네커 곱 \(\boldsymbol{\Lambda} \otimes \mathbf{R}\) 은 두 차원의 결합 정칙화 를 표현한다 — “예측변수 \(\ell\) 에 대해 매끄러움 모수 \(\lambda_\ell\), 기저 차원에서 거칠기 행렬 \(\mathbf{R}\)” 의 직곱 구조. 다변량 자료의 GLS 에서 공분산 구조 \(\boldsymbol{\Sigma}_1 \otimes \boldsymbol{\Sigma}_2\) 가 등장하는 것과 같은 맥락이다.
3.7 비유: 두 방향으로 잡아당기는 그물
낚시 그물에 두 종류의 인장력이 작용한다고 상상한다. 가로 방향(예측변수 차원)에서 ridge 처럼 큰 계수에 벌점, 세로 방향(시간 차원)에서 거칠기에 벌점. 그물의 어느 코든 두 인장력의 결과로 모양이 결정된다 — 크로네커 곱은 이 “두 인장력의 곱셈적 결합” 을 정확히 표현한다.
4 함수-on-함수 회귀
4.1 모형 정의
\[ Y_i(t) = \alpha(t) + \int_{\mathcal{S}} \psi(t, s) X_i(s) \, ds + \varepsilon_i(t), \quad i = 1, 2, \ldots, N. \]
여기서:
- \(Y_i: \mathcal{T} \to \mathbb{R}\): 반응 곡선
- \(X_i: \mathcal{S} \to \mathbb{R}\): 회귀자 곡선 (반응의 도메인 \(\mathcal{T}\) 와 다른 도메인 가능)
- \(\alpha: \mathcal{T} \to \mathbb{R}\): 절편 함수
- \(\psi: \mathcal{T} \times \mathcal{S} \to \mathbb{R}\): 이변량 회귀 핵 (regression kernel) — 이 모형의 핵심 모수
- \(\varepsilon_i\): iid 평균 0 잡음 곡선
4.2 직관 1: 핵 \(\psi(t, s)\) 의 의미
\(\psi(t, s)\) 는 “회귀자의 시점 \(s\) 의 값이 반응의 시점 \(t\) 의 값에 주는 영향력” 이다.
- \(\psi(t_0, s_0) > 0\): \(X(s_0)\) 의 증가가 \(Y(t_0)\) 를 증가시킴.
- \(\psi(t_0, s_0) < 0\): \(X(s_0)\) 의 증가가 \(Y(t_0)\) 를 감소시킴.
- \(\psi(t_0, s_0) \approx 0\): \(X(s_0)\) 가 \(Y(t_0)\) 에 영향을 주지 않음.
핵 \(\psi\) 는 두 시간 축을 잇는 변환 표면(transformation surface) 이며, 시각화하면 2D 표면(persp 그림)이나 히트맵으로 표현된다.
4.3 직관 2: 무한차원 행렬-벡터 곱
이산 다변량 회귀 \(\mathbf{Y} = \boldsymbol{\Psi} \mathbf{X}\) 에서 \(\boldsymbol{\Psi}\) 는 행렬, \(\mathbf{X}\) 는 벡터. 함수-on-함수 회귀는 이의 연속 일반화:
\[ Y(t) = \int \psi(t, s) X(s) \, ds. \]
| 이산 (다변량) | 연속 (함수) |
|---|---|
| \(Y_t = \sum_s \psi_{ts} X_s\) | \(Y(t) = \int \psi(t, s) X(s) \, ds\) |
| 행렬 \(\boldsymbol{\Psi} \in \mathbb{R}^{m \times n}\) | 핵 \(\psi(t, s)\) |
| 행렬-벡터 곱 | 적분 변환 |
핵 \(\psi\) 는 무한차원 행렬 에 해당한다. 이 관점에서 함수-on-함수 회귀의 어려움은 “행이 무한 개, 열도 무한 개인 행렬을 유한 표본에서 추정” 의 문제로 환원된다.
4.4 비유: 빛의 굴절 패턴
프리즘에 백색광을 통과시킨다. 입력은 모든 파장의 빛(함수 \(X\)), 출력은 굴절각별 강도 분포(함수 \(Y\)). 프리즘의 굴절 특성은 두 변수의 함수 \(\psi(\text{출력각}, \text{파장})\) — 어떤 파장이 어떤 각도로 굴절되는지의 매핑이다. 함수-on-함수 회귀는 “여러 입력-출력 쌍에서 프리즘의 굴절 표면을 역추정” 하는 것에 비유할 수 있다.
4.5 일반 모형 (스칼라 + 다중 함수 회귀자)
실제 데이터에서는 스칼라 회귀자와 함수 회귀자가 함께 등장한다 (식 5.11):
\[ Y_i(t) = \alpha(t) + \mathbf{w}_i^T \boldsymbol{\gamma} + \int_{\mathcal{S}} \psi_1(t, s) X_{i1}(s) \, ds + \int_{\mathcal{R}} \psi_2(t, r) X_{i2}(r) \, dr + \varepsilon_i(t). \]
여기서 \(\mathbf{w}_i\) 는 스칼라 회귀자 벡터, \(\boldsymbol{\gamma}\) 는 표준 회귀계수, \(X_{i1}, X_{i2}\) 는 함수 회귀자 (서로 다른 도메인 가능).
4.6 식별성 (identifiability) 조건
핵 \(\psi\) 와 절편 \(\alpha\) 를 분리하기 위해 회귀자를 중심화 해야 한다:
\[ X_{i\ell}^c(s) = X_{i\ell}(s) - \frac{1}{N} \sum_{i=1}^{N} X_{i\ell}(s). \]
직관: 중심화하지 않으면 \(\alpha + \int \psi \mu_X\) 가 절편으로 흡수되어 둘을 구분할 수 없다. 다변량 회귀에서 절편을 추정할 때 회귀자를 평균 차감하는 것과 같은 맥락이다.
4.7 추정: 양방향 기저 전개 + 벌점
핵을 이변량 기저 로 전개:
\[ \psi_1(t, s) = \sum_{g=1}^{G} \psi_{1, g} B_{1, g}(t, s). \]
이변량 기저는 보통 일변량 기저의 텐서 곱(tensor product)으로 구성: \(B(t, s) = B_t(t) \cdot B_s(s)\). 미분 연산자 \(L\) (예: 라플라시안 \(\partial^2/\partial t^2 + \partial^2/\partial s^2\)) 의 적분이 거칠기 벌점을 정의한다.
4.8 직관: 텐서 곱 기저의 의미
이변량 기저 \(B(t, s) = B_t(t) \cdot B_s(s)\) 는 “두 일변량 기저의 모든 조합” 이다. 예를 들어 \(t\) 에 대해 30개 B-spline, \(s\) 에 대해 30개 B-spline 을 쓰면 이변량 기저는 \(30 \times 30 = 900\) 개. 이 큰 수의 자유도가 “왜 함수-on-함수가 함수-on-스칼라보다 어려운가” 를 설명한다 — 모수의 개수가 문자 그대로 곱셈적으로 폭발 한다.
4.9 벌점 함수의 두 종류
핵의 거칠기는 다양한 방식으로 정의 가능하다.
| 벌점 형태 | 의미 |
|---|---|
| \(\int (\psi_{tt})^2 \, dt \, ds\) | \(t\) 방향 곡률만 벌점 |
| \(\int (\psi_{ss})^2 \, dt \, ds\) | \(s\) 방향 곡률만 벌점 |
| \(\int (\psi_{tt} + \psi_{ss})^2 \, dt \, ds\) | 라플라시안 — 양 방향 합 |
선택은 도메인 지식에 의존한다 — 예를 들어 \(\psi(t, s)\) 가 \(t\) 에 대해 매끄럽고 \(s\) 에 대해 거칠 것이 예상되면 \(t\) 방향에만 강한 벌점.
5 refund 패키지 구현
5.1 두 핵심 함수
refund 패키지의 두 함수가 5.2 와 5.3 의 추정을 담당한다.
| 함수 | 모형 | 비고 |
|---|---|---|
fosr |
함수-on-스칼라 | OLS, GLS, 순열 검정 지원 |
pffr |
함수-on-스칼라, 함수-on-함수 | 더 유연하고 강력, mixed model framework |
pffr 은 일반화 가법 모형 라이브러리 mgcv 위에 구축되어, REML 또는 GCV 로 매끄러움 모수가 자동 선택된다.
5.2 함수-on-스칼라 예시: 캐나다 기온 데이터
데이터: 35개 캐나다 관측소의 일평균 기온 곡선 (\(t \in \{1, \ldots, 365\}\)). 각 관측소는 4개 기후권(북극, 대서양, 대륙, 태평양) 중 하나에 속한다.
모형:
\[ Y_i(t) = \mu(t) + \alpha_{r(i)}(t) + \varepsilon_i(t), \]
여기서 \(\mu(t)\) 는 캐나다 전체 평균 기온 곡선, \(\alpha_r(t)\) 는 기후권 \(r\) 의 평균과의 편차, 식별성을 위해 \(\sum_r \alpha_r(t) = 0\) 가정.
library(fda)
library(refund)
# 1. 함수 데이터 객체 생성
daybasis25 <- create.fourier.basis(rangeval = c(0, 365), nbasis = 25,
axes = list("axesIntervals"))
Temp.fd <- with(CanadianWeather,
smooth.basisPar(day.5, dailyAv[, , "Temperature.C"],
daybasis25)$fd)
# 2. 설계 행렬: 절편 + 4 기후권 더미
modmat <- cbind(1, model.matrix(~ factor(CanadianWeather$region) - 1))
constraints <- matrix(c(0, 1, 1, 1, 1), 1) # sum-to-zero on region effects
# 3-1. OLS 적합
olsmod <- fosr(fdobj = Temp.fd, X = modmat, con = constraints,
method = "OLS", lambda = 100 * 10:30)
# 3-2. GLS 적합 (잔차 곡선의 공간 의존성 고려)
glsmod <- fosr(fdobj = Temp.fd, X = modmat, con = constraints,
method = "GLS")
# 4. 결과 시각화
par(mfrow = c(2, 5), mar = c(5, 2, 4, 1))
plot(olsmod, split = 1, set.mfrow = FALSE,
titles = c("OLS: Intercept",
levels(factor(CanadianWeather$region))),
ylab = "", xlab = "Day")
plot(glsmod, split = 1, set.mfrow = FALSE,
titles = c("GLS: Intercept",
levels(factor(CanadianWeather$region))),
ylab = "", xlab = "Day")5.3 직관: 왜 OLS 가 아닌 GLS 인가
이웃한 관측소의 기온 곡선은 공간적 상관(spatial correlation)을 가진다. OLS 는 잔차가 비상관임을 가정하므로, 이런 데이터에서 표준오차를 과소평가한다. GLS 는 잔차의 공분산 구조를 추정하여 가중 최소제곱 으로 해결한다.
캐나다 기온 데이터에서 OLS 와 GLS 의 점추정은 비슷하지만, GLS 의 추정 함수가 약간 더 매끈한 경향이 있다 — 종속성을 모형에 포함하여 잡음 중 일부가 “신호” 가 아닌 “구조” 임을 인식하기 때문이다.
5.4 함수-on-함수 예시: pffr 시뮬레이션
library(refund)
# 1. 함수-on-함수 데이터 시뮬레이션
set.seed(9312)
data_ff <- pffrSim(scenario = c("int", "ff"), n = 100)
# psi(s, t) = s * cos(pi * |s - t|) - 0.19 (시뮬레이션의 참 핵)
# X_i: [0,1]에서 40개 등간격 점 위에서 정의, 큐빅 B-spline + 정규 잡음
# Y_i: [0,1]에서 60개 등간격 점 위에서 정의, alpha(t) = 1 + dbeta(t, 2, 7)
# 2. pffr로 함수-on-함수 회귀 적합
m_ff <- pffr(Y ~ ff(X1), data = data_ff)
# 3. 추정된 핵 표면 시각화
psi_plot <- plot(m_ff, select = 2, pers = TRUE)[[2]]
persp(psi_plot$x, psi_plot$y, matrix(psi_plot$fit, 40, 40),
xlab = "s", ylab = "t",
phi = 40, theta = 30, ticktype = "detailed",
main = expression(hat(psi)(t, s)),
border = NA, col = "grey", shade = 0.7)ff(X1) 헬퍼가 X1 을 함수 회귀자로 표시한다. 자동으로 이변량 기저 전개와 벌점을 적용하여 핵 \(\widehat{\psi}(t, s)\) 를 추정한다.
6 FPCA 기반 핵 추정
6.1 동기
5.3 의 기저 전개·벌점 접근은 결정적 기저(B-spline, Fourier 등) 를 사용한다. 그러나 데이터의 변동 구조가 이 기저와 잘 맞지 않으면 비효율적이다. 데이터 자체의 주방향(EFPC) 을 기저로 사용 하면 적은 항으로도 정확한 추정이 가능하다.
6.2 사전 작업: 영 절편으로의 환원
평균을 차감하여 절편을 분리:
\[ Y_i^c(t) = \int \psi(t, s) X_i^c(s) \, ds + \varepsilon_i(t), \]
추정된 \(\widehat{\psi}\) 로부터 \(\widehat{\alpha}(t) = \widehat{\mu}_Y(t) - \int \widehat{\psi}(t, s) \widehat{\mu}_X(s) \, ds\) 로 절편을 복원한다.
6.3 핵 분해
\(X\) 와 \(Y\) 의 KL 전개를 도입:
\[ X(s) = \sum_{i=1}^{\infty} \xi_i v_i(s), \quad Y(t) = \sum_{j=1}^{\infty} \zeta_j u_j(t), \]
여기서 \(v_i\) 는 \(X\) 의 FPC, \(u_j\) 는 \(Y\) 의 FPC, \(\xi_i, \zeta_j\) 는 점수.
핵 \(\psi\) 는 \(\{v_\ell(s) u_k(t)\}\) 가 \(L^2(\mathcal{S} \times \mathcal{T})\) 의 기저를 이루므로 다음 형태로 전개 가능:
\[ \psi(t, s) = \sum_{k=1}^{\infty} \sum_{\ell=1}^{\infty} \psi_{k\ell} u_k(t) v_\ell(s). \]
6.4 핵심 결과: 계수 공식
직접 유도(식 5.17)에 의해:
\[ \psi_{k\ell} = \frac{E[\xi_\ell \zeta_k]}{E[\xi_\ell^2]} = \frac{\sigma_{\ell k}}{\lambda_\ell}, \]
여기서 \(\sigma_{\ell k} = E[\xi_\ell \zeta_k]\) (입력·출력 점수 간 공분산), \(\lambda_\ell = E[\xi_\ell^2]\) (\(X\) 의 \(\ell\) 번째 고유값).
6.5 직관: “좌표계가 자연스럽게 정렬된 회귀”
이 공식은 다변량 회귀의 가장 단순한 형태와 같다:
\[ \beta = \frac{\text{Cov}(X, Y)}{\text{Var}(X)}. \]
함수 버전은 “\(X\) 의 주방향과 \(Y\) 의 주방향 사이의 회귀” — 무한 개의 1차원 회귀 문제로 분해된다. 각 회귀계수 \(\psi_{k\ell}\) 는 \(\xi_\ell\) (X 의 \(\ell\) 번째 PC) 이 \(\zeta_k\) (Y 의 \(k\) 번째 PC) 를 얼마나 설명하는지를 정량화한다.
6.6 비유: 음향 시스템의 등화기(equalizer)
음악(입력 신호)을 베이스·중음·고음 등 주파수 대역으로 분해(X 의 FPC)하고, 출력도 비슷하게 분해(Y 의 FPC)한 후, 각 대역 사이의 변환 강도를 슬라이더로 조절한다 (\(\psi_{k\ell}\)). 슬라이더 행렬 전체가 시스템의 응답 특성 — 즉 핵 \(\psi(t, s)\) — 을 결정한다.
6.7 추정량
표본 공분산과 추정 EFPC 로 대체:
\[ \widehat{\psi}(t, s) = \sum_{k=1}^{q} \sum_{\ell=1}^{p} \frac{\widehat{\sigma}_{\ell k}}{\widehat{\lambda}_\ell} \widehat{u}_k(t) \widehat{v}_\ell(s), \]
여기서
\[ \widehat{\sigma}_{\ell k} = \frac{1}{N} \sum_{i=1}^{N} \langle X_i, \widehat{v}_\ell \rangle \langle Y_i, \widehat{u}_k \rangle. \]
절단 차원 \(p, q\) 는 누적 분산비(CPV) 또는 스크리 도표로 선택.
6.8 코드 예시: 캐나다 기온 → 강수량
library(fda)
data(daily)
precav <- daily$precav
tempav <- daily$tempav
daytime <- (1:365) - 0.5
dayrange <- c(0, 365)
dayperiod <- 365
# 1. Fourier 기저 + harmonic acceleration penalty 로 곡선 생성·평활
daybasis <- create.fourier.basis(dayrange, 365)
Lcoef <- c(0, (2 * pi / dayperiod)^2, 0)
harmaccelLfd <- vec2Lfd(Lcoef, dayrange)
lambda <- 1e6
fdParobj <- fdPar(daybasis, harmaccelLfd, lambda)
precfd <- smooth.basis(daytime, precav, fdParobj)$fd
tempfd <- smooth.basis(argvals = daytime, tempav, fdParobj)$fd
# 2. 평균 차감
precfd.c <- center.fd(precfd)
tempfd.c <- center.fd(tempfd)
# 3. EFPC 추정 (X = 기온 4개, Y = 강수 6개)
prec.pca <- pca.fd(precfd.c, nharm = 6)
temp.pca <- pca.fd(tempfd.c, nharm = 4)
# 4. 점수 행렬 곱으로 sigma_{ell k} 추정 → 분해 계수
sigmas <- t(temp.pca$scores) %*% prec.pca$scores # 4 x 6
cs <- diag(1 / temp.pca$values[1:4]) %*% sigmas # ~ sigma / lambda
# 5. beta 함수 계수 → 이변량 함수 객체
beta.coefs <- temp.pca$harmonics$coefs %*% cs %*% t(prec.pca$harmonics$coefs)
beta.bifd <- bifd(beta.coefs,
sbasisobj = temp.pca$harmonics$basis,
tbasisobj = prec.pca$harmonics$basis)6.9 직관: 왜 이 데이터가 좋은 예시인가
캐나다에서 기온과 강수는 명확한 인과 관계를 갖는다 — 따뜻한 공기가 더 많은 수증기를 운반하므로 여름 강수가 겨울보다 많다. FPCA 기반 핵 추정은 이 관계를 두 곡선의 주성분 사이의 회귀 로 분해 — 첫 번째 PC 는 보통 “전체 수준” (연평균), 두 번째 PC 는 “계절성” (여름-겨울 차) 등을 표현한다.
추정된 \(\widehat{\psi}(t, s)\) 의 표면을 보면 “기온이 높아지는 시점(\(s\) 의 여름) 이 강수가 많은 시점(\(t\) 의 여름) 에 큰 양의 영향을 준다” 는 패턴이 시각적으로 드러난다.
7 효과 없음 검정 (Test of No Effect)
7.1 검정 문제
함수-on-함수 모형 (5.15) 에서:
\[ H_0: \psi(t, s) = 0 \quad \text{vs.} \quad H_A: \psi(t, s) \neq 0. \]
\(H_0\) 는 “회귀자 \(X\) 가 반응 \(Y\) 에 어떤 선형 효과도 주지 않는다” 와 같다. 다변량 회귀에서 \(H_0: \boldsymbol{\beta} = \mathbf{0}\) (전 회귀자 일괄 효과 없음) 의 함수 버전이다.
7.2 검정 통계량의 동기
\(\Psi\) 가 핵 \(\psi\) 의 적분 연산자일 때, 다음 관계가 성립 (식 5.20):
\[ \lambda_i \Psi(v_i) = \Delta(v_i), \]
여기서 \(C, \Gamma, \Delta\) 는 \(X, Y\) 와 그 교차항의 공분산 연산자.
이 관계로부터 “\(\Psi(X) = 0\) 이려면 모든 \(i\) 에 대해 \(\Delta(v_i) = 0\)” 이 성립. \(u_j\) 가 \(L^2\) 의 기저이므로 \(\langle \Delta(v_i), u_j \rangle = 0\) 의 무한히 많은 조건으로 환원되며, 유한 절단으로 검정한다.
7.3 검정 통계량과 분포
\[ \widehat{T}_N(p, q) = N \sum_{k=1}^{p} \sum_{j=1}^{q} \widehat{\lambda}_k^{-1} \widehat{\gamma}_j^{-1} \langle \widehat{\Delta}(\widehat{v}_k), \widehat{u}_j \rangle^2. \]
\(H_0\) 하에서 \(\widehat{T}_N(p, q) \xrightarrow{d} \chi^2_{pq}\) (자유도 \(p \times q\)).
7.4 알고리즘 5.6.1
- 차원 선택: 스크리 도표 또는 누적 분산비로 \(p\) (\(X\) 의 EFPC 수), \(q\) (\(Y\) 의 EFPC 수) 선택.
- 중심화: \(X_n^c, Y_n^c\) 로 평균 차감.
- 점수 계산: \(\langle X_n, \widehat{v}_k \rangle\), \(\langle Y_n, \widehat{u}_j \rangle\) — 표준 FPC 출력.
- 통계량 계산: 식 (5.22).
- 결정: \(\widehat{T}_N(p, q) > \chi^2_{pq}(\alpha)\) 면 \(H_0\) 기각.
7.5 직관: 왜 점수의 곱들의 합인가
\(\langle \Delta(v_k), u_j \rangle\) 는 본질적으로 “\(X\) 의 \(k\) 번째 PC 와 \(Y\) 의 \(j\) 번째 PC 의 표본 공분산” 이다. 두 PC 가 무상관이면 \(0\) 에 수렴, 상관이 있으면 \(0\) 에서 벗어남.
각 항을 \(\widehat{\lambda}_k \widehat{\gamma}_j\) 로 정규화하는 이유는 분산이 다른 PC 의 기여를 동등하게 만들기 위해 — 큰 \(\lambda_k\) (지배적 PC) 의 점수는 자연히 크지만, 그것이 “효과의 강도” 를 의미하지는 않는다. 정규화 후의 항이 표준화된 효과 크기.
총합이 \(\chi^2_{pq}\) 분포를 따르는 것은 \(pq\) 개의 (점근적으로 독립인) 표준화된 정규 변수의 제곱합이기 때문이다.
7.6 비유: 다중 입출력 채널의 누화 검사
전화 시스템에 \(p\) 개 입력 채널과 \(q\) 개 출력 채널이 있다. “입력이 출력에 전혀 누화되지 않는가?” 를 검정하려면 \(p \times q\) 개의 입출력 쌍 모두에서 누화 강도를 측정·합산한다. 한 쌍이라도 강하게 누화되면 합이 커지고 귀무가설(완전 차폐) 이 기각된다. 함수 회귀의 효과 없음 검정도 같은 구조 — \(p \times q\) 개의 PC 쌍에서 표본 공분산을 모두 합한다.
8 선형 함수 모형의 진단
8.1 동기
함수 회귀를 적합하기 전에 “선형 모형이 정말 적절한가” 를 확인해야 한다. 표준 다변량 회귀에서는 \((x_i, y_i)\) 산점도가 직선 패턴을 보이는지 확인한다. 함수 회귀의 진단도 같은 원리 — 단지 함수를 점수로 대체 한다.
8.2 핵심 아이디어
\(X_i, Y_i\) 의 FPC 점수를 \(\xi_{ij} = \langle X_i, \widehat{v}_j \rangle\), \(\zeta_{ik} = \langle Y_i, \widehat{u}_k \rangle\) 로 놓으면 다음 분해가 성립 (식 5.23):
\[ \zeta_{i\ell} = a_\ell + b_{\ell j} \xi_{ij} + \eta_{i, \ell j}. \]
이는 “고정된 \(\ell, j\) 에 대해 \(\zeta\) 와 \(\xi\) 사이의 선형 회귀” — 평범한 단순 선형 회귀 식이다.
8.3 직관: 산점도의 비선형 패턴이 곧 모형 위반
만약 함수 모형이 진정 선형이라면, FPC 점수 산점도 \((\xi_{ij}, \zeta_{i\ell})\) 도 직선(공동 정규일 때 럭비공 모양)을 보여야 한다. 비선형 패턴(예: 2차 곡선)이 보이면 함수 회귀 모형 자체에 비선형성이 있음 을 의미한다.
8.4 비선형 시뮬레이션 예시
비선형 회귀 \(Y_i(t) = H_2(X_i(t)) + \varepsilon_i(t)\), 여기서 \(H_2(x) = x^2 - 1\).
- 첫 번째 점수 산점도 \((\xi_{i1}, \zeta_{i1})\): 명백한 2차 곡선 패턴 → 비선형성 검출.
- 다른 PC 쌍의 산점도: 일부도 비선형 패턴, 일부는 비교적 평이.
8.5 진단의 절차
- \(X_i, Y_i\) 의 EFPC 와 점수를 계산.
- 처음 몇 개 PC 의 모든 쌍 \((\xi_{ij}, \zeta_{i\ell})\) 의 산점도를 그린다.
- 패턴 검사:
- 럭비공 / 직선 → 선형 가정 충족.
- 2차 / 사다리 / 분리된 군집 → 비선형성 의심, FGAM 등 비선형 함수 모형 고려.
- 의심되는 PC 쌍은 다음 단계 분석에서 비선형 항을 추가하거나 변수 선택 재검토.
8.6 직관: PC 점수가 진단의 자연스러운 단위인 이유
함수 자체의 산점도(예: \(X_i, Y_i\) 의 원시 곡선)는 “두 곡선” 이라 평면에 그릴 수 없다. PC 점수는 함수의 가장 정보량 큰 차원 을 1차원 스칼라로 압축하므로 산점도가 가능하다.
또한 수학적 분해(식 5.23) 가 보장 한다 — 진정 선형 모형이라면 PC 점수 사이도 정확히 선형 관계를 가져야 한다. 비선형성이 보이면 모형 위반의 명확한 증거.
9 챕터 5의 통합 시각
9.1 한 줄 요약
함수가 출력으로 등장할 때, 회귀계수는 시간에 따라 변하는 함수(함수-on-스칼라) 또는 두 시간 축을 잇는 이변량 핵(함수-on-함수) 이다. 추정은 시점별 OLS, 벌점 최소제곱, 또는 FPCA 기반 분해로 수행되며, 추론은 효과 없음 카이제곱 검정과 PC 점수 산점도 진단으로 보완된다.
9.2 Chapter 4 와의 비교
| 측면 | Ch.4 (스칼라-on-함수) | Ch.5 (함수 반응) |
|---|---|---|
| 모수 차원 | \(\beta(s)\) — 일변량 함수 | \(\beta_k(t)\) 또는 \(\psi(t, s)\) — 다변량 또는 이변량 |
| 식별 문제 | 무한차원 다공선성 | 함수-on-스칼라는 약함, 함수-on-함수는 양 방향 다공선성 |
| 정칙화 | 거칠기 벌점, FPCA, 기저 전개 | 동일 도구 + 양 방향 텐서 곱 |
| 추정량 형태 | \(\widehat{\beta} = \sum c_j \phi_j\) | \(\widehat{\boldsymbol{\beta}}(t)\) 또는 \(\widehat{\psi}(t, s) = \sum c_{k\ell} u_k v_\ell\) |
| 추론 | 점별·동시 신뢰밴드 | 효과 없음 검정 + 진단 |
함수-on-스칼라는 가장 단순 — 시점별 다변량 회귀의 모음. 함수-on-함수는 가장 복잡 — 양 방향 무한 차원의 결합.
9.3 추정 접근의 통합 표
| 접근 | 함수-on-스칼라 (Ch.5.1~5.2) | 함수-on-함수 (Ch.5.3~5.5) |
|---|---|---|
| 점별 OLS | \(\widehat{\boldsymbol{\beta}}(t) = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}(t)\) | 정의되지 않음 (양쪽 모두 함수) |
| 벌점 + 기저 전개 | 식 (5.6) | 식 (5.13), 텐서 곱 기저 + 라플라시안 벌점 |
| FPCA 기반 | 잔차 분석에 사용 (Faraway 예시) | 핵 분해 식 (5.19) |
| R 패키지 | refund::fosr, refund::pffr |
refund::pffr (ff() 헬퍼) |
9.4 Chapter 6 ~ 12 와의 연결
Ch.5 의 도구는 후속 챕터에서 다음과 같이 일반화된다:
- Ch.6 (함수 GLM): 비정규 함수 반응 (이진·카운트). \(\eta_i(t) = \alpha(t) + \int X_i(s) \beta(t, s) \, ds\) 형태로 핵 + 링크 함수 결합.
- Ch.7 (희소 FDA): \(X_i, Y_i\) 의 관측 시점이 불규칙·희소할 때 점수 추정에 PACE 사용.
- Ch.8 (함수 시계열): FAR(1) \(X_n(t) = \int \phi(t, s) X_{n-1}(s) \, ds + \varepsilon_n(t)\) — Ch.5.3 의 핵 추정 도구를 시계열에 적용.
- Ch.12 (추론): 효과 없음 검정의 일반화 — 평균 함수, 공분산 함수 검정, 동시 신뢰 밴드.
함수-on-함수의 핵 \(\psi(t, s)\) 는 FDA 의 가장 일반적이고 강력한 도구 중 하나로, 후속 챕터들이 모두 이 framework 위에서 전개된다.
9.5 실무 적용 가이드
| 상황 | 권장 접근 |
|---|---|
| 매끄러운 함수 반응 + 적은 스칼라 회귀자 | 점별 OLS (가장 빠름) |
| 잡음 많은 함수 반응 + 적은 스칼라 회귀자 | pffr 벌점 추정 |
| 함수 회귀자 + 함수 반응 | pffr + ff() 헬퍼 |
| 데이터에 강한 주성분 구조 | FPCA 기반 핵 추정 (Section 5.5) |
| 회귀자의 영향이 의심스러움 | 효과 없음 검정 (Section 5.6) 으로 사전 검증 |
| 모형 적합 후 적합도 확인 | PC 점수 산점도 진단 (Section 5.7) |
실무에서는 항상 진단 → 적합 → 검정 의 순서로 작업한다. 검정이 유의하지 않으면 모형 자체가 부적절할 수 있으므로, 이 경우 도메인 지식으로 비선형 항이나 추가 회귀자를 검토한다.
10 관련 주제
선행 지식
- FDA 1.0 — 개요
- FDA 1.1~1.2 — 기저 전개와 표본 통계량
- FDA 2.0 — 탐색적 FDA 심화 개관
- FDA 3.0 — 함수 데이터의 수학적 프레임워크 개관
- FDA 3.1~3.2 — L² 공간과 확률 함수, Karhunen-Loève 전개
- FDA 3.3 — 선형 변환과 공분산 연산자
- FDA 4.0 — 스칼라-on-함수 회귀 개관
- FDA 4.5~4.6 — 거칠기 벌점 추정과 FPCA 회귀
후속 주제
- FDA 5.1~5.2 — 함수-on-스칼라 회귀: 점별 OLS 와 벌점 최소제곱
- FDA 5.3~5.4 — 함수-on-함수 회귀와 refund 통합 구현
- FDA 5.5~5.6 — FPCA 기반 핵 추정과 효과 없음 검정
- FDA 5.7 — 선형 함수 모형의 진단
- FDA 6.0 — 함수 일반화 선형 모형 개관
관련 개념
- GLS (일반화 최소제곱) — 잔차 의존 구조를 가진 회귀
- 텐서 곱 기저 — 이변량 함수 모형화의 표준 도구
- Mixed Model 과 REML —
pffr의 추정 framework - Karhunen-Loève 전개 — FPCA 핵 추정의 토대