Description Usage Arguments Details Value Warning References See Also Examples
This function generates an artificially sparsified version of a functional
data object of class funData
(univariate) or
multiFunData
(multivariate). The minimal and maximal number
of observation points for all observations can be supplied by the user.
1 | sparsify(funDataObject, minObs, maxObs)
|
funDataObject |
A functional data object of class
|
minObs, maxObs |
The minimal/maximal number of observation points. Must be a scalar for
univariate functional data ( |
The technique for artificially sparsifying the data is as described in Yao et al. (2005): For each element x_i^(j) of an observed (multivariate) functional data object x_i, a random number R_i^(j) in {\code{minObs}, …, \code{maxObs}} of observation points is generated. The points are sampled uniformly from the full grid {t_{j,1} , … , t_{j, S_j}} in T_j, resulting in observations
x_{i,r}^(j) = x_i^(j)(t_{j,r}), r = 1 ,…,R_i^(j), j = 1, …, p.
An object of the same class as funDataObject
, which is a
sparse version of the original data.
This function is currently implemented for 1D data only.
Yao, F., H.-G. Mueller and J.-L. Wang (2005): Functional Data Analysis for Sparse Longitudinal Data. Journal of the American Statistical Association, 100 (470), 577–590.
funData
, multiFunData
,
simFunData
, simMultiFunData
,
addError
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | oldPar <- par(no.readonly = TRUE)
par(mfrow = c(1,1))
set.seed(1)
# univariate functional data
full <- simFunData(argvals = seq(0,1, 0.01), M = 10, eFunType = "Fourier",
eValType = "linear", N = 3)$simData
sparse <- sparsify(full, minObs = 4, maxObs = 10)
plot(full, main = "Sparsify")
plot(sparse, type = "p", pch = 20, add = TRUE)
legend("topright", c("Full", "Sparse"), lty = c(1, NA), pch = c(NA, 20))
# Multivariate
full <- simMultiFunData(type = "split", argvals = list(seq(0,1, 0.01), seq(-.5,.5, 0.02)),
M = 10, eFunType = "Fourier", eValType = "linear", N = 3)$simData
sparse <- sparsify(full, minObs = c(4, 30), maxObs = c(10, 40))
par(mfrow = c(1,2))
plot(full[[1]], main = "Sparsify (multivariate)", sub = "minObs = 4, maxObs = 10")
plot(sparse[[1]], type = "p", pch = 20, add = TRUE)
plot(full[[2]], main = "Sparsify (multivariate)", sub = "minObs = 30, maxObs = 40")
plot(sparse[[2]], type = "p", pch = 20, add = TRUE)
legend("bottomright", c("Full", "Sparse"), lty = c(1, NA), pch = c(NA, 20))
par(oldPar)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.