So far we have assumed that random errors are independent with equal variances. In this section, we consider model () with model space for given in (), and . When is completely known, we transform the data into iid case and fit as in previous sections. In the following we assume that depends on a parsimonious set of parameters .
We estimate as the minimizer of the following penalized weighted
least squares
Correlated random errors may have a profound effect on methods for
selecting smoothing parameters such as GCV, GML and UBR
(Wang, 1998b). Extensions of GCV, GML and UBR methods with
correlated random errors were developed in Wang (1998b). It was
found that the extended GML method has the best overall
performance. Therefore, we concentrate on the extended GML method
here. Fixing , the extended GML method estimates smoothing
parameters
in () together with the
variance-covariance parameters
as the minimizers of
To compute the minimizers of (), we use the connection
between smoothing spline models and linear mixed-effects models (LMM)
(Opsomer et al., 2001; Wang, 1998b). Let
, where is a matrix with
. Consider the following
LMM
Two options in ssr can be used to specify the correlation and variance structures for Gaussian data. The first option, correlation, specifies the correlation structure of random errors. It inputs a corMatrix class as in nlme. Available correlation structures include corSymm, corAR1, corCAR1, corARMA, corExp, corLin, corGaus, corSpher, corSpatial. See the document of nlme (Pinheiro and Bates, 2000) for a complete list. New structures can be added through facilities provided in nlme. The following statement fits a thin plate spline with an exponential correlation structure
ssr(y~t1+t2, rk=tp.pseudo(cbind(t1,t2)), corr=corExp(form=~t1+t2), spar=``m'')
The second option, weights, specifies the variance structure for the variance function of the random errors in the form of a varFunc class as in nlme. Available varFunc classes include varFixed, varIdent, varPower, varExp and varComb. See Pinheiro and Bates (2000) for details. New varFunc classes representing user-defined variance functions can be added. For example, the following statement fits a cubic spline with fixed weights (assuming a vector of w has been created)
ssr(y~t, rk=cubic(t), weights=w)