FDA 5.9 — Chapter 5 연습문제 풀이

기저 행렬 성질·EFPC 부호 불변성·검정 통계량 χ²_pq 점근·진단 회귀 식·동시 모형까지 18문제 통합 풀이

Kokoszka & Reimherr (2017) Ch.5의 연습문제 18개를 상세 풀이한다. Problem 5.1~5.4는 기저·연산자 성질 (그람 행렬 비음정·텐서 곱 기저·부호 불변성·식 (5.20)), Problem 5.5~5.9는 카이제곱 검정의 점근 분포·일치성 (4문제 체인), Problem 5.10~5.12는 식 (5.23) 잡음 성질과 함수-on-스칼라·스칼라-on-함수 진단 식, Problem 5.13~5.18은 R 패키지 (fda·refund) 의 시각화·순열 검정·동시 모형·linmod 적용을 다룬다. 각 문제마다 직관·수식 유도·R 코드를 포함한다.

Statistics
Functional Data Analysis
저자

Kwangmin Kim

공개

2026년 05월 07일

1 이 포스트의 위치

./5-0-functional-response-overview.qmd 부터 ./5-4-linearity-diagnostics.qmd 까지 Ch.5 의 본문 8 개 절을 다뤘다. 이 포스트는 마지막 §5.9 의 18 개 연습문제를 풀이한다.

Ch.5 본문 (§5.1~§5.8)
    ↓
Ch.5 연습문제 (§5.9, 18문제)
    ├ 5.1~5.4: 기저·연산자 성질 (그람 행렬·텐서 곱 기저·부호 불변성·식 5.20 검증)
    ├ 5.5~5.9: 카이제곱 검정의 점근 분포 (4문제 체인 + 일치성)
    ├ 5.10~5.12: 진단 회귀 식 (5.23) 의 잡음 성질과 다른 모형으로의 확장
    └ 5.13~5.18: R 패키지 적용 (bifd 시각화·fosr.perm·tperm.fd·동시 모형·linmod)

핵심 메시지: 연습문제는 본문 식의 검증과 R 도구의 실습이다. 풀이를 통해 본문에서 인용한 결과의 출처·가정·계산 방법을 정확히 이해할 수 있다.


2 Problem 5.1: 그람 행렬의 비음정 (nonnegative definite)

2.1 문제

기저 함수 \(\varphi_1, \ldots, \varphi_K\) 에 대해 \(K \times K\) 행렬 \(\mathbf{I}_\varphi\) 의 항목이 \(\varphi_{k\ell} = \int \varphi_k(t) \varphi_\ell(t) \, dt\) 로 정의될 때, \(\mathbf{I}_\varphi\) 가 비음정 — 즉 임의의 실수 \(x_1, \ldots, x_K\) 에 대해

\[ \sum_{k, \ell = 1}^{K} \varphi_{k\ell} x_k x_\ell \geq 0 \]

— 임을 보이시오.

2.2 직관

\(\mathbf{I}_\varphi\) 는 기저 함수들의 그람 행렬(Gram matrix) — 내적의 행렬 표현. 비음정 성질은 모든 그람 행렬이 갖는 보편적 성질이며, 5.2 의 식 (5.9) 에서 \(\mathbf{I}_\varphi^{1/2}\) 의 존재를 보장한다.

2.3 풀이

이중합을 적분으로 옮긴다.

\[ \sum_{k, \ell=1}^{K} \varphi_{k\ell} x_k x_\ell = \sum_{k, \ell=1}^{K} x_k x_\ell \int \varphi_k(t) \varphi_\ell(t) \, dt = \int \left(\sum_{k=1}^{K} x_k \varphi_k(t)\right) \left(\sum_{\ell=1}^{K} x_\ell \varphi_\ell(t)\right) dt. \]

함수 \(f(t) = \sum_k x_k \varphi_k(t)\) 로 두면 우변은 \(\int f(t)^2 \, dt = \|f\|^2 \geq 0\). \(\blacksquare\)

2.4 비유

비음정 행렬을 만드는 가장 자연스러운 방법 — 함수들의 내적. 모든 함수의 자기 내적이 0 이상이라는 단순한 사실이 행렬의 모든 비음정 결과의 토대.


3 Problem 5.2: 텐서 곱 기저

3.1 문제

\(\{u_j, j \geq 1\}\)\(\{v_i, i \geq 1\}\)\(L^2([0, 1])\) 의 기저이면, 텐서 곱 \(\{v_i(s) u_j(t), 0 \leq s, t \leq 1, i, j \geq 1\}\)\(L^2([0, 1] \times [0, 1])\) 의 기저임을 보이시오. 또한 두 기저가 정규직교이면 텐서 곱도 정규직교임을 보이시오.

3.2 직관

이 결과가 5.3 의 양방향 기저 전개와 5.5 의 핵 분해 의 토대이다. 핵 \(\psi(t, s)\)\(u_k(t) v_\ell(s)\) 의 합으로 표현 가능하다는 것이 모든 함수-on-함수 추정의 출발점.

3.3 풀이 (정규직교성)

정규직교성 (\(\{u_j\}\)\(\{v_i\}\) 가 정규직교) 의 경우만 다룬다.

