Excel come workbench statistico


52

Sembra che a molte persone (incluso me) piaccia fare analisi esplorative dei dati in Excel. Alcune limitazioni, come il numero di righe consentite in un foglio di calcolo, sono un problema, ma nella maggior parte dei casi non è impossibile utilizzare Excel per giocare con i dati.

Un articolo di McCullough e Heiser , tuttavia, praticamente urla che i risultati saranno sbagliati - e probabilmente anche bruciati all'inferno - se si tenta di utilizzare Excel.

Questo documento è corretto o è di parte? Gli autori sembrano odiare Microsoft.


5
Una recente analisi dell'accuratezza del software per fogli elettronici per i calcoli statistici appare in [Kellie B. Keeling e Robert J. Pavur (2011): Accuratezza statistica del software per fogli di calcolo, The American Statistician, 65: 4, 265-273] (attualmente un download gratuito su amstat.tandfonline.com/doi/pdf/10.1198/tas.2011.09076 ). I risultati sono contrastanti e forse un po 'sorprendenti. Notevole è l'enorme miglioramento nei calcoli di distribuzione tra Excel 2007 ed Excel 2010 (che sembra essere più accurato di Ro SAS).
whuber

Risposte:


45

Usa lo strumento giusto per il lavoro giusto e sfrutta i punti di forza degli strumenti che conosci.

Nel caso di Excel ci sono alcuni problemi salienti:

  • Non utilizzare un foglio di calcolo per gestire i dati, anche se i dati si adatteranno a uno solo. Stai solo chiedendo guai, terribili guai. Non esiste praticamente alcuna protezione contro errori tipografici, confusione all'ingrosso di dati, troncamento dei valori dei dati, ecc., Ecc.

  • Molte delle funzioni statistiche sono effettivamente rotte. La distribuzione t è una di queste.

  • La grafica predefinita è terribile.

  • Manca alcuni grafici statistici fondamentali, in particolare boxplot e istogrammi.

  • Il generatore di numeri casuali è uno scherzo (ma nonostante ciò è ancora efficace a fini educativi).

  • Evita le funzioni di alto livello e la maggior parte dei componenti aggiuntivi; sono c ** p. Ma questo è solo un principio generale del calcolo sicuro: se non sei sicuro di cosa stia facendo una funzione, non usarla. Attenersi a quelli di basso livello (che includono funzioni aritmetiche, classificazione, exp, ln, funzioni trig e, entro certi limiti, le normali funzioni di distribuzione). Non usare mai un componente aggiuntivo che produce un elemento grafico: sarà terribile. (NB: è estremamente facile creare da zero le tue proprie casistiche di probabilità. Saranno corrette e altamente personalizzabili.)

