Raggruppamento di 4 variabili, 139 milioni di righe di dati, 30 GBCiao a tutti,
Richiederlo leggermente difficile. Un potenziale cliente dispone di dati di grandi dimensioni e desidera analizzarli tutti.
Naturalmente, abbiamo detto loro che il campionamento avrebbe avuto molto più senso. Ma vogliono ancora analizzare tutto.
Abbiamo anche detto loro che avranno bisogno di molta RAM, il che significherà l'installazione del server. Vogliono comunque sapere se sarà possibile analizzare tutti i loro dati.
Quali suggerimenti avete su come possiamo rispondere e fornire loro la certezza che JMP funzionerà per loro? Oppure, se il clustering su questo volume di dati non fosse un inizio, sarebbe anche utile saperlo.
I dettagli sui loro dati che hanno fornito sono di seguito. Non volevo chiedere maggiori dettagli in questa fase senza decidere l'approccio migliore per rispondere alla loro richiesta.
Vogliamo eseguire il cluster per 10 mesi di dati per il volume totale come di seguito:
Numero di righe: 138734720 (138,7 milioni di righe)
Numero di colonne: 4
Volume dati: 30 GB
(Copiando @Marco Salfi dato che sarò fuori sede dopo oggi.)
Grazie!
Fil
Re: Raggruppamento di 4 variabili, 139 milioni di righe di dati, 30 GBQuindi - TL;DR - prova a risolvere la questione fino a JMP 17. Questo suona molto come qualcosa su cui stavano lavorando come parte dell'affrontare le esigenze dei dati di genomica.
Con qualcosa di così grande in JMP 16, dovrai farlo su un grande cruncher. E ci vorrà del tempo per eseguire il clustering, se funziona.Sembra che né K significa né Gerarchico siano multi-thread ( https://www.jmp.com/support/notes/49/280.html ) quindi non trarranno alcun vantaggio da un numero elevato di CPU.
Alcune cose che potrebbero provare potrebbero essere:
- Assicurati che tutti i dati siano numerici e che siano compressi (ad esempio, esegui Cols > Utilities > Comprimi colonne selezionate su tutto).
- I dati categoriali devono essere codificati utilizzando Etichette da codificare
- Prova a riformulare i dati. Se esiste un dominio del tempo (o qualcosa di simile al tempo), puoi scomporlo in modo logico in modo che FDE possa essere utilizzato semplicemente per il set di dati e quindi raggruppare sugli FPC? Questo sarebbe utile per le tracce dei sensori, ecc.
Migliore,
M
Re: Raggruppamento di 4 variabili, 139 milioni di righe di dati, 30 GBA un livello più pratico, cosa stanno cercando di fare con il raggruppamento di 100 milioni di righe con solo 4 variabili (o è 3 e la colonna 4 è una colonna ID campione). Stanno cercando modelli nelle righe in modo da poterli raggruppare? Forse ci sono più variabili nascoste nelle righe che dovrebbero essere divise in colonne (come ora/data). Il raggruppamento di molte righe non sembra produrre alcun valore o informazione significativa (per non parlare di come visualizzarlo). Se i modelli sono ciò che cercano, probabilmente devono ridurre le righe in colonne aggiuntive (fattori) che rappresentano i raggruppamenti conosciuti.
Come @MikeD_Anderson suggerito, se questa è un'analisi basata sul tempo, FDE sarebbe meglio cercare modelli nel tempo invece di raggruppare. Le variabili ora/data dovrebbero essere anticipate.
Re: Raggruppamento di 4 variabili, 139 milioni di righe di dati, 30 GBVolevo menzionare i dati che questa dimensione è abbastanza comune nella genomica e non considero la richiesta del cliente così estrema, né penso che sia necessario un server.Per il nuovo lavoro sulle prestazioni in 17, ci rivolgiamo principalmente a tabelle larghe (trasporto di ciò che descrivi), ma alcune attività come il clustering potrebbero ancora essere desiderabili in forma alta.
Ho appena provato a creare una tabella 138734720 x 4 con dati normali casuali su un PC Windows con 128 GB di RAM ed ho eseguito l'ultima build di 17:
- Medie K: K=100, 30 iterazioni impiegano 20 minuti e utilizzano 44 GB di RAM
- Gerarchico: Hybrid Ward, blocca le CPU al 100% per la maggior parte del tempo, 16 cicli richiedono 3,5 ore, 80 GB di RAM
- PCA: 15 minuti
Un trucco consiste nell'utilizzare K-Means consiste nel salvare i rappresentanti per ogni cluster e quindi eseguire la gerarchia su di essi.