\[ \int \int v_i(s) u_j(t) \cdot v_{i'}(s) u_{j'}(t) \, ds \, dt = \left(\int v_i(s) v_{i'}(s) \, ds\right) \left(\int u_j(t) u_{j'}(t) \, dt\right) = \delta_{i i'} \delta_{j j'}. \]

따라서 텐서 곱 시스템이 정규직교. 기저 성질(완전성) 은 임의의 \(f \in L^2([0,1]^2)\)

\[ f(t, s) = \sum_{i, j} c_{ij} v_i(s) u_j(t), \quad c_{ij} = \int \int f(t, s) v_i(s) u_j(t) \, ds \, dt \]

로 표현됨을 보이면 된다 (Fubini 와 1차원 기저의 완전성 사용). \(\blacksquare\)

3.4 비유

직교 시스템의 텐서 곱은 “격자 교차점” — \(i\) 번째 가로 줄과 \(j\) 번째 세로 줄이 만나는 점이 한 기저 요소. 가로/세로가 모두 정규직교면 격자 점들도 자동으로 정규직교이다.


4 Problem 5.3: EFPC 부호 모호성과 추정량 불변성

4.1 문제

추정량 (5.19) 의 EFPC \(\widehat{u}_k\)\(\widehat{v}_\ell\) 은 부호까지만 결정된다. \(\widehat{u}_k\)\(d_k \widehat{u}_k\) (\(d_k^2 = 1\)) 로, \(\widehat{v}_\ell\)\(c_\ell \widehat{v}_\ell\) (\(c_\ell^2 = 1\)) 로 대체해도 \(\widehat{\psi}(t, s)\) 가 변하지 않음을 보이고, 통계량 (5.22) 도 같은 대체에 불변임을 보이시오.

4.2 직관

EFPC 의 부호 불확정성은 통계 소프트웨어 출력의 흔한 골치 — 같은 데이터를 두 번 분석해도 부호가 다를 수 있다. 다행히 추정량과 검정 통계량 모두 부호에 불변 이므로 실무에서 부호를 신경 쓸 필요가 없다.

4.3 풀이

추정량 (5.19) 의 한 항:

\[ \frac{\widehat{\sigma}_{\ell k}}{\widehat{\lambda}_\ell} \widehat{u}_k(t) \widehat{v}_\ell(s), \]

대체 후:

\[ \frac{\widehat{\sigma}_{\ell k}^{\text{new}}}{\widehat{\lambda}_\ell} \cdot d_k \widehat{u}_k(t) \cdot c_\ell \widehat{v}_\ell(s). \]

\(\widehat{\sigma}_{\ell k}^{\text{new}} = \frac{1}{N} \sum_n \langle X_n, c_\ell \widehat{v}_\ell \rangle \langle Y_n, d_k \widehat{u}_k \rangle = c_\ell d_k \widehat{\sigma}_{\ell k}\). 따라서

\[ \frac{c_\ell d_k \widehat{\sigma}_{\ell k}}{\widehat{\lambda}_\ell} \cdot d_k \widehat{u}_k(t) \cdot c_\ell \widehat{v}_\ell(s) = \frac{c_\ell^2 d_k^2 \widehat{\sigma}_{\ell k}}{\widehat{\lambda}_\ell} \widehat{u}_k(t) \widehat{v}_\ell(s) = \frac{\widehat{\sigma}_{\ell k}}{\widehat{\lambda}_\ell} \widehat{u}_k(t) \widehat{v}_\ell(s). \]

부호 제곱이 1 이므로 원래 항과 같다. \(\widehat{\psi}(t, s)\) 불변. \(\blacksquare\)

4.4 통계량 (5.22) 의 불변성

\(\langle \widehat{\Delta}(\widehat{v}_k), \widehat{u}_j \rangle\)\(c_k d_j\) 배 변하므로 그 제곱은 \(c_k^2 d_j^2 = 1\) 배 — 불변. \(\blacksquare\)

4.5 비유

거울에 비친 글자가 좌우 반전되어도 글자의 의미는 변하지 않는다. EFPC 의 부호 반전도 마찬가지로 — 추정 대상 \(\psi\) 는 의미 있는 객체이고, EFPC 는 단지 표현 도구 일 뿐이므로, 도구의 부호가 결과에 영향을 주지 않는다.


5 Problem 5.4: 식 (5.20) 의 검증

5.1 문제

모형 (5.15) 가 성립하고 \(X\)\(\varepsilon\) 와 독립일 때, 식 (5.20) \(\lambda_i \Psi(v_i) = \Delta(v_i)\) 를 검증하시오.

5.2 직관

이 식은 5.6 효과 없음 검정의 수학적 토대 — 핵 작용 \(\Psi(v_i)\) 를 표본 가능한 양 \(\Delta(v_i)\) 로 환원시킨다. 5.6 의 모든 검정 통계량 유도가 이 한 식에 의존한다.

5.3 풀이

모형 (5.15): \(Y = \Psi(X) + \varepsilon\). 양변에 \(\langle X, v_i \rangle\) 를 곱하고 기댓값:

\[ E[\langle X, v_i \rangle Y] = E[\langle X, v_i \rangle \Psi(X)] + E[\langle X, v_i \rangle \varepsilon]. \]

