Scomposizione del valore singolare al di fuori di JMPCiao, sono un utente JMP di lunga data (3.2!) e un principiante incredibilmente privo di talento in R. L'analisi del testo è una novità per me, come ecologista, ma mi sono davvero divertito a giocare con la piattaforma Text Explorer. Ho prodotto una matrice di termini di documenti sparsi che vorrei sottoporre a decomposizione di valori singolari per eseguire ulteriori analisi in JMP su una matrice densa di valori singolari per ~ 100 vettori. Mi sono imbattuto in un muro perché non ho JMP Pro (non posso permettermelo). Penso che questo significhi che devo leggere la mia matrice di termini di documenti sparsi in R, eseguire una sorta di funzione svd e quindi leggere la mia nuova matrice densa in JMP. Sembra che potrebbe essere un compito facile per qualcuno che ha più familiarità con l'analisi del testo ed è esperto in R. Ho faticato a capire quale pacchetto R usare per farlo (sembra che ce ne siano molti). Quando ho guardato la documentazione per diversi pacchetti, ho faticato a capire quali funzioni e argomenti dovrei usare per portare a termine questo compito. Lo so, è ora che mi impegni ad imparare R. JMP mi ha protetto da questa inevitabilità per molti anni. Se c'è qualcuno là fuori che potrebbe condividere qualche consiglio R, o meglio ancora, codice, che leggerebbe in una matrice sparsa come .csv, creerebbe una matrice densa di valori singolari in R e quindi scriverebbe questa matrice come un nuovo .csv , Sarei molto grato. Grazie!Ri: Scomposizione del valore singolare al di fuori di JMPGrazie, @G_M . Chiamerò la tua risposta una "soluzione" al mio problema, poiché sono abbastanza sicuro che l'unica soluzione sia per me eseguire analisi del testo al di fuori di JMP. Il tuo post è stato utile per mostrarmi quanto sia facile chiamare R da JMP. Questa è probabilmente solo la spinta di cui avevo bisogno per impegnarmi ad imparare come integrare i 2 strumenti.
Ri: Scomposizione del valore singolare al di fuori di JMP@caseylott un buon modo per iniziare a utilizzare R e JMP consiste nel replicare in R i risultati che si conoscono in JMP.
Come te, preferisco JMP a R per tanti motivi, infatti stavo usando R nel 2009 quando presentavo i risultati a un team esecutivo e
come sempre accade, il dirigente aveva ulteriori domande (che non sono riuscito ad anticipare, sono migliorato in questo) e non potevo semplicemente
produrre la nuova analisi in R, live.Ho chiesto 25 minuti per andare a condurre l'analisi e portare i risultati... ho perso la loro attenzione.Quella notte
Sono tornato a casa e ho riflettuto su come avrei potuto evitarlo in futuro..1) anticipare meglio ulteriori analisi e 2) identificare un software più agile.
JMP è rientrato nella mia vita (un collega mi ha fatto conoscere JMP qualche anno prima) e da allora è stato il software che ho scelto.
Detto questo, ecco alcune sintassi da JMP a R che ti permetteranno di iniziare.
Questo potrebbe essere troppo semplice, ma spero sia utile.Uso R per stimare modelli a effetti misti non lineari, modelli IRT politomici e recentemente ho iniziato a stimare
Modelli bayesiani che utilizzano sia R che JAGS in tutto 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
Ri: Scomposizione del valore singolare al di fuori di JMPOK, Se capisco @Mark_Bailey correttamente, SVD è un "punto di svolta"; tuttavia, è necessario JMP Pro per giocare a questo gioco con JMP. È corretto?
Pensandoci un po' più in là, sembra che JMP (versione non pro) non consenta nessuna delle funzionalità di analisi del testo che ho visto nei video o di cui ho letto nei blog: analisi della classe latente, analisi semantica latente, analisi dell'argomento, analisi discriminante, raggruppamento di documenti o raggruppamento di termini. In qualità di utente JMP di lunga data che può permettersi JMP ma non JMP Pro, sto ancora cercando di capire i miei prossimi passi più efficienti.
Ad esempio, se fossi in grado di generare una matrice di valori singolari (ad esempio, al di fuori di JMP in R) e riportare questa matrice in JMP, sembra che queste analisi non sarebbero ancora disponibili per me, almeno non direttamente, poiché lo faccio non avere nemmeno voci di menu (tramite l'hotspot di Text Explorer) per nessuna di queste piattaforme di analisi. Semplicemente non ne so abbastanza sui dettagli statistici per capire se provare a replicare questi tipi di analisi del testo in JMP utilizzando componenti principali standard o piattaforme di cluster sia una buona idea. Ad esempio, ho appena visto un post di @LauraCS dove ha detto " L'analisi semantica latente (LSA) è semplicemente PCA eseguita su una matrice di correlazione di termini di testo (ma senza alcuna rotazione coinvolta)". Mi chiedo quanto sia letterale questa affermazione. Questo significa che se potessi portare una matrice di valore singolare in JMP, potrei utilizzare gli strumenti PCA di JMP per eseguire analisi essenzialmente identiche sia all'analisi semantica latente che all'analisi della classe latente? Mi sembra rischioso farlo senza una migliore comprensione dei dettagli statistici.
Quindi ... dopo essere stato ossessionato da questo argomento per alcuni giorni, sembra che la mia migliore opzione potrebbe essere quella di capire come andare avanti e indietro tra JMP (per la cura di una matrice di termini del documento e la visualizzazione) e R (per le analisi) come ho visto in @herush E @andrewtkarl video intitolato "Text Mining in JMP e R". Sembra che potrebbe essere un buon momento per pranzare con uno dei miei amici R e proporre una collaborazione.
Non ho idea di quanti utenti JMP siano al mio posto (ad esempio, è improbabile che passino a JMP Pro). Forse sto solo spingendo su cose che il tipico utente di JMP non capisce. Tuttavia, se ce ne sono altri come me, sarebbe fantastico se potessi trovare la mia strada per ulteriori risorse di "aiuto" o "formazione" (ad es. blog, tutorial, video di terze parti) che illustrino le sinergie tra JMP e R e modi per affrontare situazioni come quella in cui mi trovo attualmente, in cui saranno necessari 2 strumenti (JMP e R) per portare a termine il lavoro.
Come ho detto prima. Adoro assolutamente JMP e l'ho utilizzato per tutta la mia carriera. Questo non cambierà, ma sembra che sia giunto il momento per me di darmi da fare e imparare R. Mi è stato detto che ne varrà la pena, ma dannazione, preferisco davvero il flusso di lavoro interattivo basato su menu di JMP.
Ri: Scomposizione del valore singolare al di fuori di JMPLa nuova routine SVD in Text Explorer è un vero punto di svolta e proprio ciò di cui ha bisogno un'ulteriore analisi del testo.
Questo è tutto ciò che ho da offrire. Spero che altri abbiano qualche suggerimento utile oltre a ridurre le dimensioni del DMT.
Ri: Scomposizione del valore singolare al di fuori di JMPGrazie, Marco. Non ho testato fino a che punto devo spingermi riducendo la matrice dei termini del mio documento per poter utilizzare l'analisi della classe semantica latente nella piattaforma JMP (non JMP Pro). Forse potrei farlo funzionare e ci proverò, ma cosa succede quando ho un set di documenti ancora più grande? Prevedo che mi imbatterò di nuovo in questo problema.
Penso che la mia valutazione iniziale possa essere ancora corretta. Sembra che potrei ancora aver bisogno di un modo per trasformare la mia matrice di termini di documenti sparsi (creata in JMP) in una matrice densa (tramite decomposizione del valore singolare in R) in modo da poter leggere la matrice densa in JMP per ulteriori analisi multivariate.
In altre parole, penso che la mia incapacità di creare una matrice densa di valori singolari in JMP, senza JMP Pro, stia davvero limitando la mia capacità di andare molto lontano con l'analisi del testo in JMP.
Se qualcuno ha altri suggerimenti su come gestire questo in JMP, o forse alcune soluzioni basate su R, mi piacerebbe ascoltarli.
Ri: Scomposizione del valore singolare al di fuori di JMPPrimo, ho parlato male. È difficile per me ricordare quali funzioni sono presenti in ogni versione di JMP e tutte le differenze tra JMP e JMP Pro. Hai ragione: in JMP sono disponibili solo PCA e analisi delle classi latenti.
In secondo luogo, temevo che il DTM ampio e scarso sarebbe stato eccessivo per JMP al di fuori della piattaforma Text Explorer. Potresti provare a tagliare l'elenco dei termini. In generale, la cura dell'elenco di termini e frasi può portare ad analisi molto più significative rispetto all'affidamento ai parametri predefiniti. Questo è un modo per ridurre le dimensioni del DTM. È inoltre possibile ridurre il numero massimo di termini o aumentare la frequenza minima dei termini durante il salvataggio del DTM.
Infine, stai utilizzando JMP a 64 bit?
Ri: Scomposizione del valore singolare al di fuori di JMPOK, grazie per il suggerimento. Finora ho provato un paio di cose che non hanno funzionato. Forse sto facendo qualcosa di sbagliato. Ho salvato la matrice dei termini del documento ponderato e l'ho inserita come variabile y per: 1) la piattaforma dei componenti principali e 2) la piattaforma di analisi della classe latente. Non vedo alcuna opzione per l'analisi semantica latente nella mia versione non Pro di JMP. Dove si troverebbero questi?
Quando provo a eseguire la matrice dei termini del documento ponderato nella piattaforma dei componenti principali, JMP gira e inevitabilmente si blocca.
Quando provo a inserire la matrice dei termini del documento nel ruolo Y nella piattaforma di analisi della classe latente, ricevo il messaggio che sto utilizzando un tipo di dati non supportato.
Eventuali suggerimenti?
Ri: Scomposizione del valore singolare al di fuori di JMPPuoi usare R con JMP, ma non credo che sia necessario. È possibile salvare la matrice ponderata dei termini del documento da Esplora testo e quindi analizzare le nuove colonne di dati con qualsiasi piattaforma in JMP, comprese quelle nel gruppo Multivariato. Ciò include l'analisi dei componenti principali, l'analisi delle classi latenti e l'analisi semantica latente senza JMP Pro.
Nota che le versioni in TE sono ottimizzate per matrici sparse come il DTM, ma dovresti almeno provare a utilizzare le piattaforme autonome.