PCvM.statistic {fda.usc} | R Documentation |
PCvM statistic for the Functional Linear Model with scalar response
Description
Projected Cramer-von Mises statistic (PCvM) for the Functional Linear Model with scalar response (FLM):
Y=\big<X,\beta\big>+\varepsilon
.
Usage
Adot(X, inpr)
PCvM.statistic(X, residuals, p, Adot.vec)
Arguments
X |
Functional covariate for the FLM.
The object must be either in the class |
inpr |
Matrix of inner products of |
residuals |
Residuals of the estimated FLM. |
p |
Number of elements of the functional basis where the functional covariate is represented. |
Adot.vec |
Output from the |
Details
In order to optimize the computation of the statistic, the critical parts
of these two functions are coded in FORTRAN. The hardest part corresponds to the
function Adot
, which involves the computation of a symmetric matrix of dimension
n\times n
where each entry is a sum of n
elements.
As this matrix is symmetric, the order of the method can be reduced from O(n^3)
to O\big(\frac{n^3-n^2}{2}\big)
. The memory requirement can also be reduced
to O\big(\frac{n^2-n+2}{2}\big)
. The value of Adot
is a vector of
length \frac{n^2-n+2}{2}
where the first element is the common diagonal
element and the rest are the lower triangle entries of the matrix, sorted by rows (see Examples).
Value
For PCvM.statistic
, the value of the statistic. For Adot
,
a suitable output to be used in the argument Adot.vec
.
Note
No NA's are allowed in the functional covariate.
Author(s)
Eduardo Garcia-Portugues. Please, report bugs and suggestions to eduardo.garcia.portugues@uc3m.es
References
Escanciano, J. C. (2006). A consistent diagnostic test for regression models using projections. Econometric Theory, 22, 1030-1051. doi:10.1017/S0266466606060506
Garcia-Portugues, E., Gonzalez-Manteiga, W. and Febrero-Bande, M. (2014). A goodness–of–fit test for the functional linear model with scalar response. Journal of Computational and Graphical Statistics, 23(3), 761-778. doi:10.1080/10618600.2013.812519
See Also
Examples
# Functional process
X=rproc2fdata(n=10,t=seq(0,1,l=101))
# Adot
Adot.vec=Adot(X)
# Obtain the entire matrix Adot
Ad=diag(rep(Adot.vec[1],dim(X$data)[1]))
Ad[upper.tri(Ad,diag=FALSE)]=Adot.vec[-1]
Ad=t(Ad)
Ad=Ad+t(Ad)-diag(diag(Ad))
Ad
# Statistic
PCvM.statistic(X,residuals=rnorm(10),p=5)