Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- title: "R Notebook"
- output: html_notebook
- ---
- # Problemas de práctica para PCA con respuestas parciales
- 1. El propósito de este problema es examinar el efecto que tienen diferentes correlaciones en el resultado del `PDA`. Para hacerlo más fácil, suponga que `X` tiene una distribucion normal bivariante con $\mu=(0,0)',\sigma_{11}=1$ y $\sigma_{22}=1$. Para $\sigma_{12}=-0.99,-0.9,-0.5,0,0.5,0.9,0.99$ (recuerde que $\sigma_{12}=\rho_{21}$ porque las varianzas son iguales a 1), complete lo siguiente:
- a. Simule `1000` observaciones de la normal bivariante donde se establece un número de semilla de `8128` justo antes de cada simulación de datos.
- Examine parte de este problema empleando solo $\rho_{12}=0.99$
- ```{r}
- suppressWarnings(library(mvtnorm))
- #Parámetros para una distribución normal bivariante
- mu=c(0,0)
- rho12=0.99
- sigma=matrix(data=c(1,rho12,rho12,1),nrow=2,byrow=TRUE) #Matriz de covarianzas
- (P= cov2cor(V=sigma))
- N=1000
- set.seed(8128)
- X=rmvnorm(N,mu,sigma)
- head(X)
- ```
- b. Utilice `princomp()` con `cor=TRUE` para encontrar los valores propios y vectores propios estimados a partir de la matriz de correlación.
- ```{r}
- pca.save=princomp(x=X,cor=TRUE,scores=FALSE)
- summary(pca.save,loadings=TRUE,cutoff=0.0)
- ```
- c. Interprete las componentes principales.
- d. ¿Cuántas PC son necesarias?
- Solo una: ¡asegúrese de comprender por qué esto tendría sentido en el contexto de PCA!
- e. Cree diagramas de dispresión separados de los datos y las puntuaciones de PC, pero utilice un conjunto de límites generales para los ejes X y Y. Describe la relación entre estos gráficos para cada $\rho_{12}$.
- ```{r}
- pca.save$scale=apply(X=X,MARGIN=2,FUN=sd)
- score.save=predict(pca.save,newdata=X)
- head(score.save)
- #dev.new(width=12)
- par(mfrow=c(1,2)) #una fila dos columnas
- par(pty="s")
- common.limits=c(min(score.save,X),max(score.save,X))
- plot(x=X[,1],y=X[,2],xlab=expression(x[1]),ylab=expression(x[2]),main="Datos Originales",xlim=common.limits,ylim=common.limits,panel.first=grid(col="lightgreen"))
- abline(h=0)
- abline(v=0)
- plot(x=score.save[,1],y=score.save[,2],xlab="PC #1",ylab="PC #2",main="Componentes Principales",xlim=common.limits,ylim=common.limits,panel.first=grid(col="lightgreen"))
- abline(h=0)
- abline(v=0)
- ```
- ¡Parece que los ejes `X` y `Y` se han rotado para que toda la variabilidad de los datos esté representada en una sola dimensión!
- f. Relacione sus respuestas en `c-e` con el valor de $\rho_{12}$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement