Descomposición de valores singulares fuera de JMPHola, soy un usuario de JMP desde hace mucho tiempo (¡3.2!) y un principiante sin talento en R. El análisis de texto es nuevo para mí, como ecologista, pero realmente he disfrutado jugando con la plataforma Text Explorer. Produje una matriz de términos de documentos dispersos que me gustaría someter a una descomposición de valores singulares para realizar análisis adicionales en JMP en una matriz densa de valores singulares para ~100 vectores. Me he topado con un pequeño muro ya que no tengo JMP Pro (no puedo pagarlo). Creo que esto significa que necesito leer mi matriz de términos de documentos dispersos en R, ejecutar algún tipo de función svd y luego volver a leer mi nueva matriz densa en JMP. Esto parece que podría ser una tarea fácil para alguien que está más familiarizado con el análisis de texto y es experto en R. He tenido problemas para averiguar qué paquete R usar para hacer esto (parece que hay muchos). Cuando miré la documentación de diferentes paquetes, tuve problemas para descubrir qué funciones y argumentos debería usar para realizar esta tarea. Lo sé, es hora de que me comprometa a aprender R. JMP me ha protegido de esta inevitabilidad durante muchos años. Si hay alguien por ahí que pueda compartir algunos consejos de R, o mejor aún, código, eso se leería en una matriz dispersa como .csv, crearía una matriz densa de valor singular en R y luego escribiría esta matriz como un nuevo .csv. , Estaría muy agradecido. ¡Gracias!Re: Descomposición de valores singulares fuera de JMPGracias, @G_M . Voy a llamar a su respuesta una "solución" a mi problema, ya que estoy bastante seguro de que la única solución para mí es hacer análisis de texto fuera de JMP. Su publicación fue útil para mostrarme lo fácil que es llamar a R desde JMP. Este es probablemente el empujón que necesitaba para comprometerme a aprender a integrar las 2 herramientas.
Re: Descomposición de valores singulares fuera de JMP@caseylott una buena manera de comenzar a usar R y JMP es replicar en R los resultados con los que está familiarizado en JMP.
Al igual que usted, prefiero JMP a R por muchas razones, de hecho, estaba usando R en 2009 cuando estaba presentando resultados a un equipo ejecutivo y
como siempre sucede, el ejecutivo tenía preguntas adicionales (que no pude anticipar, he mejorado en esto) y no podía simplemente
producir el nuevo análisis en R, en vivo.Pedí 25 minutos para ir y realizar el análisis y traer resultados... Perdí su atención.Esa noche
Me fui a casa y reflexioné sobre cómo podría evitar esto en el futuro... 1) mejor anticipar más análisis y 2) identificar un software más ágil.
JMP volvió a entrar en mi vida (un colega me presentó a JMP unos años antes) y ha sido mi software elegido desde entonces.
Dicho esto, aquí hay algo de sintaxis de JMP a R que le permitirá comenzar.
Esto puede ser demasiado básico, pero espero que sea útil.Uso R para estimar modelos de efectos mixtos no lineales, modelos IRT politómicos y recientemente comencé a estimar
Modelos bayesianos que utilizan R y JAGS en todo JMP.
Names Default To Here( 1 );
//Open Big Class in JMP
df = Open( "$SAMPLE_DATA/Big Class.jmp" );
//execute bivariate regression of weight on height in JMP
df << Bivariate( Y( :weight ), X( :height ), Fit Line( {Line Color( {213, 72, 87} )} ) );
//make sure that you have embedded log open in your JSL Scripting window.
//Initiate R
R Init();
//send data frame to R
R Send( df );
//submit R Code for bivariate regression of weight on height
R Submit(
"\[
fit1 <- lm(weight~height, data = df)
summary(fit1)
]\"
);//close R Submit
//Look into the log and see the R Results
Re: Descomposición de valores singulares fuera de JMPOK, Si entiendo @Mark_Bailey correctamente, SVD es un "cambio de juego"; sin embargo, necesitas JMP Pro para jugar este juego con JMP. ¿Es esto correcto?
Pensando un poco más en esto, parece que JMP (versión no profesional) no permite ninguna de las funciones de análisis de texto que he visto en videos o leído en blogs: análisis de clase latente, análisis semántico latente, análisis de tema, análisis discriminante, agrupación de documentos o agrupación de términos. Como usuario de JMP desde hace mucho tiempo que puede pagar JMP pero no JMP Pro, todavía estoy tratando de descubrir mis próximos pasos más eficientes.
Por ejemplo, si pudiera generar una matriz de valores singulares (p. ej., fuera de JMP en R) y traer esta matriz nuevamente a JMP, parece que estos análisis aún no estarían disponibles para mí, al menos no directamente, ya que sí ni siquiera tiene elementos de menú (a través del punto de acceso de Text Explorer) para ninguna de estas plataformas de análisis. Simplemente no sé lo suficiente sobre los detalles estadísticos para entender si tratar de replicar estos tipos de análisis de texto en JMP usando componentes principales estándar o plataformas de agrupamiento es una buena idea. Por ejemplo, acabo de ver una publicación de @LauraCS donde ella dijo " el análisis semántico latente (LSA) es simplemente PCA realizado en una matriz de correlación de términos de texto (pero sin rotaciones involucradas)". Me pregunto qué tan literal es esta declaración. ¿Significa esto que si pudiera traer una matriz de valor singular a JMP, podría usar las herramientas PCA de JMP para realizar análisis que son esencialmente idénticos tanto al análisis semántico latente como al análisis de clase latente? Me parece un poco arriesgado hacer esto sin una mejor comprensión de los detalles estadísticos.
Entonces... después de obsesionarme con este tema durante unos días, parece que mi mejor opción podría ser descubrir cómo ir y venir entre JMP (para la curación de una matriz de términos de documentos y visualización) y R (para análisis) como he visto en el @herush y @andrewtkarl video llamado "Minería de texto en JMP y R". Parece que podría ser un buen momento para almorzar con uno de mis amigos R y proponer una colaboración.
No tengo idea de cuántos usuarios de JMP hay en mi lugar (por ejemplo, es poco probable que pasen a JMP Pro). Tal vez solo estoy presionando cosas que el usuario típico de JMP no entiende. Sin embargo, si hay otros como yo, sería increíble si pudiera encontrar mi camino hacia recursos adicionales de "ayuda" o "capacitación" (por ejemplo, blogs, tutoriales, videos de terceros) que ilustren las sinergias entre JMP y R y formas para hacer frente a situaciones como en la que me encuentro actualmente, donde serán necesarias 2 herramientas (JMP y R) para hacer el trabajo.
Como he dicho antes. Me encanta JMP y lo he usado toda mi carrera. Esto no cambiará, pero parece que es hora de que me ponga manos a la obra y aprenda R. Me han dicho que valdrá la pena, pero maldición, realmente prefiero el flujo de trabajo interactivo basado en menús de JMP.
Re: Descomposición de valores singulares fuera de JMPLa nueva rutina SVD en Text Explorer es un verdadero cambio de juego y es justo lo que necesita un análisis de texto adicional.
Eso es todo lo que tengo para ofrecer. Espero que otros tengan algunas sugerencias útiles además de reducir el tamaño del DMT.
Re: Descomposición de valores singulares fuera de JMPGracias, Marcos. No he probado hasta dónde debo llegar reduciendo la matriz de términos de mi documento para poder usar el análisis de clase semántica latente en la plataforma JMP (no JMP Pro). Tal vez podría hacer que esto funcione, y lo intentaré, pero ¿qué pasa cuando tengo un conjunto de documentos aún más grande? Predigo que volveré a encontrarme con este problema.
Creo que mi evaluación original aún puede ser correcta. Parece que todavía necesito una forma de transformar mi matriz de términos de documentos dispersos (creada en JMP) en una matriz densa (a través de la descomposición de valores singulares en R) para poder leer la matriz densa nuevamente en JMP para análisis multivariados adicionales.
En otras palabras, creo que mi incapacidad para crear una matriz densa de valores singulares en JMP, sin JMP Pro, realmente limita mi capacidad para llegar muy lejos con el análisis de texto en JMP.
Si alguien tiene otras sugerencias sobre cómo lidiar con esto en JMP, o quizás algunas soluciones basadas en R, me encantaría escucharlas.
Re: Descomposición de valores singulares fuera de JMPPrimero, me expresé mal. Me resulta difícil recordar qué características hay en cada versión de JMP y todas las diferencias entre JMP y JMP Pro. Tiene razón: solo PCA y el análisis de clase latente están disponibles en JMP.
En segundo lugar, temía que el DTM grande y escaso fuera demasiado para JMP fuera de la plataforma Text Explorer. Puede intentar recortar la lista de términos. En general, seleccionar la lista de términos y frases puede conducir a análisis mucho más significativos que confiar en los parámetros predeterminados. Esta es una forma de reducir el tamaño del DTM. También puede reducir el número máximo de términos o aumentar la frecuencia mínima de términos al guardar el DTM.
Por último, ¿está utilizando JMP de 64 bits?
Re: Descomposición de valores singulares fuera de JMPVale, gracias por la sugerencia. He intentado un par de cosas hasta ahora que no han funcionado. Tal vez estoy haciendo algo mal. Guardé la matriz de términos del documento ponderado y luego la ingresé como la variable y para: 1) la plataforma de componentes principales y 2) la plataforma de análisis de clases latentes. No veo ninguna opción para el análisis semántico latente en mi versión no Pro de JMP. ¿Dónde estarían ubicados estos?
Cuando trato de ejecutar la matriz de términos del documento ponderado en la plataforma de componentes principales, JMP simplemente gira e inevitablemente falla.
Cuando trato de colocar la matriz de términos del documento en el rol Y en la plataforma de análisis de clases latentes, recibo el mensaje de que estoy usando un tipo de datos no compatible.
¿Alguna sugerencia?
Re: Descomposición de valores singulares fuera de JMPPuede usar R con JMP, pero no creo que sea necesario. Puede guardar la matriz de término de documento ponderado desde el Explorador de texto y luego analizar las nuevas columnas de datos con cualquier plataforma en JMP, incluidas las del grupo Multivariante. Esto incluye análisis de componentes principales, análisis de clases latentes y análisis semántico latente sin JMP Pro.
Tenga en cuenta que las versiones en TE están optimizadas para matrices dispersas como el DTM, pero al menos debe intentar usar las plataformas independientes.