Software per l'esplorazione dei dati semplice ma robusta


20

Nei miei tentativi di combattere il caos dei fogli di calcolo, sono spesso evangelico nel cercare strumenti più solidi come il vero software di statistica (R, Stata e simili). Di recente, sono stato sfidato da questo punto di vista da qualcuno che ha dichiarato chiaramente che semplicemente non impareranno a programmare. Vorrei fornire loro strumenti di analisi dei dati che non richiedono programmazione (ma che idealmente si estenderebbero alla programmazione se decidessero di immergere un dito in acqua in un secondo momento). Quali pacchetti sono disponibili per l'esplorazione dei dati che posso consigliare con una faccia seria?


5
@ gsk3 - domanda interessante. Immagino che questo "programaphobe" non debba affrontare i complicati fogli di calcolo? forse vorrebbe essere all'altezza della loro ideologia e fare volontariato per fare il duro lavoro con i fogli di calcolo stessi? :)
probabilityislogic

@probabilityislogic: il "programaphobe" si occupa di loro una volta che causano problemi, ma ha un sacco di trucchi per gestire i risultati. Ho provato i classici argomenti anti-foglio di calcolo con scarso profitto (beh, alcuni sono utili, poiché sono disposti a considerare questo stile di soluzione!).
Ari B. Friedman,

@ gsk3 - ah ah, quindi il problema non è di per sé il problema, ma questa persona non sarà più "l'esperto" e dovrà iniziare dal basso?
probabilityislogic

2
@probabilityislog - Penso che i costi sommersi siano una grande parte del problema, sì. Alcuni di questi costi sono senza dubbio sociali e alcuni sono perdite di tempo ed efficienza mentre imparano il nuovo modo di fare le cose.
Ari B. Friedman,

3
Penso che questo fumetto possa essere una rappresentazione appropriata della situazione. Se la persona a cui ti stai riferendo è totalmente contraria alla programmazione, questa potrebbe essere una preferenza troppo forte per andare contro. Una strategia migliore potrebbe essere quella di evidenziare le carenze dell'analisi basata su fogli di calcolo. Prova ad esempio nel nuovo file Excel per inserire i valori e11116 e sommali (funziona su Excel 2007). Spiega quindi che nessun pacchetto statistico che si rispetti fornirà un errore simile senza alcun preavviso e lavoro da ciò. 114
mpiktas,

Risposte:


7

Programma in Python per il 95% del mio lavoro e il resto in R o MATLAB o IDL / PV-WAVE (e presto SAS). Tuttavia, mi trovo in un ambiente in cui il time-to-results è spesso un fattore determinante per l'analisi scelta e quindi utilizzo spesso anche strumenti point-and-click. Nella mia esperienza, non esiste uno strumento GUI unico, robusto e flessibile per eseguire analisi, proprio come non esiste un unico linguaggio. In genere metto insieme una raccolta dei seguenti software gratuiti e commerciali

Non ho usato JMP, Stata, Statistica, ecc., Ma mi piacerebbe.

L'uso di questi strumenti implica l'apprendimento di diverse GUI e molteplici astrazioni della modellazione, il che è una seccatura al momento, ma mi permetta di ottenere risultati ad hoc più veloci in seguito. Sono nella stessa barca dell'OP perché, sebbene la maggior parte delle persone con cui lavoro sia davvero intelligente, non gli interessa imparare una lingua, né più GUI e una terminologia specifica per l'applicazione. Quindi, mi sono rassegnato ad accettare che Excel guida il 90% delle analisi nel mondo degli affari. Di conseguenza, sto cercando di usare cose come pyinex per permettermi di fornire un'analisi migliore allo stesso livello di presentazione di Excel che la stragrande maggioranza dei miei colleghi si aspetta.

AGGIORNAMENTO: Continuando con il tema Do-modellistica-con-programmazione-ma-fare-Excel-il-livello-presentazione, mi sono appena imbattuto nel sito Web di questo ragazzo che offre grafica in stile Tufte da incorporare nelle celle di Excel. Semplicemente fantastico e gratuito!


1
Dirò che JMP è abbastanza buono. Anche se uno è molto esperto in R, ci sono momenti in cui JMP è un modo più veloce per navigare e analizzare i dati.
Iteratore,

8

Per quanto riguarda l'analisi dei dati esplorativi (possibilmente interattivi), suggerirei di dare un'occhiata a:

  • Weka , inizialmente si rivolge alle applicazioni di data mining, ma può essere utilizzato per riepiloghi di dati.
  • Mondrian , per la visualizzazione interattiva dei dati.
  • KNIME , che si basa sull'idea di creare flussi di dati ed è compatibile con Weka e R.

Tutti e tre accettano dati in arffo csvformato.

Dal mio punto di vista, Stata non richiede molta esperienza di programmazione. Questo è anche parte della sua attrattiva, in effetti: la maggior parte dell'analisi di base può essere effettuata mediante azioni dell'utente punta e clicca, con finestre di dialogo per personalizzare parametri specifici, diciamo, per la previsione in un modello lineare. Lo stesso vale, anche se in misura minore, per R quando si utilizzano GUI esterne come Rcmdr , Deducer, ecc., Come affermato da @ gsk3.


+1 per Stata. Puoi eseguire tutte le nozioni di base tramite point-n-click, ma sputa anche il comando che point-n-click ha generato in modo da poter apprendere / modificarlo. È anche simile a un foglio di calcolo nel modo in cui si interfaccia con i suoi dati, anche se ovviamente non si inseriscono formule nelle celle.
Wayne,

8

Alcune persone pensano alla programmazione semplicemente inserendo un'istruzione da riga di comando. A quel punto allora forse ti perdi un po 'nel incoraggiarli. Tuttavia, se utilizzano già fogli di calcolo, devono già inserire le formule. Sono simili alle istruzioni della riga di comando. Se significano davvero che non vogliono fare alcuna programmazione nel senso dell'analisi logica e automatizzata, allora puoi dire loro che possono ancora fare le analisi in R o Stata senza alcuna programmazione.

Se riescono a fare le loro statistiche nel foglio di calcolo ... tutto quello che vogliono fare ... allora tutte le analisi statistiche che desiderano fare possono essere fatte senza "programmare" anche in R o Stata. Potrebbero organizzare e organizzare i dati nel foglio di calcolo e quindi esportarli come testo. Quindi l'analisi viene eseguita senza alcuna programmazione.

È così che faccio l'introduzione a R a volte. Non è necessaria alcuna programmazione per eseguire l'analisi dei dati che è possibile eseguire in un foglio di calcolo.

Se riesci ad agganciarli in quel modo, allora fai semplicemente avvolgere il pesce lentamente ... :) In un paio d'anni complimentali con loro per diventare un buon programmatore.

Potresti anche voler mostrare questo documento ai tuoi colleghi o almeno leggerlo tu stesso per esprimere meglio i tuoi punti.


1
Aspetti positivi, ma qui ci sono alcuni avvertimenti: Excel ha dei suggerimenti che compaiono quando si inserisce una formula in una cella e quindi rende molto più facile "programmare" attività semplici. Inoltre, è probabile che la persona accanto a te possa aiutarti se rimani bloccato poiché ci sono molti utenti esperti di Excel. E, Excel viene installato. Convincere qualcuno a provare R implica aiutarlo a configurarlo e imparare a sfruttare il software open source (e quali forum cercare, quale degli ennesimi pacchetti bootstrap dovrebbero essere usati, ecc.). La programmazione è in un certo senso la parte facile. È l'ecosistema che è la parte difficile.
Josh Hemann,

Inoltre non ci sono veri problemi di formattazione in Excel ... In R a volte un pacchetto usa xts, un altro data.frames ... è un casino per un principiante, è vero
RockScience

Prima, sono d'accordo che ci possono essere problemi nella formattazione dei dati, ma tieni presente che la mia risposta è stata qualificata come analisi che potrebbe già essere eseguita in un foglio di calcolo. Non si tratta di un'analisi molto varia e sarebbe generalmente in un formato di dati.
Giovanni,

C'è un po 'più di sovraccarico nella "programmazione" con R che con Excel, e queste sono le cose che fanno impazzire gli utenti. Se R avesse una GUI di prim'ordine simile a una tabella pivot, forse. Ma fino ad allora ...
Ralph Winters,

8

Ho intenzione di mettere un passo qui per JMP. Ho un paio di ragioni per cui è il mio strumento preferito di esplorazione dei dati non di programmazione preferito:

  1. Strumenti di visualizzazione davvero buoni. Più trame di base di tipo EDA, è buona quanto R e molto più facile da usare per produrre qualcosa che si avvicina a una trama pronta per la pubblicazione. Ha anche alcuni strumenti di visualizzazione estremamente flessibili, quindi puoi ruotare e piegare i tuoi dati per ottenere l'intera storia.
  2. Sorprendentemente potente. Mi ci è voluto fino al mio ... 4 ° anno di scuola elementare per trovare qualcosa che JMP non potesse fare subito. Non è male.
  3. Scriptability. Questa è una grande cosa per me. Il principale punto debole delle GUI è che è molto difficile replicare ciò che hai fatto. JMP ti consente di creare script sulla GUI e generare tali script è piuttosto semplice.

+1 per JMP. È la migliore interfaccia grafica di base che abbia mai usato.
Zach,

1
D'accordo (bene con il punto 1). In un certo senso, è persino meglio di R per gli elementi EDA e può essere inserito correttamente in un flusso di lavoro iterativo. Se uno sta già lavorando senza R, allora JMP è un modo ragionevole di lavorare senza aggiungere R. Poiché può anche collegarsi a R, un programmatore R può creare strumenti che poi si collegano a JMP, consentendo all'utente Eloi, errr, di continuare credere che tutto sia solo dandy.
Iteratore,

6

Posso raccomandare Tableau come un buon strumento per l'esplorazione e la visualizzazione dei dati, semplicemente per i diversi modi in cui è possibile esplorare e visualizzare i dati, semplicemente trascinandoli. I grafici sono abbastanza nitidi e puoi facilmente inviarli in PDF a scopo di presentazione. Se vuoi puoi estenderlo con un po 'di "programmazione". Uso regolarmente questo strumento insieme a "R" e SAS e funzionano tutti insieme bene.


3

Come ha detto John, l'esplorazione dei dati non richiede molta programmazione in R. Ecco un elenco di comandi di esplorazione dei dati che puoi dare alle persone. (Ho appena escogitato questo, puoi sicuramente espanderlo.)

Esporta i dati da qualunque pacchetto si trovi. (È conveniente esportare dati numerici senza virgolette.) Quindi leggi i dati in R.

ChickWeight=read.csv('chickweight.csv')

Prepara un tavolo.

table(ChickWeight$Diet)

Lascia che R indovini che tipo di grafica ti dia. A volte funziona molto bene.

plot(ChickWeight)
plot(ChickWeight$weight)
plot(ChickWeight$weight~ChickWeight$Diet)

Una serie di funzioni di stampa specifiche funzionano semplicemente su variabili singole.

hist(ChickWeight$weight)

Prendere sottoinsiemi

plot(subset(ChickWeight,Diet=='2'))

Sintassi simile a SQL nel caso in cui le persone siano abituate (altro qui )

library(sqldf)
plot(sqldf('select * from ChickWeight where Diet == "2"'))

PCA (Avresti ovviamente più di due variabili.)

princomp(~ ChickWeight$weight + ChickWeight$Time)

3

Questo è più un lamento che una risposta ...

Il miglior software che ho visto per questo è Arc , che si basa su Xlisp-Stat. È un software fantastico per l'esplorazione dei dati con un sacco di grafica interattiva integrata e molte capacità di inferenza statistica. A mio avviso, nient'altro si è avvicinato alla sua facilità d'uso per l'esplorazione dei dati e la possibilità di estenderlo ulteriormente con la programmazione Lisp. A mio avviso, l'interattività in R sta appena iniziando ad essere in grado di essere utilizzata in modi come Arc, dieci lunghi anni dopo. E per quanto ne so, nessuno ha ancora usato queste capacità per costruire un'interfaccia interattiva che sia quasi altrettanto utile quanto Arc.

Sfortunatamente, non ha mai preso piede, quindi gli sviluppatori sono passati da quasi tutti a lavorare in R; è stato aggiornato l'ultima volta nel luglio del 2004. Le versioni per PC e Linux / Unix funzionano ancora e potrebbe valere la pena provare, a seconda delle esigenze; per Mac l'opzione migliore è provare la versione Linux / Unix con X11, l'ho fatta funzionare su un paio di sistemi in quel modo. La versione per Mac menzionata sul sito funziona solo su Mac "classici".

Citerò anche brevemente Mondrian , che ho provato solo brevemente, ma sembra avere una straordinaria interattività grafica per l'esplorazione dei dati, sebbene (come ricordo) non sia un modo semplice per estendere le capacità o fare inferenze statistiche.


Non avevo sentito parlare di Arc, ma ho intenzione di provarlo. Grazie.
Ari B. Friedman,

1
(+1) Buono a risentirci dal mondo Lisp. Sono anche un fan di xlispstat (e apprezzo che Luke Tierney sia così attivo nel progetto R).
chl

3

Un nuovo sistema software che sembra promettente a questo scopo è Deducer , costruito sulla base di R. Sfortunatamente, essendo nuovo, sospetto che non copra ancora l'ampiezza delle domande che le persone potrebbero porre, ma soddisfa la punta dei piedi - criterio dell'acqua per guidare le persone verso un vero pacchetto, se dovessero decidere in seguito.

Ho anche usato JMP in passato, che aveva una buona interattività. Sono preoccupato che alcune interfacce potrebbero essere troppo complicate per questi scopi. Ed è non gratuito, il che rende più difficile per i potenziali rifugiati con fogli di calcolo provare per capriccio.


C'è anche Rattle che sembra un po 'promettente.


