fpcad | R Documentation |
Performs functional principal component analysis of probability densities in order to describe a data folder, consisting of T
groups of individuals on which are observed p
variables. It returns an object of class fpcad
.
fpcad(xf, group.name = "group", gaussiand = TRUE, windowh = NULL, normed = TRUE,
centered = TRUE, data.centered = FALSE, data.scaled = FALSE,
common.variance = FALSE, nb.factors = 3, nb.values = 10, sub.title = "",
plot.eigen = TRUE, plot.score = FALSE, nscore = 1:3,
filename = NULL)
xf |
object of class
|
group.name |
string.
|
gaussiand |
logical. If |
windowh |
either a list of |
normed |
logical. If |
centered |
logical. If |
data.centered |
logical. If |
data.scaled |
logical. If |
common.variance |
logical. If |
nb.factors |
numeric. Number of returned principal scores (default Warning: The |
nb.values |
numerical. Number of returned eigenvalues (default |
sub.title |
string. If provided, the subtitle for the graphs. |
plot.eigen |
logical. If |
plot.score |
logical. If |
nscore |
numeric vector. If |
filename |
string. Name of the file in which the results are saved. By default ( |
The T
probability densities f_t
corresponding to the T
groups of individuals are either parametrically estimated (gaussiand = TRUE
) or estimated using the Gaussian kernel method (gaussiand = FALSE
). In the latter case, the windowh
argument provides the list of the bandwidths to use. Notice that in the multivariate case (p
>1) the bandwidths are positive-definite matrices.
If windowh
is a numerical value, the matrix bandwidth is of the form h S
, where S
is either the square root of the covariance matrix (p
>1) or the standard deviation of the estimated density.
If windowh = NULL
(default), h
in the above formula is computed using the bandwidth.parameter
function.
Returns an object of class fpcad
, that is a list including:
inertia |
data frame of the eigenvalues and percentages of inertia. |
contributions |
data frame of the contributions to the first |
qualities |
data frame of the qualities on the first |
scores |
data frame of the first |
norm |
vector of the |
means |
list of the means. |
variances |
list of the covariance matrices. |
correlations |
list of the correlation matrices. |
skewness |
list of the skewness coefficients. |
kurtosis |
list of the kurtosis coefficients. |
Rachid Boumaza, Pierre Santagostini, Smail Yousfi, Gilles Hunault, Sabine Demotes-Mainard
Boumaza, R. (1998). Analyse en composantes principales de distributions gaussiennes multidimensionnelles. Revue de Statistique Appliqu?e, XLVI (2), 5-20.
Boumaza, R., Yousfi, S., Demotes-Mainard, S. (2015). Interpreting the principal component analysis of multivariate density functions. Communications in Statistics - Theory and Methods, 44 (16), 3321-3339.
Delicado, P. (2011). Dimensionality reduction when data are density functions. Computational Statistics & Data Analysis, 55, 401-420.
Yousfi, S., Boumaza, R., Aissani, D., Adjabi, S. (2014). Optimal bandwith matrices in functional principal component analysis of density functions. Journal of Statistical Computation and Simulation, 85 (11), 2315-2330.
print.fpcad, plot.fpcad, interpret.fpcad, bandwidth.parameter
data(roses)
# Case of a normed non-centred PCA of Gaussian densities (on 3 architectural
# characteristics of roses: shape (Sha), foliage density (Den) and symmetry (Sym))
rosesf <- as.folder(roses[,c("Sha","Den","Sym","rose")])
result3 <- fpcad(rosesf, group.name = "rose")
print(result3)
plot(result3)
# Applied to a data frame:
result3df <- fpcad(roses[,c("Sha","Den","Sym","rose")], group.name = "rose")
print(result3df)
plot(result3df)
# Flower colors of the roses
scores <- result3$scores
scores <- data.frame(scores, color = scores$rose, stringsAsFactors = TRUE)
colours <- scores$rose
colours <- factor(c(A = "yellow", B = "yellow", C = "pink", D = "yellow", E = "red",
F = "yellow", G = "pink", H = "pink", I = "yellow", J = "yellow"))
levels(scores$color) <- c(A = "yellow", B = "yellow", C = "pink", D = "yellow", E = "red",
F = "yellow", G = "pink", H = "pink", I = "yellow", J = "yellow")
# Scores according to the first two principal components, per color
plot(result3, nscore = 1:2, color = colours)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.