This function performs the necessary preprocessing for making predictions with gam
models that include pco
basis terms. The function pco_predict_preprocess
builds a data.frame
(or augments an existing one) to be used with the usual predict
function.
pco_predict_preprocess(model, newdata = NULL, dist_list)
a fitted gam
model with at least one term of class "pco.smooth
".
data frame including the new values for any non-pco
terms in the original fit. If there were none, this can be left as NULL
.
a list of n
\(\times\) n*
matrices, one per pco
term in the model, giving the distances from the n*
prediction points to the n
design points (original observations). List entry names should correspond to the names of the terms in the model (e.g., if the model includes a s(x)
term, dist_list
must include an element named "x
").
a data.frame
with the coordinates for the new data inserted into principal coordinate space, in addition to the supplied newdata
if this was non-NULL
. This can be used as the newdata
argument in a call to predict.gam
.
Models with pco
basis terms are fitted by inputting distances among the observations and then regressing (with a ridge penalty) on leading principal coordinates arising from these distances. To perform prediction, we must input the distances from the new data points to the original points, and then "insert" the former into the principal coordinate space by the interpolation method of Gower (1968) (see also Miller, 2012).
An example of how to use this function in practice is shown in smooth.construct.pco.smooth.spec
.
Gower, J. C. (1968). Adding a point to vector diagrams in multivariate analysis. Biometrika, 55(3), 582-585. http://doi.org/10.2307/2334268
Miller, D. L. (2012). On smooth models for complex domains and distances. PhD dissertation, Department of Mathematical Sciences, University of Bath. Available at http://opus.bath.ac.uk/31800/