Per quanto riguarda JMP - Se non sbaglio, ci sono versioni di prova e licenze accademiche che sono entro il ragionevole.
Iteratore,

3

Per esplorare quali dati contengono e ripulirli, l'ex Google Refine, ora Open Refine , è una GUI piuttosto buona. È molto più potente per la preparazione e la pulizia di qualcosa come Excel. Quindi passa a qualcosa come R-Commander per le tue analisi.


2

Chiunque risponda a R o ad una qualsiasi delle sue "GUI" non ha letto la domanda.

Esiste un programma appositamente progettato per questo e si chiama JMP. Sì, è costoso, anche se ha una prova gratuita ed è incredibilmente economico per gli studenti o il personale del college (come $ 50 a buon mercato).

C'è anche RapidMiner, che è una GUI basata sul flusso di lavoro per il data mining e l'analisi statistica. È gratuito e open source.


1
@Neil Perché è così? L'OP ha specificato "ma idealmente che si estenderebbe alla programmazione ...". R è stato collegato a quasi tutti i software statistici commerciali (ad es. SPSS, JMP, Statistica) o gratuiti (Knime, Rapidminer) e Rserve può essere usato come backend per comunicare con R (ad es. Con il software plink per studi genetici), ed è usato per questo scopo. La versione di prova gratuita di JMP non ti consente di lavorare con set di dati esterni, sbaglio? (È interessante notare che tutti noi che hanno risposto a R, e un software alternativo , sono stati
sottoposti a downgrade

mi piace R e ne sono favorevole, ma le persone che vogliono imparare le statistiche / datamining e non sanno come programmare davvero non possono usarlo. e ho giocato con tutte le sue chitarre e sono semplicemente orribili rispetto a jmp. sto solo aspettando il giorno in cui R ottiene una GUI come JMP, quindi tutto andrà bene nell'universo.
Neil McGuigan,

-1 per il suggerimento che le persone non leggono le domande prima di rispondere e per non aver fornito alcun vero argomento sul perché R è peggiore di JMP o RapidMiner. Nota che in generale concordo sul fatto che R non è una risposta a tutto, ma questo argomento è un po 'contrario al potenziale di diventare davvero sgradevole. Da qui il downvote.
mpiktas,

R è eccezionale, ma non è facile. Questo è quello che ha chiesto nel titolo.
Neil McGuigan

@Neil, sì, ma puoi sostenere che non esiste un'esplorazione dei dati semplice ma robusta.
mpiktas,

1

Bene, questo particolare strumento è popolare nel mio settore (anche se non è specifico del settore in base alla progettazione): http://www.umetrics.com/simca

Consente di eseguire analisi multivariate di tipo variabile latente (PCA e PLS) e include tutti i grafici / calcoli interpretativi relativi e strumenti di interrogazione come grafici di contributo, grafici di importanza variabile, calcoli Q2 ecc.

Viene spesso utilizzato su set di dati industriali ad alta dimensione (e spesso altamente correlati / collineari) in cui i metodi di tipo OLS / MLR non sono idonei (ad es. Informazioni da un carico di sensori, informazioni sui registri, ecc.).

Funziona in un ambiente completamente GUI e l'utente non deve scrivere una singola riga di codice. Purtroppo non è gratuito e non può essere esteso tramite la programmazione.


1

A mio avviso, se non ti codifichi il test, sei soggetto a errori e incomprensioni dei risultati.

Penso che dovresti raccomandarli di assumere uno statistico con competenze informatiche.

Se deve fare sempre la stessa cosa, allora puoi davvero usare un piccolo strumento (blackbox) che farà le cose. Ma non sono sicuro che questo sia ancora chiamato esplorazione dei dati.


1
Sono più o meno d'accordo con il sentimento, ma non penso che questa visione spensierata sia davvero possibile in molti contesti.
Ari B. Friedman,

1

Consiglierei il pacchetto R di John Fox chiamato R comandante:

http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/

Crea un'interfaccia utente simile a SPSS (o simili) che è ottima per i principianti e non richiede all'utente di inserire alcun codice. È tutto fatto tramite caselle a discesa (puoi anche minimizzare la console R mentre lavori).

Per me, il vantaggio di questo pacchetto è che puoi sfruttare tutta la grande capacità computazionale di R pur avendo un'interfaccia utente completamente operativa per i principianti.


1

Un altro strumento utile, sebbene solo per Windows, è Spotfire : l'ho trovato abbastanza utile per esaminare rapidamente vari istogrammi e grafici a dispersione per singole e coppie di variabili. Uno strumento di ricerca che ti aiuta a classificare singole variabili e coppie basate su semplici statistiche: Hierarchical Clustering Explorer di HCIL. È utile per trovare le variabili / coppie di variabili più interessanti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.