1 두 절의 역할
| 절 | 주제 | 핵심 도구 |
|---|---|---|
| 5.1 | 점별 최소제곱 추정 + 자동차 대시보드 응용 | 시점별 다중 회귀 |
| 5.2 | 벌점 최소제곱 추정 | 기저 전개 + 거칠기 벌점 + 크로네커 곱 |
5.1 은 가장 단순한 출발점 — “각 시점에서 표준 다중 회귀를 해라” — 를 정당화한다. 반응 함수가 매끄러우면 이것만으로 충분하다.
5.2 는 5.1 이 통하지 않는 상황(잡음 많은 반응) 에 대비한 일반 framework 이다. 효과 함수를 기저로 전개하고 거칠기 벌점을 부과하면, 양 방향(예측변수 차원 × 시간 차원) 의 정칙화가 결합된 닫힌 형태 해를 얻는다.
두 절 사이의 관계는 “OLS → ridge 의 함수 일반화” 와 같다. 다변량에서 OLS 가 안 통할 때 ridge 가 나선 것처럼, 함수에서 점별 OLS 가 안 통할 때 벌점 추정이 나선다.
2 함수-on-스칼라 모형의 정의
2.1 모형 식
\(N\) 개의 관측 단위 \(i = 1, 2, \ldots, N\) 에 대해 다음을 가정한다:
\[ Y_i(t) = x_{i1} \beta_1(t) + x_{i2} \beta_2(t) + \cdots + x_{iq} \beta_q(t) + \varepsilon_i(t). \]
여기서:
- \(Y_i: \mathcal{T} \to \mathbb{R}\) — 곡선 반응 (response curve)
- \(x_{ik} \in \mathbb{R}\) — \(i\) 번째 단위의 \(k\) 번째 스칼라 예측변수
- \(\beta_k: \mathcal{T} \to \mathbb{R}\) — \(k\) 번째 효과 함수 (effect function)
- \(\varepsilon_i(t)\) — 평균 0 의 잡음 곡선
2.2 행렬 표기
표본 전체를 한 식으로 묶기 위해 다음을 정의한다.
\[ \mathbf{Y}(t) = \begin{bmatrix} Y_1(t) \\ Y_2(t) \\ \vdots \\ Y_N(t) \end{bmatrix}_{N \times 1}, \quad \mathbf{X} = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1q} \\ x_{21} & x_{22} & \cdots & x_{2q} \\ \vdots & \vdots & & \vdots \\ x_{N1} & x_{N2} & \cdots & x_{Nq} \end{bmatrix}_{N \times q}, \quad \boldsymbol{\beta}(t) = \begin{bmatrix} \beta_1(t) \\ \beta_2(t) \\ \vdots \\ \beta_q(t) \end{bmatrix}_{q \times 1}. \]
이를 사용하면 모형이
\[ \mathbf{Y}(t) = \mathbf{X} \boldsymbol{\beta}(t) + \boldsymbol{\varepsilon}(t) \]
로 압축된다. 표준 다중 회귀 \(\mathbf{y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\varepsilon}\) 와 동일한 형태이며, 벡터 \(\mathbf{y}\) 와 \(\boldsymbol{\beta}\) 자리에 시간 인덱스가 붙은 함수가 들어갔을 뿐이다.
2.3 직관 1: 설계 행렬은 시간과 무관하다
\(\mathbf{X}\) 에는 \(t\) 가 들어 있지 않다. 이는 함수-on-스칼라 회귀의 핵심 특성으로, 다음을 의미한다.
모든 시점에서 같은 설계 행렬이 작동한다.
예측변수가 “각 단위의 고정된 속성”(예: 환자의 성별·치료군·기준 측정값) 일 때 자연스러운 가정이다. 만약 예측변수도 시간에 따라 변하면 (예: 시간 변하는 약물 농도) 종단 분석 (longitudinal analysis) 의 영역으로, mixed model 이나 GAM 같은 다른 도구가 필요하다.
2.4 직관 2: 효과 함수의 의미
\(\beta_k(t)\) 는 “시점 \(t\) 에서 예측변수 \(x_k\) 의 단위 증가가 반응에 주는 효과” 이다. 이것이 시점에 따라 다를 수 있다는 점 이 함수 회귀의 핵심이다.
다변량 회귀에서 회귀계수 \(\beta_k\) 는 단일 숫자 — “\(x_k\) 가 1 증가하면 \(y\) 는 평균 \(\beta_k\) 증가” 라는 시간-불변적 진술. 함수 회귀에서 \(\beta_k(t)\) 는 곡선 — “\(x_k\) 의 영향력이 시간에 따라 어떻게 변하는가” 의 완전한 그림이다.
2.5 비유: 음향 시스템의 시간 대역별 EQ
스피커의 음량을 키우면 모든 주파수가 균등하게 커지지 않는다. 저음은 둔하게, 고음은 날카롭게 — 주파수마다 반응 강도가 다르다. 함수-on-스칼라 회귀의 \(\beta_k(t)\) 도 마찬가지로, 예측변수 \(x_k\) 의 효과가 시간 \(t\) 마다 다른 방식으로 발현됨을 표현한다.
3 점별 최소제곱 추정 (Kokoszka §5.1)
3.1 손실함수
OLS 의 손실함수는 모든 잔차 곡선의 \(L^2\) 제곱 노름의 합이다:
\[ \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\) 에서의 “내부 합” 을 정의:
\[ e_i^2(\boldsymbol{\beta}, t) = \left( Y_i(t) - \sum_{k=1}^{q} x_{ik} \beta_k(t) \right)^2. \]
3.2 핵심 관찰: 시점 분리
전체 손실은 \(\int [\sum_i e_i^2(\boldsymbol{\beta}, t)] \, dt\) 이며, 적분은 비음정 함수의 합 이므로 적분값을 최소화하려면 각 \(t\) 에서의 피적분값 을 따로 최소화하면 충분하다.
따라서 각 시점 \(t\) 에서:
\[ \widehat{\boldsymbol{\beta}}(t) = \arg\min_{\boldsymbol{\beta}} \sum_{i=1}^{N} e_i^2(\boldsymbol{\beta}, t) = \arg\min_{\boldsymbol{\beta}} \| \mathbf{Y}(t) - \mathbf{X} \boldsymbol{\beta} \|^2. \]
이는 시점 \(t\) 에서의 표준 다중 회귀 문제이며, 정규방정식 해는
\[ \widehat{\boldsymbol{\beta}}(t) = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y}(t). \tag{5.3} \]
3.3 직관 1: 왜 시점별로 분리되는가
\(L^2\) 손실의 가장 강력한 성질이 여기서 작동한다 — 적분은 시점 간 “평균” 일 뿐, 시점들 사이에 어떤 결합 제약도 부과하지 않는다.
만약 손실이 \(\int |\boldsymbol{\beta}'(t)|^2 \, dt\) (도함수 제곱적분) 같은 항을 포함했다면, 이는 인접 시점의 값들 사이를 연결하는 항이므로 시점 분리가 깨졌을 것이다. 5.2 의 벌점 추정이 정확히 이런 항을 추가하여 시점 분리를 깨고 매끄러움을 강제한다.
3.4 직관 2: \((\mathbf{X}^T \mathbf{X})^{-1}\) 는 한 번만 계산하면 된다
이 구조의 계산적 장점이 크다. \((\mathbf{X}^T \mathbf{X})^{-1}\) 은 시간과 무관하므로 한 번만 역행렬을 구해 모든 시점에 재사용한다. \(\mathbf{X}^T \mathbf{Y}(t)\) 만 시점마다 계산하면 된다 — 행렬 곱 한 번이다.
J 개 시점에서 추정한다고 하자.
| 단계 | 연산 | 비용 |
|---|---|---|
| \((\mathbf{X}^T \mathbf{X})^{-1}\) 한 번 계산 | \(O(q^3)\) (또는 \(q^2 N\) if \(q < N\)) | 시간 무관 |
| 각 \(t\) 에서 \(\mathbf{X}^T \mathbf{Y}(t)\) | \(O(qN)\) | \(J\) 번 반복 |
| 각 \(t\) 에서 행렬-벡터 곱 | \(O(q^2)\) | \(J\) 번 반복 |
함수-on-스칼라 OLS 는 보통 다변량 회귀보다 약간 더 비싼 정도이며, \(J\) 가 매우 크지 않으면 실시간 계산도 가능하다.
3.5 적합값과 잔차
추정된 효과 함수로부터 적합 곡선과 잔차 곡선을 계산:
\[ \widehat{\mathbf{Y}}(t) = \mathbf{X} \widehat{\boldsymbol{\beta}}(t), \quad \widehat{\boldsymbol{\varepsilon}}(t) = \mathbf{Y}(t) - \widehat{\mathbf{Y}}(t). \]
각 \(\widehat{\varepsilon}_i(t)\) 는 시점 \(t\) 의 잔차 — 단순 숫자 — 이지만, \(t\) 를 변화시키면 잔차 곡선 \(\widehat{\varepsilon}_i(\cdot)\) 가 된다. 이 잔차 곡선들의 EFPC 분석이 모형 진단의 핵심 도구이다.
3.6 가정과 한계
5.1 의 점별 OLS 는 다음 조건을 가정한다.
- 반응 곡선 \(Y_i\) 가 매끄럽다 — 잡음이 작거나, 사전에 평활화 처리됨.
- 반응을 \(J\) 개 시점에서 동일하게 관측 — 격자 \(\{t_j\}\) 가 모든 \(i\) 에 대해 같음, 결측 없음.
- 시점 간 잔차 의존성은 추정량의 점추정에 영향 없음 — 단, 표준오차 계산에는 영향.
반응이 거친 경우 \(\widehat{\boldsymbol{\beta}}(t)\) 도 거칠어지는데, 효과 함수가 본질적으로 매끄럽다는 가정과 모순이다. 이때는 5.2 의 벌점 추정으로 넘어간다.
4 응용 사례: 자동차 대시보드 설계
4.1 데이터 배경 (Faraway, 1997)
자동차 인체공학 연구의 한 사례. 운전자가 핸들에서 손을 뗀 후 대시보드 위 20 개 위치(좌측 후방 시프터, 중앙 라디오, 우측 전방 헤드 등) 를 향해 팔을 뻗는 동작을 측정한다.
- \(N = 60\): 20 위치 × 3 회 반복.
- 1 개 이상치(
left.rear.shifter에서 운전자가 동작 중간에 마음을 바꿈) 제거 → \(N = 59\). - \(Y_i(t) \in [0, 180]\) deg — 어깨·팔꿈치·손목이 만드는 각도.
- \(t \in [0, 1]\) — 동작 시작(\(t = 0\)) 과 끝(\(t = 1\)) 사이의 정규화된 시간.
- 각 위치의 직교 좌표 \((x_i, y_i, z_i)\).
4.2 비즈니스 동기
차량 인테리어 디자이너는 “어떤 위치든 적은 노력으로 도달하는 대시보드” 를 설계해야 한다. 만약 위치-각도 회귀 모형이 있으면, 새 위치에 대한 팔 각도 곡선을 예측하여 디자인을 시뮬레이션할 수 있다.
이는 함수-on-스칼라 회귀의 전형적 패턴 — “고정된 입력 속성으로부터 시간 의존적 응답을 예측”.
4.3 첫 시도: 1차 모형 (\(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). \]
\(\widehat{\boldsymbol{\beta}}(t) = (\beta_0, \beta_x, \beta_y, \beta_z)^T\) 로 추정. 적합 곡선 \(\widehat{\mathbf{Y}}(t) = \mathbf{X} \widehat{\boldsymbol{\beta}}(t)\) 의 품질이 좋지 않음 — 일관되지 않은(inconsistent) 근사.
4.4 직관: 왜 1차 모형이 부족한가
위치를 1 차 항으로만 표현하면, 각 좌표축이 독립적으로 각도에 영향을 준다는 가정이 된다. 하지만 인체 운동학적으로는 \(x \cdot y\) (수평면에서의 회전), \(y^2\) (수직 거리에 따른 어깨 회전 가속) 같은 비선형·교차 효과 가 자연스럽다. 1 차 모형은 이런 효과를 포착할 수 없다.
4.5 개선: 2 차 + 교차 항 (\(q = 10\))
\[ \begin{aligned} Y_i(t) &= \beta_0(t) + x_i \beta_x(t) + y_i \beta_y(t) + z_i \beta_z(t) \\ &+ x_i y_i \beta_{xy}(t) + y_i z_i \beta_{yz}(t) + z_i x_i \beta_{zx}(t) \\ &+ x_i^2 \beta_{x^2}(t) + y_i^2 \beta_{y^2}(t) + z_i^2 \beta_{z^2}(t) + \varepsilon_i(t). \end{aligned} \]
10 개의 효과 함수 \(\boldsymbol{\beta}(t) = (\beta_0, \beta_x, \beta_y, \beta_z, \beta_{xy}, \beta_{yz}, \beta_{zx}, \beta_{x^2}, \beta_{y^2}, \beta_{z^2})^T\) 를 시점별 OLS 로 추정. 적합도가 크게 개선되어 새 위치 \((x_0, y_0, z_0)\) 에 대한 예측 곡선
\[ Y_{x_0, y_0, z_0}(t) = \widehat{\beta}_0(t) + x_0 \widehat{\beta}_x(t) + \cdots + z_0^2 \widehat{\beta}_{z^2}(t) \]
가 신뢰할 만한 결과를 준다.
4.6 직관: 다변량 회귀와 같은 변수 선택 패턴
1 차 → 2 차 + 교차 모형 확장은 표준 다변량 회귀의 모형 선택과 동일한 사고 이다. 시간 차원이 추가되었지만, 어떤 항을 모형에 포함할지의 결정은 도메인 지식과 적합 진단에 의존한다.
함수 차원의 추가 도구는 — 잔차 곡선의 EFPC 분석 — 5.1 의 끝에서 다룬다.
4.7 잔차 분석: 첫 4 개 EFPC
추정 후 잔차 곡선 \(\widehat{\varepsilon}_i(t) = Y_i(t) - \widehat{Y}_i(t)\) 의 표본 공분산을 계산하고 EFPC 분해:
| 순위 | 고유값 \(\widehat{\lambda}_j\) | 비율 |
|---|---|---|
| 1 | 182.6 | ~75% |
| 2 | 44.1 | ~18% |
| 3 | (생략) | ~5% |
| 4 | 5.3 | ~2% |
첫 EFPC 가 잔차 변동의 75% 를 설명 — 잔차에 매우 명확한 한 방향의 패턴이 있음을 의미한다.
4.8 잔차 EFPC 의 형태 해석
첫 EFPC \(\widehat{v}_1(t)\): 동작 중간부(\(t \approx 0.5\)) 에서 가장 큰 절댓값, 양 끝에서 작음.
해석: 잔차는 동작의 시작/끝 보다 중간 에서 더 변동한다.
4.9 직관: 왜 중간부 변동이 큰가
운전자의 손은:
- 시작점(\(t = 0\)): 핸들 위 고정된 위치.
- 끝점(\(t = 1\)): 목표 위치(대시보드의 정확한 점).
두 점은 공간적으로 고정 — 변동의 여지가 없다. 하지만 그 사이의 경로는 자유롭다. 운전자마다, 시도마다, 신체 자세마다 다른 경로로 통과한다 — 그 결과 중간 시점에서 잔차가 가장 크다.
이는 회귀 모형이 잡지 못하는 부분 — 개인 습관, 신체적 편차, 회피 동작 — 이 동작 중간에 누적됨을 시사한다. 디자인 측면에서는 “중간 경로의 자유도 를 고려한 인테리어가 필요” 하다는 실무적 통찰을 준다.
4.10 후속 EFPC 들의 형태
\(\widehat{v}_2\), \(\widehat{v}_3\), \(\widehat{v}_4\) 는 점점 더 많은 영점 교차(zero crossing)를 가지는 패턴 — Fourier 기저처럼 진동하는 모양. 이는 EFPC 의 직교성 제약 때문이다 — 새 EFPC 는 이전 EFPC 들과 직교해야 하므로, 자연스럽게 더 진동하는 형태를 가진다.
이 패턴은 “잘 행동하는(well-behaved) 함수 표본” 의 전형적 잔차 EFPC 모양으로, 모형이 큰 결함 없이 적합되었다는 정성적 증거이다.
4.11 Code: 점별 OLS 의 R 구현
# 가상의 함수-on-스칼라 데이터로 점별 OLS 시연
# (실제 자동차 데이터는 Faraway 1997 supplementary 참조)
set.seed(42)
N <- 59 # 표본 크기
J <- 100 # 시점 수
q <- 10 # 회귀자 수 (절편 + 9 개 항)
# 가상 위치 좌표
xyz <- matrix(runif(N * 3, -1, 1), nrow = N)
x <- xyz[, 1]; y <- xyz[, 2]; z <- xyz[, 3]
# 설계 행렬: 절편 + x + y + z + xy + yz + zx + x^2 + y^2 + z^2
X <- cbind(1, x, y, z, x * y, y * z, z * x, x^2, y^2, z^2)
# 가상 효과 함수 (시간에 따라 변하는 진짜 회귀계수)
t_grid <- seq(0, 1, length.out = J)
beta_true <- cbind(
rep(90, J), # 절편
20 * sin(pi * t_grid), # x 효과
10 * cos(pi * t_grid), # y 효과
matrix(rnorm(J * (q - 3), sd = 5), nrow = J)
)
# 반응 곡선 생성
Y <- X %*% t(beta_true) + matrix(rnorm(N * J, sd = 2), nrow = N)
# 점별 OLS — (X^T X)^{-1} 한 번 계산, 모든 t 에 재사용
XtX_inv <- solve(crossprod(X))
beta_hat <- XtX_inv %*% crossprod(X, Y) # q x J
# 적합값과 잔차
Y_hat <- X %*% beta_hat
residuals <- Y - Y_hat # N x J
# 잔차 EFPC 분석
res_cov <- crossprod(residuals) / N # J x J
eig <- eigen(res_cov)
plot(eig$values[1:10], type = "b",
main = "Scree plot of residual covariance",
xlab = "Component", ylab = "Eigenvalue")4.12 직관: scree plot 이 들려주는 이야기
scree plot 의 첫 한두 고유값이 압도적으로 크면 잔차에 강한 구조가 남아 있음을 의미 — 모형이 놓친 패턴이 있음. 고유값이 빠르게 감쇠하면 잔차가 거의 무작위 — 모형이 데이터를 잘 잡았음.
자동차 대시보드 데이터의 경우 첫 EFPC 가 75% 를 설명하지만, 이는 “모형의 결함” 이 아니라 “모형으로 설명할 수 없는 인간 운동의 본질적 변동성” 이다. 회귀자(좌표) 가 아닌 다른 변수(운전자 습관, 신체 사이즈)에서 오는 변동이며, 추가 회귀자 없이는 줄일 수 없다.
5 벌점 최소제곱 추정 (Kokoszka §5.2)
5.1 동기
5.1 은 반응 곡선이 본질적으로 매끄러울 때 잘 동작한다. 그러나 실제 데이터의 반응이 잡음이 많으면 — 예를 들어 RT-PCR 형광 곡선처럼 측정 잡음이 큰 경우 — 점별 OLS 추정량 \(\widehat{\beta}_k(t)\) 도 잡음을 그대로 반영하여 거칠어진다.
이는 다음 가정과 모순이다.
- 모형 가정: 효과 함수 \(\beta_k\) 는 매끄럽다.
- 잡음 가정: 오차 함수 \(\varepsilon_i\) 는 잡음이 많다.
- 관측 결과: 점별 OLS \(\widehat{\beta}_k(t)\) 가 잡음 많은 추정.
5.2 핵심 아이디어
각 효과 함수를 기저로 전개하고, 거칠기에 벌점을 부과한다.
\[ \beta_\ell(t_j) = \sum_{k=1}^{K} b_{\ell k} \varphi_k(t_j). \tag{5.4} \]
여기서 \(\varphi_1, \ldots, \varphi_K\) 는 기저 함수 (직교나 정규화 필요 없음). 기저 수 \(K\) 는 큼 — “과적합되도록 큰 \(K\) 를 잡고 벌점으로 통제” 하는 5.2 의 핵심 전략.
5.3 행렬 모형
반응을 \(J\) 개 시점 \(\{t_j\}\) 에서 관측한다고 가정.
\[ \mathbf{Y} = \mathbf{X B} \boldsymbol{\Phi} + \boldsymbol{\varepsilon}, \]
여기서:
| 행렬 | 차원 | 의미 |
|---|---|---|
| \(\mathbf{Y} = [Y_i(t_j)]\) | \(N \times J\) | 관측 반응 격자 |
| \(\mathbf{X} = [x_{i\ell}]\) | \(N \times q\) | 표준 설계 행렬 |
| \(\mathbf{B} = [b_{\ell k}]\) | \(q \times K\) | 효과 함수의 기저 계수 — 추정 대상 |
| \(\boldsymbol{\Phi} = [\varphi_k(t_j)]\) | \(K \times J\) | 기저 함수 평가 행렬 |
| \(\boldsymbol{\varepsilon} = [\varepsilon_i(t_j)]\) | \(N \times J\) | 잡음 격자 |
5.4 직관: 모수의 모양
벌점 없는 점별 OLS 는 각 시점마다 \(q\) 개 모수 \(\boldsymbol{\beta}(t_j)\) 를 따로 추정 — 총 \(qJ\) 개 자유도.
벌점 모형은 각 효과 함수를 \(K\) 개 기저 계수 로 표현 — 총 \(qK\) 개 자유도. \(K\) 를 \(J\) 보다 크지 않게 잡으면 모수가 줄어든다 (단, 벌점 자체가 자유도를 추가로 줄이므로 실효 자유도는 더 작다).
5.5 벌점 손실함수
\[ \sum_{i=1}^{N} \sum_{j=1}^{J} \left( Y_i(t_j) - [\mathbf{X B} \boldsymbol{\Phi}]_{ij} \right)^2 + \sum_{\ell=1}^{q} \lambda_\ell \int \{(L \beta_\ell)(t)\}^2 \, dt. \tag{5.5} \]
첫 항은 잔차 제곱합, 둘째 항은 효과 함수별 거칠기 벌점.
| 항 | 역할 |
|---|---|
| \(L\) | 미분 연산자 (보통 \(L \beta = \beta''\)) |
| \(\lambda_\ell\) | \(\ell\) 번째 효과 함수의 매끄러움 모수 |
| \(\int \{(L\beta_\ell)(t)\}^2 dt\) | \(\beta_\ell\) 의 거칠기 (제곱 도함수의 적분) |
5.6 직관: 효과별 독립 매끄러움
벡터 \(\boldsymbol{\lambda} = (\lambda_1, \ldots, \lambda_q)\) 의 각 성분이 독립적으로 선택 됨이 중요하다.
- 어떤 효과는 매우 매끄럽게 변할 수 있다 (예: 인구 평균의 시간 추세 — 큰 \(\lambda\)).
- 다른 효과는 급변할 수 있다 (예: 처치 신호 직후의 즉각적 반응 — 작은 \(\lambda\)).
다변량 ridge 회귀에서 모든 계수에 같은 \(\lambda\) 를 적용하던 관행과 달리, 함수 회귀에서는 각 효과 함수의 본질적 매끄러움이 다르므로 별도 정칙화가 자연스럽다.
5.7 비유: 여러 악기의 페이더
음향 엔지니어가 7 개 악기를 믹싱한다. 베이스의 페이더는 천천히 움직이고(매끄러운 효과), 드럼의 페이더는 빠르게 움직인다(거친 효과). 모든 페이더에 같은 강도의 부드러움 제약을 걸면 드럼 다이내믹이 손상된다 — 각 악기에 적절한 정도의 제약을 걸어야 한다. 함수-on-스칼라 회귀의 효과별 \(\lambda_\ell\) 도 같은 원리.
5.8 거칠기의 기저 표현
기저 전개 (5.4) 에 의해
\[ (L \beta_\ell)(t) = \beta_\ell''(t) = \sum_{k=1}^{K} b_{\ell k} \varphi_k''(t). \]
이 식의 제곱을 적분:
\[ \int \{\beta_\ell''(t)\}^2 \, dt = \sum_{k, k'=1}^{K} b_{\ell k} b_{\ell k'} \int \varphi_k''(t) \varphi_{k'}''(t) \, dt = \mathbf{b}_\ell^T \mathbf{R} \mathbf{b}_\ell, \]
여기서 거칠기 행렬
\[ \mathbf{R} = \left[ \int (L \varphi_k)(t) (L \varphi_{k'})(t) \, dt \right]_{k, k' = 1}^{K}, \quad K \times K. \]
기저 함수의 도함수들의 내적 행렬이며, 기저가 정해지면 데이터와 무관하게 한 번만 계산 한다.
5.9 직관: 거칠기 행렬은 “기저의 거칠기 카탈로그”
기저 함수 \(\varphi_k\) 가 매끄러우면 \(\int (\varphi_k'')^2\) 가 작고, 거칠면 크다. \(\mathbf{R}\) 의 대각 성분 \(R_{kk}\) 는 각 기저의 자체 거칠기, 비대각 성분 \(R_{kk'}\) 는 두 기저의 거칠기 내적.
기저 전개로 표현된 함수 \(\beta_\ell = \sum b_{\ell k} \varphi_k\) 의 거칠기 \(\mathbf{b}_\ell^T \mathbf{R} \mathbf{b}_\ell\) 는 본질적으로 “계수 벡터가 거친 기저 방향으로 얼마나 가는가” 의 척도이다.
6 닫힌 형태 해 (식 5.6)
6.1 벡터화와 크로네커 곱
벌점 손실함수 (5.5) 의 최소화를 위해 두 행렬 연산을 도입한다.
\(p \times q\) 행렬 \(\mathbf{M}\) 의 벡터화 \(\text{vec}(\mathbf{M}) \in \mathbb{R}^{pq}\) 는 열들을 위에서 아래로 쌓은 벡터:
\[ \text{vec}\left(\begin{bmatrix} a & c \\ b & d \end{bmatrix}\right) = \begin{bmatrix} a \\ b \\ c \\ d \end{bmatrix}. \]
\(p_A \times q_A\) 행렬 \(\mathbf{A}\) 와 \(p_B \times q_B\) 행렬 \(\mathbf{B}\) 의 크로네커 곱 \(\mathbf{A} \otimes \mathbf{B}\) 는 \(p_A p_B \times q_A q_B\) 행렬:
\[ \mathbf{A} \otimes \mathbf{B} = \begin{bmatrix} a_{11} \mathbf{B} & a_{12} \mathbf{B} & \cdots & a_{1 q_A} \mathbf{B} \\ a_{21} \mathbf{B} & a_{22} \mathbf{B} & \cdots & a_{2 q_A} \mathbf{B} \\ \vdots & \vdots & & \vdots \\ a_{p_A 1} \mathbf{B} & a_{p_A 2} \mathbf{B} & \cdots & a_{p_A q_A} \mathbf{B} \end{bmatrix}. \]
6.2 핵심 성질
크로네커 곱의 두 가지 핵심 성질이 식 유도에 사용된다.
\[ (\mathbf{A} \otimes \mathbf{B})^T = \mathbf{A}^T \otimes \mathbf{B}^T, \]
\[ (\mathbf{A} \otimes \mathbf{B})(\mathbf{C} \otimes \mathbf{D}) = (\mathbf{AC}) \otimes (\mathbf{BD}). \]
6.3 닫힌 형태 해
\(\boldsymbol{\Lambda} = \text{diag}(\lambda_1, \lambda_2, \ldots, \lambda_q)\) 와 거칠기 행렬 \(\mathbf{R}\) 을 사용하면, 벌점 손실 (5.5) 을 최소화하는 \(\mathbf{B}\) 의 항목들은:
\[ \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), \quad \mathbf{U} = \mathbf{X} \otimes \boldsymbol{\Phi}^T. \tag{5.6} \]
유도는 복잡하므로 생략 (자세한 내용은 Reiss et al., 2010).
6.4 대안 표현
크로네커 곱 성질에 의해 \(\mathbf{U}^T \mathbf{U} = (\mathbf{X}^T \mathbf{X}) \otimes (\boldsymbol{\Phi} \boldsymbol{\Phi}^T)\). 따라서 식 (5.6) 의 핵심 행렬은
\[ \mathbf{U}^T \mathbf{U} + \boldsymbol{\Lambda} \otimes \mathbf{R} = (\mathbf{X}^T \mathbf{X}) \otimes (\boldsymbol{\Phi} \boldsymbol{\Phi}^T) + \boldsymbol{\Lambda} \otimes \mathbf{R}. \]
표준 ridge 회귀의 핵심 행렬 \(\mathbf{X}^T \mathbf{X} + \lambda \mathbf{I}\) 의 크로네커 일반화임을 확인할 수 있다.
6.5 직관: 크로네커 곱이 왜 필연적인가
미지수의 형태를 보자. \(\mathbf{B}\) 는 \(q \times K\) 행렬 — 두 차원 (예측변수 차원 \(q\), 기저 차원 \(K\)) 에 걸친 모수.
다변량 회귀 \(\mathbf{y} = \mathbf{X} \boldsymbol{\beta}\) 에서 미지수 \(\boldsymbol{\beta}\) 는 1차원 벡터 — \(\mathbf{X}^T \mathbf{X} \boldsymbol{\beta} = \mathbf{X}^T \mathbf{y}\) 같은 1차원 정규방정식.
함수-on-스칼라 벌점 회귀에서 미지수가 2 차원 행렬이므로, 정규방정식도 2 차원 자유도 — 이를 1 차원 벡터 방정식으로 변환하려면 \(\mathbf{B}\) 를 vec 으로 펴고, 행렬 연산자를 크로네커 곱으로 펴야 한다.
| 미지수의 모양 | 정규방정식 형태 |
|---|---|
| 벡터 (1차원) | 일반 행렬 곱 |
| 행렬 (2차원) | 벡터화 + 크로네커 곱 |
| 텐서 (3차원 이상) | 다중 vec + 다중 크로네커 곱 |
크로네커 곱은 “두 차원의 모수를 한 차원으로 펴는 연산자” 이며, 함수-on-스칼라 추정에 자연스럽게 등장한다.
6.6 비유: 직물의 격자 정칙화
가로 \(q\) 줄, 세로 \(K\) 줄의 격자 직물을 짠다고 상상한다. 각 가로 줄(예측변수)에 별도의 인장력 \(\lambda_\ell\) 을, 각 세로 줄(기저)에 거칠기 행렬 \(\mathbf{R}\) 의 패턴을 부여한다.
- 가로 인장력만 있으면 (벌점 없는 OLS + ridge): \(\mathbf{B}\) 의 행 노름에만 벌점.
- 세로 거칠기만 있으면 (효과별 매끄러움 동일): \(\mathbf{B}\) 의 열 사이 도함수에만 벌점.
- 두 가지가 결합 (\(\boldsymbol{\Lambda} \otimes \mathbf{R}\)): 행마다 다른 강도로 열 방향 매끄러움 — 격자 전체에 공간적으로 변하는 정칙화.
크로네커 곱은 두 1차원 정칙화의 곱셈적 결합 을 표현한다.
7 반응도 기저 전개로 표현된 경우
7.1 동기
실무에서는 반응 곡선 자체를 미리 기저 전개로 표현하는 경우가 많다 (smoothing, missing handling 등). 이 경우 추정량 형태가 살짝 변한다.
7.2 가정
각 반응을 같은 기저로 전개:
\[ Y_i(t) = \sum_{k=1}^{K} c_{ik} \varphi_k(t), \quad 1 \leq i \leq N. \tag{5.7} \]
이는 보통 근사이지만, 5.2 의 유도 편의를 위해 등호로 취급. 효과 함수 (5.4) 와 같은 기저를 쓰는 것이 권장 — 그래야 적합 곡선과 반응 곡선이 같은 매끄러움을 가진다.
7.3 직관: 같은 기저를 쓰는 이유
만약 반응은 30개 B-spline 으로, 효과 함수는 50개 Fourier 로 표현하면, 적합 곡선 \(\widehat{Y}_i(t) = \sum_k x_{ik} \widehat{\beta}_k(t)\) 의 매끄러움이 효과 함수의 매끄러움(Fourier) 을 반영하여 반응(B-spline) 과 다른 형태가 된다. 같은 기저를 쓰면 적합 곡선이 반응 곡선과 동질적인 객체 — 시각적·해석적 일관성이 있다.
7.4 행렬 형태
계수 행렬 \(\mathbf{C} = [c_{ik}]_{N \times K}\), 기저 평가 벡터 \(\boldsymbol{\varphi}(t) = [\varphi_1(t), \ldots, \varphi_K(t)]^T\). 그러면 \(\mathbf{Y}(t) = \mathbf{C} \boldsymbol{\varphi}(t)\) 와 \(\boldsymbol{\beta}(t) = \mathbf{B} \boldsymbol{\varphi}(t)\) 가 성립.
7.5 변형된 손실함수
\[ \int \| \mathbf{C} \boldsymbol{\varphi}(t) - \mathbf{X B} \boldsymbol{\varphi}(t) \|^2 \, dt + \sum_{\ell=1}^{q} \lambda_\ell \int \{(L \beta_\ell)(t)\}^2 \, dt. \tag{5.8} \]
여기서 첫 적분의 노름은 \(\mathbb{R}^N\) 의 유클리드 노름. 시간에 대해 적분하면 기저 함수들의 내적 행렬이 등장한다.
7.6 기저 내적 행렬
\[ \mathbf{I}_\varphi = \left[ \int \varphi_k(t) \varphi_\ell(t) \, dt \right]_{k, \ell = 1}^{K}, \quad K \times K. \]
기저가 정규직교이면 \(\mathbf{I}_\varphi = \mathbf{I}\) (항등행렬). 일반적으로는 양정치이며, 양의 평방근 \(\mathbf{I}_\varphi^{1/2}\) 가 존재 (Problem 5.1).
7.7 닫힌 형태 해 (식 5.9)
\[ \text{vec}(\mathbf{B}^T) = \left[ \mathbf{U}_\varphi^T \mathbf{U}_\varphi + \boldsymbol{\Lambda} \otimes \mathbf{R} \right]^{-1} \mathbf{U}_\varphi^T \text{vec}(\mathbf{I}_\varphi^{1/2} \mathbf{C}^T), \quad \mathbf{U}_\varphi = \mathbf{X} \otimes \mathbf{I}_\varphi^{1/2}. \tag{5.9} \]
식 (5.6) 과 비교하면 \(\boldsymbol{\Phi}^T\) 자리에 \(\mathbf{I}_\varphi^{1/2}\) 가, \(\mathbf{Y}\) 자리에 \(\mathbf{I}_\varphi^{1/2} \mathbf{C}^T\) 가 들어간 형태이다.
7.8 직관: \(\mathbf{I}_\varphi^{1/2}\) 의 의미
기저가 정규직교이면 \(\mathbf{I}_\varphi^{1/2} = \mathbf{I}\) 라서 식 (5.9) 가 식 (5.6) 으로 환원된다. 비직교 기저 (예: B-spline) 에서는 \(\mathbf{I}_\varphi^{1/2}\) 가 기저 사이의 중복을 보정 하는 역할.
원시 격자 데이터 \(\mathbf{Y}\) 를 직접 사용하는 식 (5.6) 과, 기저 계수 \(\mathbf{C}\) 를 사용하는 식 (5.9) 는 — 사전 평활화 단계가 있는지 없는지 — 의 차이일 뿐 본질적으로 같은 추정 framework 이다.
8 매끄러움 모수 선택
8.1 왜 어려운가
벌점 추정의 핵심 과제는 \(\boldsymbol{\lambda} = (\lambda_1, \ldots, \lambda_q)\) 를 어떻게 선택하는가 이다. 너무 작으면 점별 OLS 와 비슷해져 잡음에 흔들리고, 너무 크면 효과 함수가 직선(또는 \(L \beta = 0\) 의 일반 해) 으로 수축한다.
다변량 ridge 처럼 단일 \(\lambda\) 면 1 차원 그리드 검색이지만, 함수 회귀에서는 \(q\) 차원 검색이 필요 — 차원의 저주.
8.2 표준 접근법
- 그리드 검색 + GCV — 각 \(\lambda_\ell\) 의 후보값에서 일반화 교차검증 통계량을 계산. \(q\) 가 작으면 가능, 크면 비현실적.
- REML (Restricted Maximum Likelihood) — 효과 함수를 mixed model 의 random effect 로 보고 분산을 추정. \(\lambda_\ell\) 가 분산비로 자동 결정.
mgcv,pffr의 기본 방법. - MMLE (Marginal MLE) — 베이지안 동기로 \(\lambda_\ell\) 자체에 사전분포를 두고 주변화. 계산 비용이 큼.
REML 이 실무에서 가장 자주 쓰인다 — 자동화되어 있고 통계적으로 정당화된다. 다음 절(5.4 — refund) 에서 구체적으로 다룬다.
8.3 직관: REML 이 왜 자연스러운가
효과 함수 \(\beta_\ell\) 을 “고정된 미지 함수” 가 아니라 “분산 \(\sigma_\ell^2\) 의 사전분포에서 나온 random function” 으로 보면, 큰 \(\sigma_\ell^2\) ↔︎ 작은 \(\lambda_\ell\) (덜 매끄러움), 작은 \(\sigma_\ell^2\) ↔︎ 큰 \(\lambda_\ell\) (더 매끄러움). REML 은 이 분산을 데이터로부터 추정 — 벌점이 데이터 자체로부터 결정 된다는 점이 매력적이다.
이는 mixed model 이론과 함수 회귀 이론을 잇는 다리 역할을 하며, Wand·Wood 등이 정교화한 framework 의 토대이다.
9 코드 예시: 벌점 함수-on-스칼라 회귀
9.1 refund 의 fosr 함수
library(refund)
library(fda)
# 가상 데이터: N = 100, J = 50 시점, q = 3 회귀자
set.seed(2026)
N <- 100; J <- 50; q <- 3
t_grid <- seq(0, 1, length.out = J)
# 진짜 효과 함수
beta1_true <- 2 + sin(2 * pi * t_grid)
beta2_true <- cos(pi * t_grid)
beta3_true <- t_grid - 0.5
# 설계 행렬 (절편 + 2 개 회귀자)
X_design <- cbind(1, rnorm(N), runif(N, -1, 1))
# 잡음 많은 반응 곡선 생성
beta_mat <- cbind(beta1_true, beta2_true, beta3_true) # J x q
Y_clean <- X_design %*% t(beta_mat) # N x J
Y_noisy <- Y_clean + matrix(rnorm(N * J, sd = 0.5), N, J)
# 1. fda 객체 변환
basis <- create.bspline.basis(rangeval = c(0, 1), nbasis = 30)
Y_fd <- Data2fd(argvals = t_grid, y = t(Y_noisy), basisobj = basis)
# 2. fosr 적합 (REML 방식)
fit_fosr <- fosr(fdobj = Y_fd, X = X_design, method = "OLS", lambda = 100)
# 3. 추정 효과 함수 시각화
par(mfrow = c(1, q))
for (k in 1:q) {
plot(fit_fosr, split = 1, set.mfrow = FALSE,
titles = c("Intercept", "X1 effect", "X2 effect")[k])
}9.2 직관: lambda 선택의 시각적 진단
추정된 \(\widehat{\beta}_k(t)\) 가:
- 너무 거칠면 → \(\lambda\) 가 작음. 잡음에 흔들리는 추정.
- 너무 매끄러우면(거의 직선) → \(\lambda\) 가 큼. 진짜 변동을 놓침.
- 진짜 함수와 비슷한 패턴 + 약간의 매끄러움 → \(\lambda\) 가 적절.
fosr 의 lambda = ... 인자에 그리드 (예: 100 * 10:30) 를 주면 GCV 로 자동 선택. 단일 값으로 고정하려면 단일 숫자를 넘긴다.
9.3 점별 OLS 와의 비교
# 점별 OLS — 5.1 의 단순 식 (5.3) 직접 구현
XtX_inv <- solve(crossprod(X_design))
beta_pointwise <- XtX_inv %*% crossprod(X_design, Y_noisy) # q x J
# 시각적 비교
par(mfrow = c(1, q))
for (k in 1:q) {
plot(t_grid, beta_pointwise[k, ], type = "l", col = "red", lty = 2,
main = paste0("beta_", k, "(t)"),
xlab = "t", ylab = expression(hat(beta)),
ylim = range(beta_pointwise, beta_mat))
lines(t_grid, beta_mat[, k], col = "black", lwd = 2) # 진짜
legend("topright", lty = c(1, 2), col = c("black", "red"),
legend = c("True", "Pointwise OLS"))
}전형적 결과: 점별 OLS 는 진짜 함수 주위를 왔다갔다하는 거친 추정. 벌점 추정은 같은 패턴을 매끄럽게 표현하며, 진짜 함수에 더 가깝다.
10 두 절의 통합 시각
10.1 한 줄 요약
함수-on-스칼라 회귀의 점별 OLS 는 시점별 다중 회귀의 모음이며, 반응이 매끄러울 때 가장 단순하고 빠른 도구이다. 잡음 많은 반응에서는 효과 함수를 기저 전개하고 거칠기 벌점을 부과한 닫힌 형태 해 — 두 차원의 결합 정칙화를 크로네커 곱으로 표현한 식 (5.6) 또는 (5.9) — 가 자연스러운 일반화이다.
10.2 두 추정 framework 의 비교
| 측면 | 5.1 점별 OLS | 5.2 벌점 추정 |
|---|---|---|
| 모수 표현 | \(\widehat{\boldsymbol{\beta}}(t)\) — 시점별 벡터 | \(\widehat{\mathbf{B}}\) — 기저 계수 행렬 |
| 자유도 | \(qJ\) | \(qK\) (단, 벌점이 실효 자유도 감소) |
| 매끄러움 | 자동 보장 안 됨 | 거칠기 벌점으로 명시 강제 |
| 계산 | \((\mathbf{X}^T\mathbf{X})^{-1}\) 한 번 + 시점별 곱 | 식 (5.6) 의 큰 행렬 역행 |
| 모수 선택 | 없음 | \(\boldsymbol{\lambda} \in \mathbb{R}^q\) — REML/GCV |
| 적용 | 매끄러운 반응 (예: 평활화된 곡선) | 잡음 많은 반응 (예: 원시 측정) |
10.3 다변량과의 평행 관계
| 다변량 | 함수-on-스칼라 |
|---|---|
| OLS \((\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}\) | 점별 OLS (식 5.3) |
| Ridge \((\mathbf{X}^T\mathbf{X} + \lambda \mathbf{I})^{-1}\mathbf{X}^T\mathbf{y}\) | 벌점 추정 (식 5.6) |
| 단일 \(\lambda\) | 효과별 \(\boldsymbol{\lambda} = (\lambda_1, \ldots, \lambda_q)\) |
| GCV / CV | GCV / REML / MMLE |
| 모수: 벡터 | 모수: 행렬 (vec + 크로네커) |
함수-on-스칼라 회귀는 다변량 ridge 회귀의 자연스러운 함수 일반화이며, 같은 도구·같은 직관·같은 진단법을 (적절한 차원 변경과 함께) 그대로 사용한다.
10.4 Chapter 5 후속 절과의 연결
| 후속 절 | 5.1~5.2 의 도구를 어떻게 확장하는가 |
|---|---|
| 5.3 함수-on-함수 | 효과 함수 \(\beta_k(t)\) → 이변량 핵 \(\psi(t, s)\). 양 방향 기저 전개 + 라플라시안 벌점 |
| 5.4 refund 구현 | 5.2 의 (5.6) 을 자동화한 fosr·pffr 함수 |
| 5.5 FPCA 기반 | 결정적 기저 대신 데이터 기반 EFPC 를 기저로 사용 |
| 5.6 효과 없음 검정 | 추정 후 검정. 점별 OLS 또는 벌점 추정 후의 잔차 구조 활용 |
| 5.7 선형성 진단 | EFPC 점수 산점도. 5.1 의 자동차 예시와 같은 패턴의 일반화 |
5.1~5.2 의 framework 가 Ch.5 전체의 토대이다 — 후속 절들은 모두 이 형식 위에서 추가적 일반화를 한다.
11 관련 주제
선행 지식
- FDA 1.0 — 개요
- FDA 1.1~1.2 — 기저 전개와 표본 통계량
- FDA 2.0 — 탐색적 FDA 심화 개관
- FDA 2.1~2.2 — 미분과 벌점 스무딩
- FDA 3.3 — 선형 변환과 공분산 연산자
- FDA 4.5~4.6 — 거칠기 벌점 추정과 FPCA 회귀
- FDA 5.0 — 함수 반응 모형 개관
후속 주제
- FDA 5.3 — 함수-on-함수 회귀와 이변량 핵
- FDA 5.4 — refund 패키지: fosr 와 pffr
- FDA 5.5~5.6 — FPCA 기반 핵 추정과 효과 없음 검정
- FDA 5.7 — 선형 함수 모형의 진단
- FDA 6.0 — 함수 일반화 선형 모형 개관
관련 개념
- Ridge 회귀와 정칙화 — 함수 벌점의 다변량 원조
- Mixed Model 과 REML —
pffr의 추정 framework - 텐서 곱 기저 — 이변량 함수 모형화의 표준 도구
- 크로네커 곱과 벡터화 — 행렬 미지수 추정의 표준 기법