1.1 a. Seleccione uno de los 7 procesos que hacen parte del estudio espectrométrico, y con las observaciones muestrales del proceso seleccionado:
1.1.1 1) Supuestos del FPCA
Para poder realizar FPCA, el operador de covarianza debe ser un operador de Hilbert–Schmidt, simétrico y definido positivo. Para que lo primero se cumpla, el proceso aleatorio del cual se obtienen las realizaciones debe ser cuadrado–integrable, \(\mathrm{E}[\lVert \chi \rVert^2]<\infty\). Las otras dos propiedades se tienen por la simetría y positividad del operador de covarianza \(c(s,t) = \operatorname{Cov}(\chi(s), \chi(t))\).
Otro supuesto que se hace es que el proceso se encuentra centrado. Por lo tanto, a cada observación se le restará la media estimada, como se muestra a continuación en la Figura 1.
Código
X <-t(fits[, , 2])X.fd <- fit[[2]]grid <-seq(min(t), max(t), length =1000)mean <-colMeans(X)Xc <-sweep(X, 2, mean, FUN ="-")mean.Xc <-colMeans(Xc)
Figura 1: Curvas espectrométricas centradas junto con su media
1.1.2 2) Funciones Propias
Luego de haber centrado el proceso, se encuentran las estimaciones de las funciones propias asociadas al operador de covarianza del proceso funcional.
Las tres primeras funciones propias se pueden visualizar en la Figura 2.
[1] "done"
Figura 2: Gráfico de las tres primeras funciones propias estimadas
Con la función plot.pca.fd es posible interpretarlas de una forma más sencilla, pues se muestra cómo cada componente principal afecta a la media del proceso. Esto se muestra en la Figura 3, Figura 4 y Figura 5.
Figura 3: Efecto de las primera componente principal sobre la media del proceso
Figura 4: Efecto de lsegunda componente principal sobre la media del proceso
Figura 5: Efecto de la tercera componente principal sobre la media del proceso
En el caso de la primera función propia, esta está mostrando un aumento constante en la media. Debido a su alto porcentaje de variabilidad explicada, se podría decir que la mayor fuente de variación es la cantidad de luz que se emite (magnitud). Además, se puede ver que hay más varibilidad cuando las muestras se someten a longitudes de onda entre los 350nm y 500nm aproximadamente.
La segunda función propia muestra un contraste entre la exposición a las longitudes de onda menores a 380nm aproximadamente y la exposición a las longitudes de onda mayores a 380nm, mostrando una variación mayor en los intervalos [310, 370] y [400, 470] nm.
Por último, la tercera función propia tienen un patrón cuadrático y presenta mayor variabilidad hacia las longitudes de onda medias.
1.1.3 3) Varianza explicada
En las gráficas anteriores es posible ver cuánto porcentaje de variabilidad es explicado por las tres funciones propias estimadas. Esto también se muestra a través de un scree plot en la Figura 6.
Figura 6: Scree plot de las tres primeras componentes principales
De esta forma, es posible ver que las dos primeras componentes principales ya explican más del 90% de variabilidad total.
1.1.4 4) Descomposición Karhunen-Loève
La descomposición de Karhunen-Loève consiste en expresar cada observación funcional como \[
X(t) = \mu(t) + \sum_{k=1}^\infty \xi_k \nu_k (t)
\] donde \(\nu_k\) corresponde a la \(k\)–ésima función propia y \(\xi_k\) es el \(k\)–ésimo score, \(\xi_k=\langle X, \nu_k \rangle\).
En este caso, la base óptima corresponde al conjunto de las dos primeras funciones propias pues ellas explican el 96.33 de la variabilidad, aproximadamente. Por lo tanto, para cada observación funcional, se tiene su aproximación \[
X_i(t) \approx \hat \mu(t) + \sum_{k=1}^K \hat {\xi}_{ik} \hat \nu _ k(t)
\] con \(i = 1,\ldots,268\) y \(K=2\).
A continuación, se expresan las tres primeras observaciones muestrales con la descomposición de Karhunen-Loève. En la @ se pueden ver las observaciones junto con su aproximación.
Figura 7: Curvas observadas y sus aproximaciones mediante la descomposición de Karhunen-Loève con las dos primeras funciones propias
Figura 8: Curvas observadas y sus aproximaciones mediante la descomposición de Karhunen-Loève con las dos primeras funciones propias
Figura 9: Curvas observadas y sus aproximaciones mediante la descomposición de Karhunen-Loève con las dos primeras funciones propias
A continuación, en la Tabla 1 se muestra el error cuadrático medio de predicción para cada observación.
Tabla 1: Error cuadrático medio de las aproximaciones con la descomposición de Karhunen-Loève
MPSE
Primera Observación
1.2944
Segunda Observación
3.8829
Tercera Observación
7.1369
1.1.5 5) Realizaciones del primer score
A continuación se presentan las realizaciones del primer score en la Figura 10.
Figura 10: Gráficos de las realizaciones del primer score
Es posible ver que los scores tienen una distribución asimétrica y también presenta algunos outliers por valores muy altos.
1.1.6 6) Gráficos de Dispersión de los Scores
A continuación, se muestra el gráfico de dispersión de las dos primeras componentes principales, que explican el 96.33 de la variabilidad, aproximadamente.
Figura 11: Score plot de las dos primeras componentes principales
Es posible ver que la mayoría de puntos se concentran alrededor de los valores negativos cercanos al cero para el primer score y alrededor del cero para el segundo score. Asimismo, debido al gran porcentaje de variabilidad que explica la primera componente se puede ver que la dispersión es mayor a lo largo de su eje.
1.1.7 7) Función de Covarianza y Funciones Propias
En la Figura 12 se presenta la estimación de la función de covarianza y las funciones propias.
Figura 12: Gráfico de la función de covarianza estimada y las funciones propias estimadas
Como es posible visualizar, la forma de la primera función propia es similar a las que se pueden ver en la función de covarianza debido a su alto porcentaje de variabilidad explicada.
1.1.8 8) Teorema de Mercer
Por el teorema de Mercer se tiene que el kernel \(\psi(s,t)\) usado en el operador integral \(\Psi (x)(t)\) se puede representar en términos de los valores propios y funciones propias del operador. En este caso, se tiene el operador de covarianza \(\mathcal{C}_\chi(x)(t))\) con la función de covarianza como Kernel. Luego,
admite una representación finita de Karhunen–Loève si y solo si cada uno de los procesos univariantes
\(X^{(j)}, \quad j = 1, \dots, p\) admite una representación finita de Karhunen–Loève.
Esto implica que cada proceso univariante pertenece a un espacio de Hilbert, en particular al espacio de funciones aleatorias cuadrado integrables \(L^2(\mathcal{T})\), y que el operador de covarianza asociado es de tipo Hilbert–Schmidt, autoadjunto (simétrico) y definido positivo.
2.1.2 Verique que estos supuestos se cumplen
3 Usando MFPCA:
3.1 Encuentre las estimaciones de las tres primeras funciones propias multivariadas, grafíquelas y presente una explicación de ellas.
Para determinar las componentes principales funcionales multivariadas, se seguirá el enfoque propuesto por Clara Happ, el cual permite realizar MFPCA incluso cuando los dominios de los procesos funcionales son diferentes.
En el presente caso, los dominios son iguales; no obstante, este enfoque resulta conveniente, ya que garantiza propiedades deseables del operador de covarianza del proceso funcional multivariado, tales como ser de tipo Hilbert–Schmidt, autoadjunto y definido positivo.
Dadas muestras \(\mathbf{\chi_1}, \dots, \mathbf{\chi_N}\) de \(\mathbf{\chi}\), el procedimiento de estimación propuesto para MFPCA consta de cuatro pasos:
Para cada elemento \(\chi^{(j)}\) se estima un FPCA univariante basado en las observaciones \(\chi^{(j)}_1, \dots, \chi^{(j)}_N\). Esto produce funciones propias estimadas \(\hat{\phi}^{(j)}_m\) y scores \(\hat{\xi}^{(j)}_{i,m}\), \(i = 1, \dots, N\), \(m = 1, \dots, M_j\),para soluciones de truncamiento elegidas adecuadamente \(M_j\).
Definir la matriz \(\Xi \in \mathbb{R}^{N \times M_+}\), donde cada fila \(\Xi_i\) contiene todos los scores estimados para una observación: \(\Xi_i = \big(\hat{\xi}^{(1)}_{i,1}, \dots, \hat{\xi}^{(1)}_{i,M_1}, \dots, \hat{\xi}^{(p)}_{i,1}, \dots, \hat{\xi}^{(p)}_{i,M_p}\big).\) Un estimador \(\hat{Z} \in \mathbb{R}^{M_+ \times M_+}\) de la matriz de bloques \(Z\) se obtiene como \(\hat{Z} = (N - 1)^{-1} \Xi^\top \Xi.\)
Realizar un análisis espectral de matrices para \(\hat{Z}\), obteniendo valores propios \(\hat{\nu}_m\) y vectores propios ortonormales \(\hat{\mathbf{c}}_m\), \(m = 1, \dots, M_+\).
Los estimadores elemento a elemento de las funciones propias multivariantes asociadas a \(\hat{\nu}_m\) están dados por: \(\hat{\psi}^{(j)}_m(t_j) = \sum_{n=1}^{M_j} [\hat{\mathbf{c}}_m]^{(j)}_n \, \hat{\phi}^{(j)}_n(t_j), t_j \in \mathcal{T}_j,\) y los scores multivariantes pueden calcularse como:
# inicializar matriz grande (2 PCs por proceso)cor_big <-matrix(NA, nrow =2*n, ncol =2*n)# nombreslabels <-unlist(lapply(1:n, function(i) paste0("P", i, "_PC", 1:2)))rownames(cor_big) <- labelscolnames(cor_big) <- labels
Código
for(i in1:n){for(j in1:n){# matriz 2x2 entre proceso i y j block <-cor_matrix(pca_list[[i]], pca_list[[j]])# posiciones en la matriz grande rows <- ((i-1)*2+1):(i*2) cols <- ((j-1)*2+1):(j*2) cor_big[rows, cols] <-round(block,2) }}
Código
cor_long <-melt(cor_big)ggplot(cor_long, aes(Var1, Var2, fill = value)) +geom_tile() +scale_fill_gradient2(low ="blue", high ="red", mid ="white",midpoint =0, limits =c(-1,1)) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1)) +labs(x ="", y ="", fill ="Correlación")
Código
cor_scores_multi <-cor(MFPCAObj14$scores)cor_long <-melt(cor_scores_multi)ggplot(cor_long, aes(Var1, Var2, fill = value)) +geom_tile() +geom_text(aes(label =round(value, 2)), size =3) +scale_fill_gradient2(low ="blue", high ="red", mid ="white",midpoint =0, limits =c(-1,1)) +theme_minimal() +labs(x ="Componentes", y ="Componentes", fill ="Correlación") +theme(axis.text.x =element_text(angle =45, hjust =1))
3.7 Presente una matriz con los graficos de dispersión de las realizaciones de los scores que conjuntamente explican el 90 % de la variación del proceso. Explique el comportamiento de los scores
Código
df <-data.frame(PC1 = MFPCAObj2$scores[,1],PC2 = MFPCAObj2$scores[,2])ggplot(df, aes(x = PC1, y = PC2)) +geom_point(alpha =0.6, size =2, color ="steelblue") +theme_minimal() +labs(title ="Dispersión de los scores (PC1 vs PC2)",x ="Componente principal 1",y ="Componente principal 2" ) +geom_hline(yintercept =0, linetype ="dashed", color ="gray") +geom_vline(xintercept =0, linetype ="dashed", color ="gray")
4 Exprese las tres primeras observaciones muestrales usando la descomposición de de Karhunen-Loève
En el caso multivariado, se tiene la descomposición de Karhunen–Loève, de forma que para el vector de curvas aleatorias, $ L^2( _1 ) L^2( _p) $, se tiene que
\[
\mathbf{X}(\mathbf{t}) = \boldsymbol{\mu}(\mathbf{t}) + \sum_{k=1}^\infty \xi_k \boldsymbol{\psi}_k (\mathbf{t})
\] con \(\mathbf{t} = (t_1,\ldots,t_p)^t\). En este caso, se tiene un vector de funciones de tamaño \(p=7\), donde el dominio es el mismo para cada proceso, \(\mathcal{T_1}=\cdots=\mathcal{T_7} = [275, 560]\). De esta forma, se aproxima cada una de las observaciones muestrales de la siguiente manera: