Optimal Linear Prediction, Especially over Time

36-740

8 September 2026 (Lecture 5)

\[ \newcommand{\Expect}[1]{\mathbb{E}\left[ #1 \right]} \newcommand{\Var}[1]{\mathrm{Var}\left[ #1 \right]} \newcommand{\SampleVar}[1]{\widehat{\mathrm{Var}}\left[ #1 \right]} \newcommand{\Cov}[1]{\mathrm{Cov}\left[ #1 \right]} \newcommand{\TrueRegFunc}{\mu} \newcommand{\EstRegFunc}{\widehat{\TrueRegFunc}} \DeclareMathOperator{\tr}{tr} \DeclareMathOperator*{\argmin}{argmin} \DeclareMathOperator{\det}{det} \newcommand{\TrueNoise}{\epsilon} \newcommand{\EstNoise}{\widehat{\TrueNoise}} \newcommand{\AutoCov}{\gamma} \newcommand{\CovKernel}{\kappa} \newcommand{\LinearExpect}[1]{\mathbb{L}\left[ #1 \right]} \newcommand{\HilbertInner}[3]{\langle #1, #2\rangle_{#3}} \newcommand{RKHSInner}[2]{\HilbertInner{#1}{#2}{\mathcal{K}}} \]

In our previous episodes

Today: use covariance to do prediction

Optimal prediction in general

What’s the best constant guess for a random variable \(Y\)?

\[\begin{eqnarray} \TrueRegFunc & = & \argmin_{m \in \mathbb{R}}{\Expect{(Y-m)^2}}\\ & = & \argmin_{m \in \mathbb{R}}{\left(\Var{(Y-m)} + (\Expect{Y-m})^2\right)}\\ & = & \argmin_{m \in \mathbb{R}}{\left(\Var{Y} + (\Expect{Y} - m)^2\right)}\\ & = & \argmin_{m \in \mathbb{R}}{ (\Expect{Y} - m)^2}\\ & = & \Expect{Y} \end{eqnarray}\]

Optimal prediction in general

For each \(z \in \mathcal{Z}\), best \(m(z)\) is \(\Expect{Y|Z=z}\) (by previous slide), so \[ \TrueRegFunc(z) = \Expect{Y|Z=z} \]

Optimal prediction in general

Optimal linear prediction with univariate predictor

Optimal linear prediction, univariate case

\[ (\alpha, \beta) = \argmin_{a \in \mathbb{R}, b \in \mathbb{R}}{\Expect{(Y-(a+bZ))^2}} \]

Remember: \(\Expect{W^2} = (\Expect{W})^2 + \Var{W}\)

\[\begin{eqnarray} \Expect{(Y-(a+bZ))^2} & = & (\Expect{Y - (a+bZ)})^2 + \Var{Y - (a + bZ)}\\ & = & ((\Expect{Y} - b\Expect{Z}) - a)^2 + \Var{Y - bZ}\\ & = & ((\Expect{Y} - b\Expect{Z}) - a)^2 + \Var{Y} + b^2\Var{Z} - 2b\Cov{Y,Z} \end{eqnarray}\]

The intercept

\[ \Expect{(Y-(a+bZ))^2} = ((\Expect{Y} - b\Expect{Z}) - a)^2 + \Var{Y} + b^2\Var{Z} - 2b\Cov{Y,Z} \]

The slope

\[\begin{eqnarray} \left. \frac{\partial}{\partial b}\Expect{(Y-(a+bZ))^2}\right|_{a=\alpha, b=\beta} & = & 2(\Expect{Y} - (\alpha + \beta \Expect{Z})(-\Expect{Z})\\ & & + 2\beta\Var{Z} - 2\Cov{Y,Z}\\ 0 & = & 2(\beta\Var{Z} - \Cov{Y,Z})\\ \beta \Var{Z} & = & \Cov{Y,Z}\\ \beta & = & \frac{\Cov{Y,Z}}{\Var{Z}} \end{eqnarray}\]

The optimal linear predictor of \(Y\) from \(Z\)

The optimal linear predictor of \(Y\) from a single \(Z\) is always

\[ \LinearExpect{Y|Z} = \alpha + \beta Z = \Expect{Y} + \left(\frac{\Cov{Z,Y}}{\Var{Z}}\right) (Z - \Expect{Z}) \]

What did we not assume?

A little worked example (I)

We know: \[ \LinearExpect{Y|Z} = \Expect{Y} + \frac{\Cov{Y, Z}}{\Var{Z}}(Z - \Expect{Z}) \]

Substituting in: \[ \LinearExpect{X_1} = \mu + \frac{\gamma}{\sigma^2}(X_1 - \mu) \]

(Apparently first done by Karl Pearson’s former student F. E. Cave-Browne-Cave for weather forecasting (Cave-Browne-Cave 1905), see discussion in Klein (1997), pp. 262–264)

Some general properties of the optimal linear predictor

  1. The prediction errors average out to zero
  2. The prediction errors are uncorrelated with \(Z\)
  3. The variance of the prediction errors \(\leq\) the variance of \(Y\)
  4. \(\Cov{Y,Z} = \Cov{\LinearExpect{Y|Z}, Z}\)

The prediction errors average out to zero

\[\begin{eqnarray} \Expect{Y-\LinearExpect{Y|Z}} & = & \Expect{Y - (\Expect{Y} + \beta(Z-\Expect{Z}))}\\ & = & \Expect{Y} - \Expect{Y} - \beta(\Expect{Z} - \Expect{Z}) = 0 \end{eqnarray}\]

The prediction errors are uncorrelated with \(Z\)

\[\begin{eqnarray} \Cov{Z, Y- \LinearExpect{Y|Z}} & = & \Expect{Z(Y-\LinearExpect{Y|Z})} ~\text{(by previous slide)}\\ & = & \Expect{Z(Y - \Expect{Y} - \frac{\Cov{Y,Z}}{\Var{Z}}(Z-\Expect{Z}))}\\ & = & \Expect{ZY - Z\Expect{Y} - \frac{\Cov{Y,Z}}{\Var{Z}}(Z^2) + \frac{\Cov{Y,Z}}{\Var{Z}} (Z \Expect{Z})}\\ & = & \Expect{ZY} - \Expect{Z}\Expect{Y} - \frac{\Cov{Y,Z}}{\Var{Z}}\Expect{Z^2} + \frac{\Cov{Y,Z}}{\Var{Z}} (\Expect{Z})^2\\ & = & \Cov{Z,Y} - \frac{\Cov{Y,Z}}{\Var{Z}}(\Var{Z})\\ & = & 0 \end{eqnarray}\]

The prediction errors are uncorrelated with \(Z\)

Alternate take:

\[\begin{eqnarray} \Cov{Z, Y-\LinearExpect{Y|Z}} & = & \Cov{Z, Y} - \Cov{Z, \alpha + \beta Z}\\ & = & \Cov{Y,Z} - \Cov{Z, \beta Z}\\ & = & \Cov{Y,Z} - \beta\Cov{Z,Z}\\ & = & \Cov{Y,Z} - \beta\Var{Z}\\ & = & \Cov{Y,Z} - \Cov{Y,Z} = 0 \end{eqnarray}\]

How big are the prediction errors?

\[\begin{eqnarray} \Var{Y-\LinearExpect{Y|Z}} & = & \Var{Y - \alpha - \beta Z}\\ & = & \Var{Y - \beta Z}\\ & = & \Var{Y} + \beta^2\Var{Z} - 2\beta\Cov{Y,Z} \end{eqnarray}\]

but \(\beta = \Cov{Y,Z}/\Var{Z}\) so

\[\begin{eqnarray} \Var{Y-\LinearExpect{Y|Z}} & = & \Var{Y} + \frac{(\Cov{Y,Z})^2}{\Var{Z}} - 2\frac{(\Cov{Y,Z})^2}{\Var{Z}}\\ & = & \Var{Y} - \frac{(\Cov{Y,Z})^2}{\Var{Z}}\\ & < & \Var{Y} ~ \text{unless}\ \Cov{Y,Z} = 0 \end{eqnarray}\]

\(\Rightarrow\) Optimal linear predictor is (almost) always better than nothing…

The predictions reproduce the covariances

\[\begin{eqnarray} \Cov{Z, \LinearExpect{Y|Z}} & = & \Cov{Z, \alpha + \beta Z}\\ & = & \Cov{Z, \beta Z}\\ & = & \beta \Var{Z}\\ & = & \frac{\Cov{Y,Z}}{\Var{Z}} \Var{Z} = \Cov{Y,Z} \end{eqnarray}\]

Multivariate case

We try to predict \(Y\) from a whole bunch of variables

Bundle those predictor variables into \(\vec{Z}\)

Solution:

\[ \LinearExpect{Y|Z} = \alpha+\vec{\beta}\cdot \vec{Z} = \Expect{Y} + (\Var{\vec{Z}})^{-1} \Cov{\vec{Z},Y} \cdot (\vec{Z} - \Expect{\vec{Z}}) \]

and

\[ \Expect{(Y - \LinearExpect{Y|Z})^2} = \Var{Y} - \Cov{Y,\vec{Z}}^T (\Var{\vec{Z}})^{-1} \Cov{Y,\vec{Z}} \]

(Gory algebraic details in backup slides)

The PCA view

What we don’t assume, again

Some possible contexts

Interpolating or extrapolating a single variable

\[\begin{eqnarray} Y & = & X_0\\ \vec{Z} & = & [X_1, X_2, \ldots X_n] \end{eqnarray}\]

A little worked example (II)

Work out \(\vec{\beta}\) (off-line!) and get \[\begin{eqnarray} \LinearExpect{X_0|X_1, X_@} = \mu + \frac{\gamma}{\sigma^2 + \rho}\left( (x_1 - \mu) + (x_2 - \mu)\right) \end{eqnarray}\] vs. with one predictor \[ \mu + \frac{\gamma}{\sigma^2}(x_1 - \mu) \]

Predicting one variable from another

\[\begin{eqnarray} Y & = & X(r_0, t_0)\\ \vec{Z} & = & [U(r_1, t_1), U(r_2, t_2), \ldots U(r_n, t_n)]\\ \end{eqnarray}\]

Predicting one variable from 2+ others

\[\begin{eqnarray} Y & = & X(r_0, t_0)\\ \vec{Z} & = & [U(r_1, t_1), V(r_1, t_1), U(r_2, t_2), V(r_2, t_2), \ldots U(r_n, t_n), V(r_n, t_n)] \end{eqnarray}\]

Covariance functions, kernels, etc.

The function space implicit in the covariance

After Parzen (1963); Parzen (1961)

\[ Z(t) = \sum_{i=1}^{\infty}{S_i \phi_i(t)} \] with \(\Cov{S_i, S_j} = \lambda_i \delta_{ij}\)

\[\begin{eqnarray} \Cov{\RKHSInner{h}{Z}, \RKHSInner{g}{Z}} & = & \Cov{\sum_{i=1}^{\infty}{\frac{1}{\lambda_i}{h_i S_i}}, \sum_{j=1}^{\infty}{\frac{1}{\lambda_j}{g_j S_j}}}\\ & = & \sum_{i, j}{\frac{1}{\lambda_i \lambda_j} h_i g_j \Cov{S_i, S_j}}\\ & = & \sum_{i, j}{\frac{1}{\lambda_i \lambda_j} h_i g_j \lambda_i \delta_{ij}}\\ & = & \sum_{i=1}^{\infty}{\frac{1}{\lambda_i} h_i g_i}\\ & = & \RKHSInner{h}{g} \end{eqnarray}\]

Similarly \[\begin{eqnarray} \Cov{Y, \RKHSInner{h}{Z}} & = & \sum_{i=1}^{\infty}{\frac{1}{\lambda_i} h_i \Cov{Y, S_i}}\\ & = & \RKHSInner{h}{\Cov{Y,Z}} \end{eqnarray}\]

After Parzen (cont’d).

\[\begin{eqnarray} \Expect{(Y - (a + \RKHSInner{b}{Z}))^2} & = & ((\Expect{Y} - \Expect{\RKHSInner{b}{Z}}) - a)^2 + \Var{Y} + \Var{\RKHSInner{b}{Z}} - 2\Cov{Y, \RKHSInner{b}{Z}}\\ & = & ((\Expect{Y} - \Expect{\RKHSInner{b}{Z}}) - a)^2 + \Var{Y} + \RKHSInner{b}{b} - 2 \RKHSInner{b}{\Cov{Y,Z}}\\ & = & ((\Expect{Y} - \Expect{\RKHSInner{b}{Z}}) - a)^2 + \Var{Y} + \RKHSInner{b- \Cov{Y, Z}}{b-\Cov{Y,Z}} - \RKHSInner{\Cov{Y,Z}}{\Cov{Y,Z}} \end{eqnarray}\]

Summing up on linear prediction in general

Optimal linear prediction for time series

\[\begin{eqnarray} \LinearExpect{X(t_0)|X(t_1), \ldots X(t_n)} & = & \alpha + \vec{\beta} \cdot \left[\begin{array}{c} X(t_1) \\ X(t_2) \\ \vdots \\ X(t_n) \end{array}\right]\\ \alpha & = & \Expect{X(t_0)} - \vec{\beta} \cdot \left[\begin{array}{c} \Expect{X(t_1)}\\ \Expect{X(t_2)} \\ \vdots \\ \Expect{X(t_n)}\end{array}\right] ~ \text{(goes away if everything's centered)}\\ \vec{\beta} & = & {\left[\begin{array}{cccc} \Var{X(t_1)} & \Cov{X(t_1), X(t_2)} & \ldots & \Cov{X(t_1), X(t_n)}\\ \Cov{X(t_1), X(t_2)} & \Var{X(t_2)} & \ldots & \Cov{X(t_2), X(t_n)}\\ \vdots & \vdots & \ldots & \vdots\\ \Cov{X(t_1), X(t_n)} & \Cov{X(t_2), X(t_n)} & \ldots & \Var{X(t_n)}\end{array}\right]}^{-1} \left[\begin{array}{c} \Cov{X(t_0), X(t_1)}\\ \Cov{X(t_0), X(t_2)}\\ \vdots \\ \Cov{X(t_0), X(t_n)}\end{array}\right] \end{eqnarray}\]

Interpolation

Back to Kyoto

What we didn’t tell R to make up

When did the cherries flower in 1015?

Similarly for extrapolation

Getting the expectations and covariances

Repeating the experiment

\[\begin{eqnarray} \overline{x}(t) \equiv \frac{1}{n}\sum_{i=1}^{n}{x^{(i)}(t)} & \rightarrow & \Expect{X(t)}\\ \frac{1}{n}\sum_{i=1}^{n}{(x^{(i)}(t) - \overline{x}(t)) (x^{(i)}(s) - \overline{x}(s))} & \rightarrow & \Cov{X(t), X(s)} \end{eqnarray}\]

Making assumptions

Stationarity (assuming covariances are equal)

The autocovariance function

Assuming stationarity…

\[\begin{eqnarray} \mathbf{v} & \equiv & \left[\begin{array}{ccc} \AutoCov(0) & \AutoCov(|t_1 - t_2|) & \ldots & \AutoCov(|t_1 - t_n|)\\ \AutoCov(|t_2-t_1|) & \AutoCov(0) & \ldots & \AutoCov(|t_2-t_n|)\\ \vdots & \vdots & \ldots & \vdots\\ \AutoCov(|t_n-t_1|) & \AutoCov(|t_n-t_2|) & \ldots & \AutoCov(0)\end{array}\right]\\ \mathbf{c} & = & \left[\begin{array}{c} \AutoCov(|t_0 - t_1|)\\ \AutoCov(|t_0-t_2|) \\ \vdots \\ \AutoCov(|t_0 -t_n|)\end{array} \right]\\ \vec{\beta} & = & \mathbf{v}^{-1}\mathbf{c}\\ \LinearExpect{X(t_0)|X(t_1), \ldots X(t_n)} & = & \overline{x} + \vec{\beta} \cdot \left[\begin{array}{c} X(t_1) -\overline{x}\\ X(t_2) - \overline{x} \\ \vdots \\ X(t_n) -\overline{x}\end{array}\right] = \overline{x} + \mathbf{c}^{T}\mathbf{v}^{-1} \left[\begin{array}{c} X(t_1) -\overline{x}\\ X(t_2) - \overline{x} \\ \vdots \\ X(t_n) -\overline{x}\end{array}\right]\\ \Expect{(X(t_0) - \LinearExpect{X(t_0)|X(t_1), \ldots X(t_n)})^2} & = & \AutoCov(0) - \mathbf{c}^T\mathbf{v}^{-1} \mathbf{c} \end{eqnarray}\]

In R

acf(x, lag.max, type, plot, na.action, ...)

In R

kyoto.acf <- acf(kyoto$Flowering.DOY, lag.max=100, type="covariance", na.action=na.pass)

In R

kyoto.acf[0:5]  # Why 0?
## 
## Autocovariances of series 'kyoto$Flowering.DOY', by lag
## 
##     0     1     2     3     4     5 
## 42.93 10.43 10.02 10.31  8.17  8.35
kyoto.acf[0:5]$acf
## , , 1
## 
##           [,1]
## [1,] 42.932054
## [2,] 10.430414
## [3,] 10.023484
## [4,] 10.314843
## [5,]  8.172978
## [6,]  8.350650

When was the flowering in 1015?

# Find years within +- 49 of 1015
  # Why +- 49 when we have covariances out to lag 100?
available.years <- with(na.omit(kyoto), Year.AD[Year.AD > 1015-49 & Year.AD < 1015+49])
historical.mean <- mean(kyoto$Flowering.DOY, na.rm=TRUE)
CovYZ <- matrix(kyoto.acf[abs(available.years-1015)]$acf, ncol=1)
year.lags <- outer(available.years, available.years, "-")
year.lags <- abs(year.lags)
VarZ <- kyoto.acf[year.lags]$acf
VarZ <- matrix(VarZ, ncol=length(available.years), byrow=FALSE)
Z <- with(kyoto, Flowering.DOY[Year.AD %in% available.years])
(fitted.value <- historical.mean + (Z-historical.mean) %*% solve(VarZ) %*% CovYZ)
##          [,1]
## [1,] 106.3017
(fitted.value.se <- sqrt(as.matrix(kyoto.acf[0]$acf) - t(CovYZ) %*% solve(VarZ) %*% CovYZ))
##          [,1]
## [1,] 5.862828

When was the flowering in 1015?

This is a lot of work…

…and we’d need to re-do most of it for every other year

… so we should write a function (comments in .Rmd)

kyoto.prediction <- function(times) {

    historical.mean <- mean(kyoto$Flowering.DOY, na.rm = TRUE)
    historical.variance <- as.matrix(kyoto.acf[0]$acf)
    fits <- matrix(0, nrow = length(times), ncol = 3)
    colnames(fits) <- c("time", "fit", "se")
    fits[, "time"] <- times
    rownames(fits) <- paste(times)
    for (t in times) {
        available.years <- with(na.omit(kyoto), Year.AD[Year.AD > t - 49 & Year.AD <
            t + 49])
        available.years <- setdiff(available.years, t)
        CovYZ <- matrix(kyoto.acf[abs(available.years - t)]$acf, ncol = 1)
        year.lags <- outer(available.years, available.years, "-")
        year.lags <- abs(year.lags)
        VarZ <- kyoto.acf[year.lags]$acf
        VarZ <- matrix(VarZ, ncol = length(available.years), byrow = FALSE)
        Z <- with(kyoto, Flowering.DOY[Year.AD %in% available.years])
        fits[paste(t), "fit"] <- historical.mean + (Z - historical.mean) %*% solve(VarZ) %*%
            CovYZ
        fits[paste(t), "se"] <- sqrt(max(0, historical.variance - t(CovYZ) %*% solve(VarZ) %*%
            CovYZ))
    }
    return(data.frame(fits))
}

Finally, some interpolation: close up

Finally, some interpolation: zoom out

Some extrapolation

plot(Flowering.DOY ~ Year.AD, data=kyoto, type="p", pch=16, cex=0.5, xlim=c(1970, 2030))
new.fits <- kyoto.prediction(1970:2030)
lines(fit ~ time, data=new.fits, col="blue")
lines(fit-se ~ time, data=new.fits, col="blue", lty="dashed")
lines(fit+se ~ time, data=new.fits, col="blue", lty="dashed")

Some further extrapolation

What’s going on here?

Stationarity and trend-plus-fluctuation

Stationary fluctuations around a trend

Detrending the cherry blossoms with a spline

# Get the spline
kyoto.spline <- with(na.omit(kyoto), smooth.spline(x=Year.AD, y=Flowering.DOY))
# Calculate residuals but pad them out with NAs for easier plotting
  # Start with a vector of all NAs
residuals.with.NAs <- rep(NA, times=nrow(kyoto))
  # Replace the entries where we can calculate a sensible residual
residuals.with.NAs[!is.na(kyoto$Flowering.DOY)] <- na.omit(kyoto$Flowering.DOY) - kyoto.spline$y
# Add it to the data frame as a new column
kyoto$fluctuation <- residuals.with.NAs

Detrending the cherry blossoms with a spline

Detrending the cherry blossoms with a spline

Detrending the cherry blossoms with a spline

Covariance estimation

Checking stationarity

Checking stationarity: raw data

Checking stationarity: after spline detrending

Checking stationarity

Multiple time series

Where did all this come from?

Wiener’s research in 1942

Summing up

Backup: Gory details for multivariate predictors

\[\begin{eqnarray} m(\vec{Z}) & = & a + \vec{b} \cdot \vec{Z}\\ (\alpha, \vec{\beta}) & = & \argmin_{a \in \mathbb{R}, \vec{b} \in \mathbb{R}^n}{\Expect{(Y-(a + \vec{b} \cdot \vec{Z}))^2}}\\ \Expect{(Y-(a+\vec{b} \cdot \vec{Z}))^2} & = & \left(\Expect{Y} - a - \vec{b} \cdot \Expect{\vec{Z}}\right)^2 + \Var{Y - \vec{b} \cdot \vec{Z}}\\ & = & \left(\left(\Expect{Y} - \vec{b} \cdot\Expect{\vec{Z}}\right) - a\right)^2\\ & & + \Var{Y} + \vec{b} \cdot \Var{\vec{Z}} \vec{b} - 2\vec{b} \cdot \Cov{Y, \vec{Z}} \end{eqnarray}\]

\(\Var{\vec{Z}}\) is a square matrix, \(\Cov{Y, \vec{Z}}\) is a vector

Backup: Gory details: the intercept

\(a\) only shows up in the square, which we can always zero out by setting \[ a = \Expect{Y} - \vec{b} \cdot \vec{Z} \]

More formally, taake derivative w.r.t. \(a\), set to 0 at \(a=\alpha\), \(\vec{b}=\vec{\beta}\):

\[\begin{eqnarray} 0 & = & -2\Expect{Y} + 2\vec{\beta} \cdot \Expect{\vec{Z}} + 2\alpha \\ \alpha & = & \Expect{Y} - \vec{\beta} \cdot \Expect{\vec{Z}}\\ \end{eqnarray}\]

just like when \(Z\) was univariate

Backup: Gory details: the slopes

Take derivative and set to zero at \(\vec{b}=\vec{\beta}\):

\[\begin{eqnarray} 2 \Var{\vec{Z}} \vec{\beta} - 2 \Cov{Y, \vec{Z}} & = & 0\\ \Var{\vec{Z}}\vec{\beta} & = & \Cov{Y, \vec{Z}}\\ \vec{\beta} & = & \Var{\vec{Z}}^{-1} \Cov{Y, \vec{Z}} \end{eqnarray}\]

Reduces to \(\Cov{Y,Z}/\Var{Z}\) when \(Z\) is univariate

Backup: Estimation I: “plug-in”

so for univariate \(Z\), \[ \hat{m}(z) = \overline{y} - \frac{\widehat{\Cov{Y,Z}}}{\widehat{\Var{Z}}}(z-\overline{z}) \]

Backup: Estimation II: ordinary least squares

Backup: Estimation: When does OLS/plug-in work?

Backup: Square roots of a matrix

Backup: Not inverting the variance matrix

Backup: How good is the optimal linear predictor?

all.fits$std.residuals <- (kyoto$Flowering.DOY - all.fits$fit)/all.fits$se
mean(all.fits$std.residuals, na.rm=TRUE)
## [1] -0.007427299
sd(all.fits$std.residuals, na.rm=TRUE)
## [1] 1.012488

Ideally: mean 0, standard deviation 1

Backup: How good is the optimal linear predictor?

This is a pretty good random scatter of points

Backup: fancier covariance estimation

Backup: stationary linear predictor vs. spline

Backup: A little bit about how Wiener approached the problem

Backup: Hilbert space

A Hilbert space \(\mathcal{H}\) is a space which

  1. Is a vector space: \(u, v \in H\) and \(a, b \in \mathbb{R}\) \(\Rightarrow\) \(au+bv \in H\), \(\exists 0 \in H\) s.t. \(0+v = v\), etc.
    • Or \(a, b \in \mathbb{C}\) or…
  2. Has an inner product \(\HilbertInner{\cdot}{\cdot}{\mathcal{H}}\), and a norm \(\|v\|_{\mathcal{H}} = \sqrt{\HilbertInner{v}{v}{\mathcal{H}}}\)
    • Inner products are symmetric and bilinear, 0$, \(\HilbertInner{v}{v}{\mathcal{H}} = 0\) iff \(v=0\)
  3. Contains the limit of all Cauchy-convergent sequences1.
  4. Is separable: you can name any \(\epsilon > 0\), and I can find a finite set \(\mathcal{S}_n\) of points in \(\mathcal{H}\) where radius-\(\epsilon\) balls around the \(\mathcal{S}_n\) points contain the whole of \(\mathcal{H}\)

Most (interesting) Hilbert spaces are spaces of functions on some domain \(\mathbb{D}\). A reproducing kernel for \(\mathcal{H}\) is a function \(K: \mathbb{D} \times \mathbb{D} \mapsto \mathbb{R}\) with the following properties:

  1. For each \(t \in \mathbb{D}\), \(K(\cdot, t) \in \mathcal{H}\)
  2. For each \(t\), \(\HilbertInner{v}{K(\cdot, t)}{\mathcal{H}} = v(t)\)
    • Compare \(\int{v(s) \delta(s-t) ds} = v(t)\)

A reproducing kernel implies that \(K(s,t) = \sum_{i=1}^{\infty}{\lambda_i \phi_i(s) \phi_i(t)}\) for eigenfunctions \(\phi_i\) with eigenvalues \(\lambda_i\)

This means we can (usually) avoid having to explicitly work with the eigenfunctions, we can just evaluate the kernel

References

Cave-Browne-Cave, F. E. 1905. “On the Influence of the Time Factor on the Correlation Between the Barometric Heights at Stations More Than 1000 Miles Apart.” Proceedings of the Royal Society of London 74:403–13. https://www.jstor.org/stable/116708.

Klein, Judy L. 1997. Statistical Visions in Time: A History of Time Series Analysis, 1662–1938. Cambridge, England: Cambridge University Press.

Kline, Ronald R. 2017. The Cybernetics Moment: Or Why We Call Our Age the Information Age. Baltimore, Maryland: Johns Hopkins University Press.

Kolmogorov, Andrei N. 1941. “Interpolation Und Extrapolation von Stationären Zufälligen Folgen.” Izvestiya Akademii Nauk SSSR. Seriya Matematicheskaya [Bulletin of the Academy Sciences, USSR, Mathematical Serie]s 5:3–14.

Parzen, Emanuel. 1961. “An Approach to Time Series Analysis.” The Annals of Mathematical Statistics 32:951–89. https://doi.org/10.1214/aoms/1177704840.

———. 1963. “A New Approach to the Synthesis of Optimal Smoothing and Prediction Systems.” In Mathematical Optimization Techniques, edited by Richard Bellman, 75–108. Berkeley: University of California Press. https://doi.org/10.1525/9780520319875-007.

Wiener, Norbert. 1949. Extrapolation, Interpolation, and Smoothing of Stationary Time Series: With Engineering Applications. Cambridge, Massachusetts: The Technology Press of the Massachusetts Institute of Technology. https://doi.org/10.7551/mitpress/2946.001.0001.

———. 1953. Ex-Prodigy: My Childhood and Youth. New York: Simon; Schuster.

———. 1954. The Human Use of Human Beings: Cybernetics and Society. 2nd ed. Garden City, New York: Doubleday.

———. 1961. Cybernetics: Or, Control and Communication in the Animal and the Machine. 2nd ed. Cambridge, Massachusetts: MIT Press. https://doi.org/10.7551/mitpress/11810.001.0001.


  1. A sequence \(v_n\) is Cauchy if, no matter how small an \(\epsilon > 0\) you name, I can always find an \(n(\epsilon)\) such that all points in the sequence after \(n(\epsilon)\) are within \(\epsilon\) of each other, i.e., \(n, m \geq n(\epsilon)\) \(\Rightarrow\) \(\|v_n - v_m\| \leq \epsilon\).