Pedro Concejero Cerezo
2013-Aug-29 11:03 UTC
[R-es] Resumen de R-help-es, Vol 54, Envío 22
Hola! No he podido consultar la doc. del paquete ade4, algo debe estar caído en CRAN ahora mismo. Dos cosas sobre la metodología -aun desconociendo los detalles de cómo lo hace ade4: El output de un PCA, los "pesos" de cada variable en las dimensiones de los componentes se interpretan como correlaciones, a mayor valor absoluto mayor asociación variable-componente. Ahora, como tales correlaciones ¿cómo decides que una es mucho mayor que otra o sólo un poquito? A lo que voy: no hay (vamos, no creo que haya) una forma "objetiva" de seleccionar unas versus otras. Encontrarás convenciones o prácticas más o menos establecidas. En Psicología, por ejemplo, se ordenan las variables (items de un cuestionario o test) por componente por valor absoluto, se descartan las <0.25 -no me preguntéis por qué- y se pasa a la interpretación del componente en función de esa lista ordenada. Dicho esto, es importante mencionar la rotación. Se trata de proyectar la solución inicial PCA en un espacio diferente de tal manera que las variables estén máximamente separadas, en la práctica, los pesos variable-componente serán o muy altos o muy bajos, de tal modo que se facilita enormemente la tarea de separar variables significativas por componente de las que no lo son. Las rotaciones son un mundo (ortogonales, oblicuas, ...), la más habitual es la varimax que mantiene la ortogonalidad de la solución original. Aquí una descripción que he encontrado al vuelo: http://data-mining-tutorials.blogspot.com.es/2009/12/varimax-rotation-in-principal-component.html No sé si la implementa ade4 (ni factominer) pero sí la tiene psych en principal, y aquí tienes una descripción: http://www.statmethods.net/advstats/factor.html Espero que sea útil (y que se arregle CRAN). Pedro El 29/08/2013 12:00, r-help-es-request@r-project.org<mailto:r-help-es-request@r-project.org> escribió: ------------------------------ Message: 2 Date: Thu, 29 Aug 2013 11:56:28 +0200 From: Carlos Ortega <cof@qualityexcellence.es><mailto:cof@qualityexcellence.es> To: Argel Gastélum Arellánez <argel.gastelum@gmail.com><mailto:argel.gastelum@gmail.com> Cc: R-help-es <r-help-es@r-project.org><mailto:r-help-es@r-project.org> Subject: Re: [R-es] Encontrar las variables más importantes en componentes principales Message-ID: <CAOKbq8hQcZKG1PVajAZtAcHD7GvzUfC8_iiQ8FR7e=RC3NcizQ@mail.gmail.com><mailto:CAOKbq8hQcZKG1PVajAZtAcHD7GvzUfC8_iiQ8FR7e=RC3NcizQ@mail.gmail.com> Content-Type: text/plain Hola Argel, Puedes encontrar un par de ejemplos que cómo conseguir una valoración (qualitativa y cuantitativa) de la contribución de cada variable a cada componente principal, en el libro "Exploratory Multivariate Analysis by Example Using R". Este libro está basado en la librería "FactoMineR". Los ejemplos están en el capítulo primero. No he mirado como se haría esto con "ade4", que es la librería que entiendo estás utilizando. Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> El 27 de agosto de 2013 23:14, Argel Gastélum Arellánez < argel.gastelum@gmail.com<mailto:argel.gastelum@gmail.com>> escribió: Hola compañeros de la lista. Qué tal. Tengo un análisis de componentes principales, en el que se evalúan aproximadamente 1000 variables. Usando la función dudi.pca e inertia.dudi obtengo una cantidad de información sobre la influencia de las variables sobre los dos componentes principales. Me gustaría saber si existe alguna función que sobre esta información me arrojara la lista de cuáles son las variables que más influyen sobre el resultado. Revisando la información que arroja inertia.dudi, creo que con las contribuciones a los ejes podría conseguirlo. Los comandos que utilizo son los siguientes: acp <- dudi.pca(df = DATOS[,(2:1013)], scannf = FALSE, nf = 2) acpI <- inertia.dudi(acp, row.inertia = T, col.inertia = T) #CONTRIBUCIONES DE LAS COLUMNAS A LOS EJES acpI$col.abs/100 Con esto obtengo una lista similar a: Comp1 Comp2 X0 0.02 0.03 X1 0.04 0.00 X2 0.25 0.08 X3 0.12 0.07 X4 0.08 0.10 X5 0.09 0.03 . . . De estos valores parece ser que, por ejemplo, las variables X2 y X3 contribuyen en mayor grado al componente principal 1, y que la variable X4 contribuye en mayor grado al componente principal 2... ¿Cómo podría, usando un criterio objetivo, obtener aquéllas variables X que estén afectando en mayor medida al resultado del análisis de componentes principales? De antemano muchas gracias por la ayuda. Saludos. -- Argel. ______________________________**_________________ R-help-es mailing list R-help-es@r-project.org<mailto:R-help-es@r-project.org> https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es><https://stat.ethz.ch/mailman/listinfo/r-help-es> -- Pedro Concejero BigData - Analytics @ Telefónica I+D<http://www.tid.es/es/Paginas/default.aspx> Part of Telefónica Digital<http://www.telefonica.com/es/digital/html/home/home.shtml> / Telefónica Digital Hub (english)<http://blog.digital.telefonica.com/> E-mail: pedro.concejero@tid.es<mailto:pedro.concejero@tid.es> skype: pedro.concejero twitter: @ConcejeroPedro linkedin <http://www.linkedin.com/in/pedroconcejero/es> ________________________________ Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política de envío y recepción de correo electrónico en el enlace situado más abajo. This message is intended exclusively for its addressee. We only send and receive email on the basis of the terms set out at: http://www.tid.es/ES/PAGINAS/disclaimer.aspx [[alternative HTML version deleted]]
Hola, FactomineR usa la función "varimax()" incluida en "stats", que se carga en R por defecto. No he encontrado el detalle para "ade4". Sí CRAN está caído, pero si cuando entras seleccionas el mirror de R-Studio: http://cran.rstudio.com/ (el primero de la lista) sí que funciona... Saludos, Carlos. El 29 de agosto de 2013 13:03, Pedro Concejero Cerezo <pedroc@tid.es>escribió:> Hola! No he podido consultar la doc. del paquete ade4, algo debe estar > caído en CRAN ahora mismo. > Dos cosas sobre la metodología -aun desconociendo los detalles de cómo lo > hace ade4: > El output de un PCA, los "pesos" de cada variable en las dimensiones de > los componentes se interpretan como correlaciones, a mayor valor absoluto > mayor asociación variable-componente. Ahora, como tales correlaciones ¿cómo > decides que una es mucho mayor que otra o sólo un poquito? A lo que voy: no > hay (vamos, no creo que haya) una forma "objetiva" de seleccionar unas > versus otras. Encontrarás convenciones o prácticas más o menos > establecidas. En Psicología, por ejemplo, se ordenan las variables (items > de un cuestionario o test) por componente por valor absoluto, se descartan > las <0.25 -no me preguntéis por qué- y se pasa a la interpretación del > componente en función de esa lista ordenada. > > Dicho esto, es importante mencionar la rotación. Se trata de proyectar la > solución inicial PCA en un espacio diferente de tal manera que las > variables estén máximamente separadas, en la práctica, los pesos > variable-componente serán o muy altos o muy bajos, de tal modo que se > facilita enormemente la tarea de separar variables significativas por > componente de las que no lo son. > > Las rotaciones son un mundo (ortogonales, oblicuas, ...), la más habitual > es la varimax que mantiene la ortogonalidad de la solución original. Aquí > una descripción que he encontrado al vuelo: > http://data-mining-tutorials.blogspot.com.es/2009/12/varimax-rotation-in-principal-component.html > > No sé si la implementa ade4 (ni factominer) pero sí la tiene psych en > principal, y aquí tienes una descripción: > http://www.statmethods.net/advstats/factor.html > > Espero que sea útil (y que se arregle CRAN). > > Pedro > > El 29/08/2013 12:00, r-help-es-request@r-project.org<mailto: > r-help-es-request@r-project.org> escribió: > > > ------------------------------ > > Message: 2 > Date: Thu, 29 Aug 2013 11:56:28 +0200 > From: Carlos Ortega <cof@qualityexcellence.es><mailto: > cof@qualityexcellence.es> > To: Argel Gastélum Arellánez <argel.gastelum@gmail.com><mailto: > argel.gastelum@gmail.com> > Cc: R-help-es <r-help-es@r-project.org><mailto:r-help-es@r-project.org> > Subject: Re: [R-es] Encontrar las variables más importantes en > componentes principales > Message-ID: > <CAOKbq8hQcZKG1PVajAZtAcHD7GvzUfC8_iiQ8FR7e> RC3NcizQ@mail.gmail.com><mailto:CAOKbq8hQcZKG1PVajAZtAcHD7GvzUfC8_iiQ8FR7e > =RC3NcizQ@mail.gmail.com> > Content-Type: text/plain > > Hola Argel, > > Puedes encontrar un par de ejemplos que cómo conseguir una valoración > (qualitativa y cuantitativa) de la contribución de cada variable a cada > componente principal, en el libro "Exploratory Multivariate Analysis by > Example Using R". > Este libro está basado en la librería "FactoMineR". > > Los ejemplos están en el capítulo primero. > > No he mirado como se haría esto con "ade4", que es la librería que entiendo > estás utilizando. > > Saludos, > Carlos Ortega > www.qualityexcellence.es<http://www.qualityexcellence.es> > > > El 27 de agosto de 2013 23:14, Argel Gastélum Arellánez < > argel.gastelum@gmail.com<mailto:argel.gastelum@gmail.com>> escribió: > > > > Hola compañeros de la lista. Qué tal. > > Tengo un análisis de componentes principales, en el que se evalúan > aproximadamente 1000 variables. Usando la función dudi.pca e inertia.dudi > obtengo una cantidad de información sobre la influencia de las variables > sobre los dos componentes principales. Me gustaría saber si existe alguna > función que sobre esta información me arrojara la lista de cuáles son las > variables que más influyen sobre el resultado. > > Revisando la información que arroja inertia.dudi, creo que con las > contribuciones a los ejes podría conseguirlo. Los comandos que utilizo son > los siguientes: > > acp <- dudi.pca(df = DATOS[,(2:1013)], scannf = FALSE, nf = 2) > > acpI <- inertia.dudi(acp, row.inertia = T, col.inertia = T) > > #CONTRIBUCIONES DE LAS COLUMNAS A LOS EJES > acpI$col.abs/100 > > Con esto obtengo una lista similar a: > > Comp1 Comp2 > X0 0.02 0.03 > X1 0.04 0.00 > X2 0.25 0.08 > X3 0.12 0.07 > X4 0.08 0.10 > X5 0.09 0.03 > . > . > . > > De estos valores parece ser que, por ejemplo, las variables X2 y X3 > contribuyen en mayor grado al componente principal 1, y que la variable X4 > contribuye en mayor grado al componente principal 2... ¿Cómo podría, usando > un criterio objetivo, obtener aquéllas variables X que estén afectando en > mayor medida al resultado del análisis de componentes principales? > > De antemano muchas gracias por la ayuda. > > Saludos. > > -- > > Argel. > > ______________________________**_________________ > R-help-es mailing list > R-help-es@r-project.org<mailto:R-help-es@r-project.org> > https://stat.ethz.ch/mailman/**listinfo/r-help-es< > https://stat.ethz.ch/mailman/listinfo/r-help-es>< > https://stat.ethz.ch/mailman/listinfo/r-help-es> > > > > > > > > > > -- > Pedro Concejero > BigData - Analytics @ Telefónica I+D< > http://www.tid.es/es/Paginas/default.aspx> > Part of Telefónica Digital< > http://www.telefonica.com/es/digital/html/home/home.shtml> / Telefónica > Digital Hub (english)<http://blog.digital.telefonica.com/> > E-mail: pedro.concejero@tid.es<mailto:pedro.concejero@tid.es> > skype: pedro.concejero > twitter: @ConcejeroPedro > linkedin <http://www.linkedin.com/in/pedroconcejero/es> > > ________________________________ > > Este mensaje se dirige exclusivamente a su destinatario. Puede consultar > nuestra política de envío y recepción de correo electrónico en el enlace > situado más abajo. > This message is intended exclusively for its addressee. We only send and > receive email on the basis of the terms set out at: > http://www.tid.es/ES/PAGINAS/disclaimer.aspx > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Apparently Analagous Threads
- Encontrar las variables más importantes en componentes principales
- Encontrar las variables más importantes en componentes principales
- Análisis de componentes principales con ade4 y FactoMineR
- Análisis de componentes principales con ade4 y FactoMineR
- Análisis de componentes principales con ade4 y FactoMineR