좌변은 \(\Delta(v_i)\) 의 정의 그대로.

우변 첫 항 — KL 전개 \(X = \sum_j \xi_j v_j\) 사용, \(\Psi\) 의 선형성으로 \(\Psi(X) = \sum_j \xi_j \Psi(v_j)\). 또 \(\langle X, v_i \rangle = \xi_i\):

\[ E\left[\xi_i \sum_j \xi_j \Psi(v_j)\right] = \sum_j E[\xi_i \xi_j] \Psi(v_j) = \lambda_i \Psi(v_i), \]

마지막 등호는 점수의 비상관성 \(E[\xi_i \xi_j] = \delta_{ij} \lambda_i\).

우변 둘째 항 — \(X \perp \varepsilon\), 둘 다 평균 0 이므로 \(E[\langle X, v_i \rangle \varepsilon] = E[\langle X, v_i\rangle] \cdot E[\varepsilon] \cdot (\ldots) = 0\) 형태로 \(0\).

따라서 \(\Delta(v_i) = \lambda_i \Psi(v_i)\). \(\blacksquare\)


6 Problem 5.5~5.8: 카이제곱 검정 점근의 4 단계 체인

6.1 공통 가정

  • Assumption 5.9.1: \((Y_n, X_n, \varepsilon_n)\) iid, \(\varepsilon_n \perp X_n\), \(E X_n = E \varepsilon_n = 0\), \(E\|X_n\|^4 < \infty\), \(E\|\varepsilon_n\|^4 < \infty\).
  • Assumption 5.9.2: 고유값 분리 \(\lambda_1 > \cdots > \lambda_p > \lambda_{p+1}\), \(\gamma_1 > \cdots > \gamma_q > \gamma_{q+1}\).

6.2 직관: 4 문제의 체인 구조

본문의 검정 분포 \(\widehat{T}_N(p, q) \to \chi^2_{pq}\) 의 증명을 4 단계로 분해.

5.5: 진짜 EFPC 사용 시 점수 공분산의 결합 점근 정규성
        ↓
5.6: Δ̂ 의 분산 평가
        ↓
5.7: 추정 EFPC 사용 시에도 같은 점근 분포 (5.5 와 5.6 사용)
        ↓
5.8: 통계량 T̂_N(p, q) → χ²_pq (5.5~5.7 종합)

6.3 Problem 5.5: 진짜 EFPC 점수 공분산의 점근 분포

\(H_0: \psi = 0\) 하에 \(Y_n = \varepsilon_n\) 이고 \(\langle \widehat{\Delta}(v_k), u_j \rangle = N^{-1} \sum_n \xi_{nk} \langle \varepsilon_n, u_j \rangle\). 두 점수가 독립 평균 0 분산 \(\lambda_k, \gamma_j\) (단 \(\varepsilon_n\) 의 EFPC \(u_j\) 점수 분산이 \(\gamma_j\)).

\(\xi_{nk} \langle \varepsilon_n, u_j \rangle\) 가 평균 0 분산 \(\lambda_k \gamma_j\) 의 iid 변수. CLT:

\[ \sqrt{N} \langle \widehat{\Delta}(v_k), u_j \rangle \xrightarrow{d} N(0, \lambda_k \gamma_j) = \sqrt{\lambda_k \gamma_j} \cdot \eta_{kj}, \quad \eta_{kj} \sim N(0, 1). \]

서로 다른 \((k, j)\)\((k', j')\) 의 점수 공분산은 비상관 — 이는 평균 0 가우스의 비상관성이 곧 독립을 의미 한다. (자세한 검증은 4차 적률을 사용한 Cramér-Wold 장치 적용; Ch.11 의 함수 CLT 참조.)

6.4 Problem 5.6: Δ̂ 의 분산

\(\widehat{\Delta}(x) = N^{-1} \sum_n \langle X_n, x \rangle Y_n\). \(H_0\)\(Y_n = \varepsilon_n\):

\[ E\|\widehat{\Delta}\|_S^2 = \sum_{i, j} E |\widehat{\Delta}(e_i, e_j)|^2, \]

\(\{e_i\}\) 정규직교 기저에 대해 (S 는 Hilbert-Schmidt 노름).

직접 계산:

\[ E \|\widehat{\Delta}\|_S^2 = \frac{1}{N^2} \sum_n E[\|X_n\|^2 \|\varepsilon_n\|^2] = \frac{1}{N} E\|X\|^2 E\|\varepsilon\|^2, \]

\(X \perp \varepsilon\) 사용. \(\blacksquare\)

6.5 Problem 5.7: 추정 EFPC 사용 시에도 점근 분포 동일

\(\widehat{v}_k - v_k = O_P(N^{-1/2})\) (Assumption 5.9.2 의 고유값 분리 하에, Ch.12 의 결과). 따라서

\[ \langle \widehat{\Delta}(\widehat{v}_k), \widehat{u}_j \rangle = \langle \widehat{\Delta}(v_k), u_j \rangle + o_P(N^{-1/2}), \]

(5.6 의 결과로 \(\widehat{\Delta}\) 의 작용이 작은 perturbation 에 안정). 이로부터 식 (5.28) 의 동일한 점근 분포가 따라온다.

6.6 Problem 5.8: 통계량 T̂_N → χ²_pq

5.7 의 식 (5.28) 에 의해 \(\sqrt{N} \langle \widehat{\Delta}(\widehat{v}_k), \widehat{u}_j \rangle / \sqrt{\widehat{\lambda}_k \widehat{\gamma}_j} \to \eta_{kj} \sim N(0, 1)\) (independence). 따라서

\[ \widehat{T}_N(p, q) = \sum_{k=1}^p \sum_{j=1}^q \frac{N \langle \widehat{\Delta}(\widehat{v}_k), \widehat{u}_j \rangle^2}{\widehat{\lambda}_k \widehat{\gamma}_j} \xrightarrow{d} \sum_{k, j} \eta_{kj}^2 = \chi^2_{pq}. \]

(독립 표준 정규의 제곱 합 \(pq\) 개 = 자유도 \(pq\) 카이제곱.) \(\blacksquare\)

6.7 직관: 점근 분포 도출의 핵심

4 문제의 본질은 \(H_0\) 가 참이면 \(\sqrt{N}\) 정규화된 점수 공분산이 독립 표준 정규로 수렴” 이라는 한 사실. 카이제곱 분포는 그 정규들의 제곱합 — 통계학의 가장 기본적 도구.

가정 5.9.1 (4차 적률) 은 CLT 의 강한 형태(다변량) 에 필요. 가정 5.9.2 (고유값 분리) 는 \(\widehat{v}_k \to v_k\) 의 일치성에 필요.


7 Problem 5.9: 검정의 일치성 (consistency)

7.1 문제

가정 5.9.1, 5.9.2 가 성립하고 어떤 \(k \leq p, j \leq q\) 에 대해 \(\langle \Psi(v_k), u_j \rangle \neq 0\) 이면, \(\widehat{T}_N(p, q) \xrightarrow{P} \infty\) 임을 보이시오.

7.2 직관

5.5~5.8 은 \(H_0\) 하의 분포 (Type I 오류 통제). 5.9 는 대립가설 하에서 검정의 검정력이 1로 수렴 함을 보장. 둘이 합쳐져 검정이 “valid + consistent” 의 표준 통계 성질을 갖는다.

7.3 풀이 스케치

대립가설 하 \(\Psi(v_k) = \Delta(v_k) / \lambda_k\) 가 0 이 아닌 어떤 \(u_j\) 방향을 가짐. 따라서 \(\langle \widehat{\Delta}(\widehat{v}_k), \widehat{u}_j \rangle \to \langle \Delta(v_k), u_j \rangle = \lambda_k \langle \Psi(v_k), u_j \rangle \neq 0\) (a.s.).

통계량 (5.22) 의 해당 항이

\[ N \cdot \widehat{\lambda}_k^{-1} \widehat{\gamma}_j^{-1} \cdot O(1) \to \infty. \]

다른 항들이 비음수이므로 합도 발산. \(\blacksquare\)

7.4 비유

좋은 의료 검사기의 두 성질 — (1) 건강한 사람을 환자라고 잘못 진단하지 않을 것 (Type I), (2) 진짜 환자는 확실히 검출할 것 (검정력). 5.5~5.8 이 (1), 5.9 가 (2) 에 대응.


8 Problem 5.10: 식 (5.23) 잡음 항의 성질

8.1 문제