A suo favore, tuttavia, sono i seguenti:

  • I suoi calcoli numerici di base sono accurati come possono essere i galleggianti a doppia precisione. Includono alcuni utili, come log gamma.

  • È abbastanza facile avvolgere un controllo attorno alle caselle di input in un foglio di calcolo, consentendo di creare facilmente simulazioni dinamiche.

  • Se hai bisogno di condividere un calcolo con persone non statistiche, la maggior parte avrà un certo conforto con un foglio di calcolo e nessuno con software statistico, non importa quanto economico possa essere.

  • È facile scrivere macro numeriche efficaci, incluso il porting del vecchio codice Fortran, che è abbastanza vicino a VBA. Inoltre, l'esecuzione di VBA è ragionevolmente veloce. (Ad esempio, ho un codice che calcola accuratamente le distribuzioni t non centrali da zero e tre diverse implementazioni di Fast Fourier Transforms.)

  • Supporta alcune simulazioni efficaci e componenti aggiuntivi Monte-Carlo come Crystal Ball e @Risk. (A proposito, usano i loro RNG - ho controllato.)

  • L'immediatezza di interagire direttamente con (una piccola serie di) dati non ha eguali: è meglio di qualsiasi pacchetto di statistiche, Mathematica, ecc. Se usato come un calcolatore gigante con un sacco di spazio di archiviazione, un foglio di calcolo si presenta davvero unico.

  • Un buon EDA, usando metodi robusti e resistenti, non è facile, ma dopo averlo fatto una volta, è possibile configurarlo rapidamente. Con Excel puoi riprodurre efficacemente tutti i calcoli (anche se solo alcuni dei grafici) nel libro EDA di Tukey, inclusa la lucidatura mediana delle tabelle n-way (anche se è un po 'ingombrante).

In risposta diretta alla domanda originale, c'è un pregiudizio in quel documento: si concentra sul materiale in cui Excel è più debole e che è meno probabile che uno statistico competente utilizzi. Questa non è una critica al giornale, però, perché avvertimenti come questo devono essere trasmessi.


7
@whuber Una bella e utile panoramica di pro e contro!
chl

4
+1 simpatico ed equilibrato. Mi piace in particolare il punto sull'immediatezza di interagire direttamente, che penso sia il più grande punto di vendita di Excel (o davvero, il foglio di calcolo). Programmazione dichiarativa per le masse - il che spiega perché alcune persone pensano che l'80% della logica aziendale mondiale sia scritta in Excel (vale la pena sottolineare che programmatori e statistici che discutono di R v SAS o Java v C ++, ecc.).
Ars,

2
Ho sentito che Microsoft ha assunto alcuni analisti numerici diversi anni fa per correggere le funzioni non funzionanti in Excel. Sai se i problemi con Excel sono ancora presenti nelle versioni 2007 o 2010?
John D. Cook,

2
@Zach Ad esempio, usando Excel 2002, calcola i =TINV(2*p,df)valori di p che variano da 0,01 quasi a 0 e confrontali con i valori corretti. (Ho verificato con df compreso tra 2 e 32.) Gli errori iniziano nella sesta cifra significativa e poi esplodono quando p è intorno a 1.E-5 o inferiore. Anche se questi valori di p sono piccoli, sono valori realistici da testare perché sono cruciali per i test a confronti multipli e per calcolare i valori relativi alla distribuzione t, come la t non centrale.
whuber

2
Penso che il tuo primo punto elenco debba avere stelle e frecce che lo chiamano. I fogli di calcolo non forniscono alcuna traccia di controllo, il che è fondamentale se si intende svolgere un lavoro su cui qualcuno si basa effettivamente. R, al contrario, non fornisce direttamente una traccia di controllo, ma poiché accetta comandi e puoi salvare i comandi per importare, preelaborare, elaborare, elaborare un grafico, ecc., In un file separato puoi avere una traccia di ciò che hai fatto ottieni il grafico n. 1 e puoi ricrearlo da zero, nel caso in cui improvvisamente hai motivo di metterlo in discussione.
Wayne,

18

Un documento interessante sull'uso di Excel in un'impostazione di Bioinformatica è:

Identificatori errati: errori di nome genico possono essere introdotti inavvertitamente quando si utilizza Excel in bioinformatica, BMC Bioinformatics, 2004 ( collegamento ).

Questo breve documento descrive il problema delle conversioni di tipo automatiche in Excel (in particolare conversioni di data e virgola mobile). Ad esempio, il nome del gene Sept2 viene convertito in 2-Sept. In realtà è possibile trovare questo errore nei database online .

L'uso di Excel per gestire grandi e medie quantità di dati è pericoloso. Gli errori possono facilmente insinuarsi senza che l'utente se ne accorga.


6
Questo è di gran lunga l'aspetto di Excel che mi fa infuriare di più. L'archiviazione dei dati richiede tipi di dati espliciti, non formattazione.
Matt Parker,

3
In realtà, questo è qualcosa che riguarda il software MS in generale che mi infastidisce: cambia il tuo input in ciò che crede davvero intendi e di solito non lo vedi nemmeno accadere.
Carlos Accioly,

@csgillespie (+1) Buona conoscenza di Excel da questa prospettiva!
chl

6
Il mio errore preferito si è verificato quando Excel ha usato per troncare silenziosamente i campi durante l'esportazione in altri formati. In un file di concentrazioni di pesticidi nel suolo, ha convertito un valore di 1.000.050 (straordinariamente tossico) in 50 (quasi senza conseguenze) tagliando la cifra iniziale!
whuber

@Matt è irritante solo se stai "archiviando" i dati in Excel. È un'ottima funzionalità quando si utilizza Excel esclusivamente come front-end per la creazione di report e grafici.
Tipo anonimo

11

Bene, la domanda se il documento è corretto o distorto dovrebbe essere semplice: potresti semplicemente replicare alcune delle loro analisi e vedere se ottieni le stesse risposte.

McCullough ha smontato diverse versioni di MS Excel da alcuni anni ormai, e apparentemente MS non ha ritenuto opportuno correggere errori che aveva sottolineato anni fa nelle versioni precedenti.

Non vedo problemi a giocare con i dati in Excel. Ma ad essere sincero, non farei le mie analisi "serie" in Excel. Il mio problema principale non sarebbero le inesattezze (che suppongo che raramente rappresenteranno un problema) ma l'impossibilità di tracciare e replicare le mie analisi un anno dopo quando un revisore o il mio capo mi chiedono perché non ho fatto X: puoi salvare il tuo lavoro e vicoli ciechi nel codice R commentato, ma non in modo significativo in Excel.


2
(+1) Stai facendo ben eco alla discussione su Medstats sulla necessità di tenere un registro di modifica e analisi dei dati ( j.mp/dAyGGY )! Grazie.
chl

Salvare il tuo "lavoro e vicoli ciechi" non è più difficile da fare con Excel che con R. È solo una questione di farlo davvero. Il problema principale con Excel è legato alla sua forza: è fin troppo facile cambiare qualcosa inavvertitamente. Ma per EDA - il focus del PO - raramente se mai salviamo tutto ciò che facciamo. L'EDA, dopo tutto, dovrebbe essere interattiva.
whuber

1
è possibile conservare un record riproducibile dei metodi se lo si fa in VB, ma l'attenzione della GUI di Excel non incoraggia tale comportamento.
James,

7

Per inciso, una domanda sull'uso dei fogli di calcolo di Google ha sollevato opinioni contrastanti (quindi interessanti) a riguardo, alcuni di voi usano il foglio di calcolo di Google Documenti per condurre e condividere il proprio lavoro statistico con altri?

Ho in mente un documento più vecchio che non sembrava così pessimista, ma è solo marginalmente citato nel documento che hai citato: Keeling e Pavur, uno studio comparativo sull'affidabilità di nove pacchetti software statistici (CSDA 2007 51: 3811). Ma ora ho trovato il tuo sul mio disco rigido. Si è verificato anche un problema speciale nel 2008, vedere la sezione Speciale su Microsoft Excel 2007 e, più recentemente, sul Journal of Statistical Software: On the Accuracy numeric of Spreadsheets .

Penso che sia un dibattito di lunga data e troverai vari articoli / opinioni sull'affidabilità di Excel per il calcolo statistico. Penso che ci siano diversi livelli di discussione (che tipo di analisi prevedi di fare, fai affidamento sul risolutore interno, ci sono termini non lineari che entrano in un determinato modello, ecc.) E potrebbero sorgere fonti di imprecisione numerica come risultato di errori di elaborazione adeguati o problemi di scelta del progetto ; questo è ben riassunto in

M. Altman, J. Gill e MP McDonald, Numeric Issues in Statistical Computing for the Social Scientist , Wiley, 2004.

Ora, per l'analisi dei dati esplorativi, ci sono varie alternative che offrono funzionalità di visualizzazione avanzate, grafica multivariata e dinamica, ad esempio GGobi - ma vedi i thread correlati su questo wiki.

Ma chiaramente il primo punto che hai sollevato affronta un altro problema (IMO), vale a dire quello di utilizzare un foglio di calcolo per gestire un set di dati di grandi dimensioni: semplicemente non è possibile importare un file CSV di grandi dimensioni in Excel (sto pensando ai dati genomici, ma si applica ad altri tipi di dati ad alta dimensione). Non è stato costruito per quello scopo.


Mi piace la sfumatura di "diversi livelli di discussione".
whuber

7

I documenti e gli altri partecipanti sottolineano debolezze tecniche. Whuber fa un buon lavoro nel delineare almeno alcuni dei suoi punti di forza. Personalmente faccio un ampio lavoro statistico in Excel (test di ipotesi, regressioni lineari e multiple) e lo adoro. Uso Excel 2003 con una capacità di 256 colonne e 65.000 righe in grado di gestire solo circa il 100% dei set di dati che utilizzo. Capisco che Excel 2007 ha esteso tale capacità di una quantità enorme (righe in milioni).

Come menziona Whuber, Excel funge anche da piattaforma di partenza per una moltitudine di software aggiuntivi piuttosto eccezionali, tutti abbastanza potenti e facili da usare. Sto pensando a Crystal Ball e @Risk per Monte Carlo Simulation; XLStat per potenti statistiche e analisi dei dati; Cosa c'è di meglio per l'ottimizzazione. E la lista continua. È come se Excel fosse l'equivalente di un iPod o iPad con un miliardo di app incredibili. Concesso le app di Excel non sono economiche. Ma, per quello che sono in grado di fare, sono in genere buoni affari.

Per quanto riguarda la documentazione del modello, è così facile inserire una casella di testo in cui puoi letteralmente scrivere un libro sulla tua metodologia, le tue fonti, ecc ... Puoi anche inserire commenti in qualsiasi cella. Quindi, se non altro Excel è davvero buono per facilitare la documentazione incorporata.


1
Grazie per i punti aggiuntivi e per aver condiviso la tua prospettiva.
whuber

ottimi punti, bello sentire qualcuno usarlo nel modo giusto e trarne beneficio.
Tipo anonimo

6

Excel non è buono per le statistiche, ma può essere meraviglioso per l'analisi dei dati esplorativi. Dai un'occhiata a questo video per alcune tecniche particolarmente interessanti. La capacità di Excel di colorare in modo condizionale i tuoi dati e aggiungere grafici a barre nella cella può fornire una visione approfondita della struttura dei tuoi dati grezzi.


6

Un'altra buona fonte di riferimento per cui potresti non voler utilizzare Excel è:

Dipendenza da foglio di calcolo

Se ti trovi in ​​una situazione in cui hai davvero bisogno di usare Excel (alcuni dipartimenti accademici insistono), allora suggerirei di usare il plugin Rexcel . Ciò ti consente di interfacciarti utilizzando Excel, ma utilizza il programma R come motore di calcolo. Non hai bisogno di sapere R per usarlo, puoi usare menu a discesa e finestre di dialogo, ma puoi fare molto di più se lo fai. Poiché R sta eseguendo i calcoli, sono molto più affidabili di Excel e hai grafici e diagrammi a scatola molto migliori e altri grafici mancanti da Excel. Funziona anche con l'aggiornamento automatico delle celle in Excel (anche se può rallentare le cose se hai molte analisi complesse da ricalcolare ogni volta). Non risolve tutti i problemi dalla pagina di dipendenza del foglio di calcolo, ma è un enorme miglioramento rispetto all'uso di Excel.


1

Excel può essere ottimo sia per l'analisi esplorativa dei dati che per l'analisi di regressione lineare con i plugin giusti. Esistono numerosi prodotti commerciali, sebbene la maggior parte di essi lasci qualcosa a desiderare in termini di qualità dell'output che producono (non sfruttano appieno le opzioni grafiche di Excel o la possibilità di collegarsi con altre applicazioni di Office) e in generale non sono buoni come potrebbero essere per la visualizzazione e la presentazione dei dati. Inoltre, tendono a non supportare un approccio di modellazione disciplinato in cui (tra le altre cose) si mantiene una pista di controllo ben documentata per il proprio lavoro. Ecco un plugin GRATUITO, "RegressIt", che risolve molti di questi problemi: http://regressit.com. Fornisce un ottimo supporto per l'analisi esplorativa (inclusa la possibilità di generare diagrammi di serie temporali parallele e matrici scatterplot con un massimo di 50 variabili), facilita l'applicazione di trasformazioni di dati come ritardo, registrazione e differenziazione (che spesso non vengono applicate in modo appropriato da parte degli utenti ingenui della regressione), fornisce output di tabelle e grafici molto dettagliati che supportano le migliori pratiche di analisi dei dati e mantiene un foglio di lavoro con audit trail che facilita il confronto dei modelli affiancati e tiene traccia di quali modelli sono stati inseriti in quale ordine. È un buon complemento a qualsiasi altra cosa tu stia usando, se hai a che fare con dati multivariati e almeno parte del tuo lavoro viene svolto in un ambiente Excel.

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.