Clustering gerarchico: JMP e R non sono d'accordoQuando ragruppo lo stesso esatto set di dati in JMP e in R, utilizzando il metodo di Ward, ottengo risultati non identici.R fornisce due opzioni (ward.D e ward.D2), in cui quest'ultimo quadra i valori nella matrice delle distanze prima di raggrupparli.Secondo Murtagh e Legendre (2014) , questo è ciò che fa anche JMP. Ma anche quando specifico method="ward.D2" in R, l'output che ottengo non è banalmente diverso: circa il 15% delle osservazioni non corrisponde rispetto a ciò che ottengo da JMP.
Quindi, Domanda 1: Sbaglio se mi aspetto che lo stesso metodo produca gli stessi risultati nell'HCA?Non mi aspetto che in k-means clustering (senza impostare un seme, almeno), ma per HCA i risultati sono totalmente stabili *all'interno* di un determinato pacchetto, quindi ho pensato che dovrebbero essere gli stessi *tra* pacchetti.
Domanda 2: Se *dovrebbero* essere gli stessi... perché non lo sono?
- Possibilità A: c'è una differenza nel modo in cui viene calcolata la matrice delle distanze
- Possibilità B: c'è una differenza nel modo in cui viene implementato il metodo di Ward
- Possibilità C: la funzione cutree() in R fa qualcosa di diverso dalla funzione "Seleziona numero di cluster" in JMP
- Possibilità X... ???
Ho caricato il dendrogramma da R (mi scuso se è una cattiva netiquette!); puoi vedere il problema di cui sto parlando osservando da vicino le etichette lungo l'asse x.Queste etichette terminano tutte con una cifra da 1 a 5, che rappresenta il numero del cluster a cui sono state assegnate in JMP.Come puoi vedere, il gruppo verde ("3") è stato l'unico in cui c'è stata una perfetta corrispondenza 1:1 tra JMP e R.
Grato per qualsiasi guida, -Matt

AnaliticaRe: Clustering gerarchico: JMP e R non sono d'accordoMah... Ho appena eseguito un confronto su tre diversi set di dati in JMP e R (senza utilizzare "standardize data" o "scale()") e ho trovato che le classificazioni corrispondevano esattamente in ciascuno quando si utilizza lo stesso numero di cluster.Gli unici metodi che ho specificato in R erano usare "euclidea" per la funzione "dist" e "ward.D2" per la funzione "hclust". Stai specificando qualcos'altro nei tuoi flussi di lavoro R e/o JMP? Quanto sono disordinati i tuoi dati (mancano... valori anomali...)?Sto solo offrendo uno spunto di riflessione...
Re: Clustering gerarchico: JMP e R non sono d'accordoBuona idea, ma non credo che sia questo il problema: poiché il set di dati con cui sto lavorando coinvolge variabili che sono tutte sulla stessa scala, deseleziono sempre "Standardize Data" in JMP. E per standardizzare i dati in R, è necessario utilizzare la funzione scale(), cosa che non faccio mai. Per quanto posso determinare, entrambi i pacchetti dovrebbero funzionare su dati non standardizzati.Re: Clustering gerarchico: JMP e R non sono d'accordoGrazie per averlo passato; mi ha fatto capire che varrà effettivamente la pena esportare la matrice della distanza da JMP e confrontare quei valori con la matrice della distanza che ottengo in R!Questo sarà un modo per restringere il campo da dove viene la discrepanza.
Re: Clustering gerarchico: JMP e R non sono d'accordoGrazie per il suggerimento; è bene sapere che l'invio del codice al team tecnico è un'opzione se non riesco a risolverlo in un altro modo.
Per rispondere alla tua altra domanda, sì: i risultati HCA all'interno di ogni pacchetto sono completamente stabili.
Re: Clustering gerarchico: JMP e R non sono d'accordoÈ possibile che i dati vengano standardizzati in un pacchetto e non nell'altro? L'impostazione predefinita in JMP è "Standardizza dati".
Re: Clustering gerarchico: JMP e R non sono d'accordoQuesto thread potrebbe anche aiutare con la matrice della distanza:
https://community.jmp.com/t5/Discussions/which-distance-does-JMP-use-in-clustering/mp/275384#M53438
Re: Clustering gerarchico: JMP e R non sono d'accordoCiao matthal_reear,
Il confronto di diversi pacchetti è sempre un argomento caldo. Poiché non posso dare un'occhiata ai codici sorgente in JMP, non posso verificare se c'è una differenza in nessuno dei calcoli che hai menzionato al punto 2 tra JMP e R. Entrambi si riferiscono a Murtagh & Legendre (2014), tuttavia questo non significa che l'algoritmo sia implementato nella fassion simile completa. Soprattutto prima e dopo il nucleo dell'algoritmo potrebbero esserci differenze. Anche in potenziali subroutine. Quindi, di nuovo, poiché non c'è modo di controllare il codice completo, non sarà possibile rispondere a questa domanda. puoi provare a inviare la tua domanda al supporto tecnico di JMP, fornendo le informazioni dettagliate sul pacchetto R che stai utilizzando e la routine concreta. A volte sono disponibili più di una funzione R. Quindi potrebbero avere la possibilità di verificare le differenze, senza dire che troveranno qualcosa.
Solo un altro pensiero. I risultati all'interno dei pacchetti sono stabili per HCA? O sono leggermente diversi? Anche questa è un'informazione importante. Infine, darei un'occhiata alla trama della costellazione per identificare le differenze anche lì.
Solo i miei 2 centesimi