식 (5.23) 의 잡음 \(\eta_i = \sum_{j' \neq j} b_{\ell j'} \xi_{ij'} + \varepsilon_{i\ell}\) 에 대해 다음을 증명.

  1. \(E[\eta_i] = 0\).
  2. \(E[\eta_i \xi_{ij}] = 0\).
  3. \(E[\eta_i \eta_m] = 0\) (\(i \neq m\)).
  4. \(\text{Var}[\eta_i] = \sum_{j' \neq j} b_{\ell j'}^2 \lambda_{j'} + E[\varepsilon_{i\ell}^2]\).

8.2 풀이

1. \(E[\eta_i] = 0\): \(E[\xi_{ij'}] = 0\) (PC 점수의 평균 0), \(E[\varepsilon_{i\ell}] = 0\).

2. \(E[\eta_i \xi_{ij}] = 0\):

\[ E[\eta_i \xi_{ij}] = \sum_{j' \neq j} b_{\ell j'} E[\xi_{ij'} \xi_{ij}] + E[\varepsilon_{i\ell} \xi_{ij}]. \]

PC 점수의 비상관성 \(E[\xi_{ij'} \xi_{ij}] = 0\) (\(j' \neq j\)). \(\varepsilon_i \perp X_i\)\(E[\varepsilon_{i\ell} \xi_{ij}] = 0\).

3. \(E[\eta_i \eta_m] = 0\) (\(i \neq m\)): \(X_i, X_m\) 이 iid 이므로 \(E[\xi_{ij'} \xi_{mj''}] = 0\). 마찬가지로 \(\varepsilon_i \perp \varepsilon_m\).

4. 분산: 위 비상관성으로 cross 항이 모두 0:

\[ \text{Var}[\eta_i] = \sum_{j' \neq j} b_{\ell j'}^2 E[\xi_{ij'}^2] + E[\varepsilon_{i\ell}^2] = \sum_{j' \neq j} b_{\ell j'}^2 \lambda_{j'} + E[\varepsilon_{i\ell}^2]. \]

8.3 직관: 잡음의 의미

분산 식이 잡음의 두 출처를 명확히 보여준다.

  • 첫 항 \(\sum_{j' \neq j} b_{\ell j'}^2 \lambda_{j'}\): 다른 PC 들의 기여 — 본 회귀에서는 잡음으로 보이지만 실제로는 신호.
  • 둘째 항 \(E[\varepsilon_{i\ell}^2]\): 진짜 측정 잡음.

5.7 진단의 PC 쌍 산점도에서 보이는 분산 중 일부는 본질적으로 모형 신호인데, 한 쌍만 봐서 잡음으로 처리되는 것이다 — 진단의 정밀성 한계.


9 Problem 5.11: 함수-on-스칼라 진단 회귀

9.1 문제

함수-on-스칼라 회귀 (5.1) 와 결정적 행렬 \(\mathbf{X}\). 반응의 PC 점수 \(\zeta_{i\ell} = \langle Y_i - \mu_Y, u_\ell \rangle\). 회귀 식 \(\zeta_{i\ell} = a + b x_{ij} + \eta_i\) 의 계수와 잡음을 식별하시오.

9.2 풀이

모형 (5.1): \(Y_i(t) = \sum_k x_{ik} \beta_k(t) + \varepsilon_i(t)\). 양변에 \(u_\ell(t)\) 곱하고 적분:

\[ \langle Y_i, u_\ell \rangle = \sum_k x_{ik} \langle \beta_k, u_\ell \rangle + \langle \varepsilon_i, u_\ell \rangle. \]

\(\langle Y_i - \mu_Y, u_\ell \rangle = \zeta_{i\ell}\), \(\langle \mu_Y, u_\ell \rangle\) 을 양변에서 빼고 한 \(j\) 만 분리:

\[ \zeta_{i\ell} = \underbrace{-\langle \mu_Y, u_\ell \rangle + \sum_{k} \bar{x}_k \langle \beta_k, u_\ell \rangle}_{a} + \underbrace{\langle \beta_j, u_\ell \rangle}_{b} \cdot x_{ij} + \underbrace{\sum_{k \neq j} (x_{ik} - \bar{x}_k) \langle \beta_k, u_\ell \rangle + \langle \varepsilon_i, u_\ell \rangle}_{\eta_i}. \]

(중심화 위해 \(\bar{x}_k\) 차감 형태로 정리.) 핵심:

  • \(b = \langle \beta_j, u_\ell \rangle\) — 진짜 효과 함수의 PC 점수.
  • \(\eta_i\) — 다른 회귀자 + 잔차 PC 점수.

9.3 직관

5.7 의 진단을 함수-on-스칼라에 적용한 형태. 산점도 \((x_{ij}, \zeta_{i\ell})\) 의 직선 패턴이 모형 적합성을 시사하며, 직선의 기울기가 진짜 효과 함수 \(\beta_j\)\(u_\ell\) 방향 사영.


10 Problem 5.12: 스칼라-on-함수 진단 회귀

10.1 문제

스칼라-on-함수 회귀 (4.12) \(Y_i = \int \beta(s) X_i(s) \, ds + \varepsilon_i\). 회귀자의 PC 점수 \(\xi_{ij} = \langle X_i - \mu_X, v_j \rangle\). 회귀 식 \(Y_i = a + b \xi_{ij} + \eta_i\) 의 계수와 잡음을 식별.

10.2 풀이

KL 전개 \(X_i = \mu_X + \sum_j \xi_{ij} v_j\) 대입:

\[ Y_i = \int \beta(s) \left[\mu_X(s) + \sum_j \xi_{ij} v_j(s)\right] ds + \varepsilon_i = \underbrace{\int \beta \mu_X \, ds}_{a} + \sum_j \xi_{ij} \underbrace{\int \beta v_j \, ds}_{b_j} + \varepsilon_i. \]

\(j\) 만 분리:

\[ Y_i = a + b \xi_{ij} + \underbrace{\sum_{j' \neq j} b_{j'} \xi_{i j'} + \varepsilon_i}_{\eta_i}, \]

\(b = \int \beta(s) v_j(s) \, ds\).

10.3 직관

스칼라-on-함수 진단은 가장 단순 — 양쪽 모두 스칼라이므로 표준 회귀 산점도. 회귀자의 PC 점수 \(\xi_{ij}\) vs 반응 \(Y_i\) 의 산점도 패턴을 본다.


11 Problem 5.13: bifd 객체의 시각화

11.1 문제

fdabifd 객체는 직접 plot 함수가 없다. eval.bifd 로 값을 추출하고 contour/persp 로 그린다. 5.5 에서 계산한 beta.bifd 를 시각화하시오.

11.2 R 풀이

# (5.5 절에서 beta.bifd 가 이미 생성된 상태)

# 평가 격자 정의
s_grid <- seq(0, 365, length.out = 50)
t_grid <- seq(0, 365, length.out = 50)

# bifd 객체에서 값 추출
beta_vals <- eval.bifd(s_grid, t_grid, beta.bifd)

# Contour 그림
par(mfrow = c(1, 2))
contour(s_grid, t_grid, beta_vals,
        xlab = "Temperature day (s)",
        ylab = "Precipitation day (t)",
        main = expression(hat(psi)(t, s)))

# Persp 그림 (3D)
persp(s_grid, t_grid, beta_vals,
      xlab = "s (Temp)", ylab = "t (Precip)", zlab = "psi",
      theta = 30, phi = 30, ticktype = "detailed",
      shade = 0.5, col = "lightblue",
      main = "Estimated regression kernel")

11.3 해석 가이드

  • Contour — 양/음 영역의 분포, 등고선 밀도로 변동 강도.
  • Persp — 표면의 전체 형태, 봉우리·계곡 위치.

캐나다 기온-강수 데이터에서 \(\widehat{\psi}(t, s)\) 의 양 영역은 “\(s\) 일의 기온이 \(t\) 일의 강수에 양의 영향” 을 의미.


12 Problem 5.14: fosr.perm 순열 검정

12.1 문제 형식

함수-on-스칼라 모형 (5.1) 에서 \(H_0: \beta_{m+1}(t) = \cdots = \beta_q(t) = 0, \forall t\) 을 검정.

12.2 검정 통계량

\(\widehat{F}_{\sup} = \sup_t \widehat{F}(t)\), \(\widehat{F}(t)\) 는 시점 \(t\) 의 F 통계량 (식 4.8).

벌점 추정량을 사용하므로 \(\widehat{F}(t)\) 가 정확히 F 분포를 따르지 않음 → 순열 검정 으로 임계값 근사.

12.3 알고리즘

순열 검정 절차
  1. 관측 데이터로 \(\widehat{F}_{\sup}\) 계산.
  2. \(\pi\)\(\{1, \ldots, N\}\) 의 순열일 때, 반응을 순열한 \(\mathcal{D}_\pi = (Y_{\pi(i)}(t), x_{i1}, \ldots, x_{iq})\)\(\widehat{F}_{\sup}^\pi\) 계산.
  3. 모든 \(N!\) 순열 (또는 random 표본) 의 \(\widehat{F}_{\sup}^\pi\) 분포에서 95% 분위수 \(c_{0.95}(N)\).
  4. \(\widehat{F}_{\sup} > c_{0.95}(N)\)\(H_0\) 기각.

12.4 R 코드

library(fda); library(refund)

# 1. 캐나다 기온 데이터 평활
smallbasis <- create.fourier.basis(c(0, 365), 25)
tempfd <- smooth.basis(day.5,
                       CanadianWeather$dailyAv[, , "Temperature.C"],
                       smallbasis)$fd

# 2. 설계 행렬 + 식별성 제약
Xreg <- cbind(1, model.matrix(~ factor(CanadianWeather$region) - 1))
conreg <- matrix(c(0, 1, 1, 1, 1), 1)

# 3. 순열 검정 (200 순열)
regionperm <- fosr.perm(fdobj = tempfd, X = Xreg, con = conreg,
                        method = "OLS", nperm = 200, prelim = 30)

plot(regionperm)

12.5 인자 설명

  • fdobj — 함수 반응 fd 객체.
  • X — 설계 행렬.
  • con — 식별성 제약.
  • method = "OLS" — 점추정 방식.
  • nperm = 200 — 순열 횟수 (정확도 vs 계산 비용).
  • prelim = 30 — 예비 적합으로 매끄러움 선택.

12.6 직관: 순열 검정의 정당화

\(H_0\) 가 참이면 \(Y_i\)\((x_{i, m+1}, \ldots, x_{iq})\) 사이에 관계 없음 → 반응을 무작위 순열해도 \(\widehat{F}_{\sup}\) 의 분포가 같다. 따라서 순열 분포가 \(H_0\) 분포의 표본 — 정확한 분포가 미지여도 검정 가능.


13 Problem 5.15: 두 표본 곡선 비교 순열 검정

13.1 문제 형식

두 표본 \(X_1, \ldots, X_N \sim \mu_1\), \(X_{N+1}, \ldots, X_{N+M} \sim \mu_2\). 검정:

\[ H_0: \mu_1(t) = \mu_2(t), \quad \forall t. \]

13.2 검정 통계량

\[ \widehat{T}(t) = \frac{|\bar{X}_N(t) - \bar{X}_M(t)|}{\sqrt{N^{-1} \widehat{V}_N(t) + M^{-1} \widehat{V}_M(t)}}, \quad \widehat{T}_{\sup} = \sup_t \widehat{T}(t). \]

각 시점의 표본 평균 차이를 표준오차로 표준화 → 그 점별 t-통계량의 sup. (Welch 검정의 점별 함수 버전.)

13.3 순열 검정

\((N + M)!\) 순열로 두 그룹 라벨을 무작위 재배치, 각 순열에 대해 \(\widehat{T}_{\sup}^\pi\) 계산. 경험 분포가 \(H_0\) 분포의 근사.

13.4 R 코드: tperm.fd

library(fda)

# Berkeley growth data: 남자/여자 성장 곡선
data(growth)
ages <- growth$age
heights_boys <- growth$hgtm   # 남자
heights_girls <- growth$hgtf  # 여자

# 1. 함수 객체로 변환
basis <- create.bspline.basis(rangeval = range(ages), nbasis = 12)
boys.fd <- smooth.basis(ages, heights_boys, basis)$fd
girls.fd <- smooth.basis(ages, heights_girls, basis)$fd

# 2. 두 표본 순열 검정
tperm_result <- tperm.fd(boys.fd, girls.fd, nperm = 200)

plot(tperm_result)

13.5 결과 해석

전형적: 사춘기 성장 시기(11~14 세) 에서 남녀 차이가 가장 크고, 이 영역에서 \(\widehat{T}_{\sup}\) 가 임계값을 초과 → \(H_0\) 기각.

Figure 5.8 와 같은 그림: 파란 곡선이 관측 \(\widehat{T}(t)\), 빨간 점선이 \(c_{0.95}\), 회색 곡선이 순열 \(\widehat{T}^\pi(t)\).

13.6 직관: 함수 검정과 다중 비교

각 시점 \(t\) 에서 t-검정을 한 후 다중 비교 보정(Bonferroni 등) 하는 방법보다, \(\sup_t\) 통계량이 자연스럽고 검정력도 좋다 — 다중 비교 패널티가 시점 간 의존성을 반영.


14 Problem 5.16: Fperm.fd 사용

14.1 문제

Problem 5.14 의 검정을 fda 패키지의 Fperm.fd 함수로 수행.

14.2 R 코드

library(fda)

# 캐나다 기온 fd 와 설계 행렬은 5.14 와 동일하게 준비
# (위 5.14 코드 첫 두 단계 재사용)

# Fperm.fd 적용
fperm_result <- Fperm.fd(tempfd ~ factor(CanadianWeather$region),
                         nperm = 200)

plot(fperm_result)

14.3 refund::fosr.perm 와의 차이

  • fda::Fperm.fdfda 패키지의 함수, F-통계량 기반.
  • refund::fosr.permrefund 의 더 일반적 도구, 다양한 설계 지원.

기능적으로 비슷하지만 인터페이스와 출력 형식이 다르다. 실무에서는 익숙한 쪽 선택.


15 Problem 5.17: 동시 함수 모형 (Concurrent model)

15.1 모형 정의

\[ Y_i(t) = \beta_0(t) + \beta_1(t) X_i(t) + \varepsilon_i(t). \]

\(Y_i(t)\)같은 시점 \(t\)\(X_i(t)\) 에만 의존 — 적분 변환 없음. 5.3 의 함수-on-함수 (식 5.10) 와 본질적으로 다름.

15.2 직관: concurrent vs fully functional

측면 Concurrent Fully functional (5.10)
모수 일변량 \(\beta_0(t), \beta_1(t)\) 이변량 \(\psi(t, s)\)
시간 의존성 같은 시점만 모든 시점
추정 시점별 단순 회귀 양방향 텐서 곱
응용 짧은 시간 효과 누적·지연 효과

Concurrent 모형은 함수-on-스칼라의 특수 형태이며, 시간 의존 효과 함수 \(\beta_1(t)\) 를 추정하는 자연스러운 도구.

15.3 Gait 데이터 응용

39 명 소년의 무릎/엉덩이 각도 곡선. 질문: “엉덩이 각도가 무릎 각도를 얼마나 설명하는가?”

15.4 R 코드

library(fda)

# 1. fd 객체 생성
gaittime <- as.numeric(dimnames(gait)[[1]]) * 20
gaitrange <- c(0, 20)
gaitbasis <- create.fourier.basis(gaitrange, nbasis = 21)
harmaccelLfd <- vec2Lfd(c(0, (2 * pi / 20)^2, 0), rangeval = gaitrange)

gaitfd <- smooth.basisPar(gaittime, gait,
                          gaitbasis, Lfdobj = harmaccelLfd,
                          lambda = 1e-2)$fd
hipfd <- gaitfd[, 1]
kneefd <- gaitfd[, 2]

# 2. 무릎-엉덩이 곡선 시각화 (Figure 5.9 재현)
par(mfrow = c(1, 2))
plot(kneefd, xlab = "time", ylab = "Knee Angle", main = "Knee")
plot(hipfd, xlab = "time", ylab = "Hip Angle", main = "Hip")

# 3. 동시 회귀 모형 적합
knee.hip.f <- fRegress(kneefd ~ hipfd)

# 4. beta_0, beta_1 시각화
par(mfrow = c(1, 2))
plot(knee.hip.f$betaestlist[[1]]$fd, main = "beta_0(t) intercept",
     xlab = "time", ylab = "")
plot(knee.hip.f$betaestlist[[2]]$fd, main = "beta_1(t) slope",
     xlab = "time", ylab = "")

# 5. boy 1 의 관측 vs 예측
par(mfrow = c(1, 1))
plot(kneefd[1], lwd = 2, xlab = "time", ylab = "Knee Angle",
     main = "Boy 1: Observed vs Predicted")
lines(knee.hip.f$yhatfd$fd[1], lwd = 2, lty = 2, col = "red")
legend("topright", lty = c(1, 2), col = c("black", "red"),
       legend = c("Observed", "Predicted"))

15.5 β_1(t) 의 해석

전형적 결과: \(\widehat{\beta}_1(t)\) 가 시간에 따라 변하며, 보행 주기의 특정 위상(예: 발 디딤 직후) 에서 큰 값. 이는 그 시점에 엉덩이-무릎의 운동학적 결합이 강함 을 의미.

15.6 x-axis 차이 주의

yhatfd$y[, 1] 은 격자 인덱스(1~ncol), kneefd['boy1'] 은 시간 단위(0~20). 두 그림의 x-축이 다른 단위이므로 동일 그림에 그릴 때는 argvals 로 명시 필요 (Figure 5.10 재현).


16 Problem 5.18: linmod 함수로 함수-on-함수 회귀

16.1 문제

refund::pffr 대신 fda::linmod 로 5.4 절의 Figure 5.5 를 재현.

16.2 R 코드

library(fda); library(refund)

# pffrSim 으로 데이터 생성
set.seed(9312)
data_ff <- pffrSim(scenario = c("int", "ff"), n = 100)

# fda 의 linmod 를 위해 fd 객체 변환
s_grid <- seq(0, 1, length = 40)
t_grid <- seq(0, 1, length = 60)

# X1 (회귀자) 를 fd 객체로
basis_s <- create.bspline.basis(c(0, 1), nbasis = 15)
X_fd <- Data2fd(argvals = s_grid, y = t(data_ff$X1), basisobj = basis_s)

# Y (반응) 를 fd 객체로
basis_t <- create.bspline.basis(c(0, 1), nbasis = 15)
Y_fd <- Data2fd(argvals = t_grid, y = t(data_ff$Y), basisobj = basis_t)

# linmod 로 함수-on-함수 회귀
beta_fdParList <- list(
  fdPar(create.bspline.basis(c(0, 1), nbasis = 10)),
  fdPar(create.bspline.basis(c(0, 1), nbasis = 10))
)

linmod_result <- linmod(X_fd, Y_fd, beta_fdParList)

# 추정된 beta(t, s) 를 격자 위에서 평가
beta_hat <- eval.bifd(t_grid, s_grid, linmod_result$beta1estbifd)

# Persp 그림 (Figure 5.5 재현)
persp(s_grid, t_grid, beta_hat,
      xlab = "s", ylab = "t", zlab = "",
      theta = 30, phi = 40, ticktype = "detailed",
      main = expression(hat(beta)(t, s)),
      border = NA, col = "grey", shade = 0.7)

16.3 linmod vs pffr 비교

측면 fda::linmod refund::pffr
인터페이스 fd 객체 + fdPar 명시 수식 인터페이스
매끄러움 사용자 명시 REML 자동
일반성 함수-on-함수 전용 일반 (스칼라/함수 혼합)
학습 곡선 높음 (fdPar 이해 필요) 낮음

pffr 가 실무에서 우세하지만, linmod 는 사용자가 매끄러움 선택을 직접 통제하고 싶을 때 유용.


17 18 문제의 통합 시각

17.1 한 줄 요약

Ch.5 의 18 개 문제는 본문 식의 검증(5.1~5.10)·함수 회귀의 진단 식 일반화(5.11~5.12)·R 도구의 실습(5.13~5.18) 의 세 그룹으로 구성되며, 검정 분포 도출(5.5~5.8) 의 4 단계 체인이 가장 중요한 이론적 결과이다.

17.2 그룹별 정리

그룹 문제 핵심 도구
기저·연산자 성질 5.1~5.4 그람 행렬, 텐서 기저, 부호 불변성, 식 5.20
검정 분포 체인 5.5~5.8 CLT, \(\widehat{\Delta}\) 분산, 추정 EFPC 의 안정성, 카이제곱
검정 일치성 5.9 대립 가설 하 발산
진단 잡음·다른 모형 5.10~5.12 식 5.23 잡음, 함수-on-스칼라/스칼라-on-함수 회귀
R 도구 실습 5.13~5.18 bifd 시각화, fosr.perm, tperm.fd, Fperm.fd, fRegress, linmod

17.3 본문과의 매핑

본문 절 관련 문제
5.1 (함수-on-스칼라 OLS) 5.11 (진단), 5.14 (검정), 5.16 (Fperm)
5.2 (벌점 추정) 5.1 (그람 행렬)
5.3 (함수-on-함수) 5.2 (텐서 기저), 5.18 (linmod)
5.4 (refund) 5.13 (시각화), 5.18
5.5 (FPCA 핵 추정) 5.3 (부호 불변), 5.13
5.6 (효과 없음 검정) 5.4~5.9 (검정 분포 체인)
5.7 (선형성 진단) 5.10~5.12 (잡음과 진단 식)
5.8 (확장) 5.15 (두 표본 검정), 5.17 (동시 모형)

연습문제 풀이는 본문에서 인용한 결과의 출처와 가정을 확인하는 과정이며, 5.5~5.8 의 4 문제 체인이 5.6 검정의 점근 분포 도출의 모든 단계를 다룬다.


18 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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