rpca_mfd | R Documentation |
It performs robust MFPCA as described in Capezza et al. (2024).
rpca_mfd(
mfdobj,
center = "fusem",
scale = "funmad",
nharm = 20,
method = "ROBPCA",
alpha = 0.8
)
mfdobj |
A multivariate functional data object of class mfd. |
center |
If TRUE, it centers the data before doing MFPCA with respect
to the functional mean of the input data.
If |
scale |
If |
nharm |
Number of multivariate functional principal components to be calculated. Default is 20. |
method |
If |
alpha |
This parameter measures the fraction of outliers the algorithm
should resist and is used only if |
An object of pca_mfd
class, as returned by the pca_mfd
function when performing non robust multivariate
functional principal component analysis.
C. Capezza, F. Centofanti
Capezza, C., Centofanti, F., Lepore, A., Palumbo, B. (2024) Robust Multivariate Functional Control Chart. Technometrics, 66(4):531–547, doi:10.1080/00401706.2024.2327346.
Centofanti, F., Colosimo, B.M., Grasso, M.L., Menafoglio, A., Palumbo, B., Vantini, S. (2023) Robust functional ANOVA with application to additive manufacturing. Journal of the Royal Statistical Society Series C: Applied Statistics 72(5), 1210–1234 doi:10.1093/jrsssc/qlad074
Croux, C., Ruiz-Gazen, A. (2005). High breakdown estimators for principal components: The projection-pursuit approach revisited. Journal of Multivariate Analysis, 95, 206–226, doi:10.1016/j.jmva.2004.08.002.
Hubert, M., Rousseeuw, P.J., Branden, K.V. (2005) ROBPCA: A New Approach to Robust Principal Component Analysis, Technometrics 47(1), 64–79, doi:10.1198/004017004000000563
Locantore, N., Marron, J., Simpson, D., Tripoli, N., Zhang, J., Cohen K., K. (1999), Robust principal components for functional data. Test, 8, 1-28. doi:10.1007/BF02595862
library(funcharts)
dat <- simulate_mfd(nobs = 20, p = 1, correlation_type_x = "Bessel")
mfdobj <- get_mfd_list(dat$X_list, n_basis = 5)
# contaminate first observation
mfdobj$coefs[, 1, ] <- mfdobj$coefs[, 1, ] + 0.05
# plot_mfd(mfdobj) # plot functions to see the outlier
# pca <- pca_mfd(mfdobj) # non robust MFPCA
rpca <- rpca_mfd(mfdobj) # robust MFPCA
# plot_pca_mfd(pca, harm = 1) # plot first eigenfunction, affected by outlier
# plot_pca_mfd(rpca, harm = 1) # plot first eigenfunction in robust case
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.