Excel jako stół roboczy statystyk

52

Wygląda na to, że wiele osób (w tym ja) lubi analizować dane eksploracyjne w programie Excel. Niektóre ograniczenia, takie jak dozwolona liczba wierszy w arkuszu kalkulacyjnym, są uciążliwe, ale w większości przypadków nie uniemożliwiają korzystania z programu Excel do zabawy z danymi.

Artykuł McCullougha i Heisera jednak praktycznie krzyczy, że źle zrozumiesz swoje wyniki - i prawdopodobnie również piekło - jeśli spróbujesz użyć Excela.

Czy ten papier jest poprawny, czy jest stronniczy? Autorzy brzmią, jakby nienawidzili Microsoft.

Carlos Accioly
źródło
5
Ostatnia analiza dokładności oprogramowania arkusza kalkulacyjnego do obliczeń statystycznych znajduje się w [Kellie B. Keeling i Robert J. Pavur (2011): Statistics Accuracy of Spreadsheet Software, The American Statistician, 65: 4, 265-273] (obecnie do pobrania za darmo na amstat.tandfonline.com/doi/pdf/10.1198/tas.2011.09076 ). Wyniki są mieszane i być może nieco zaskakujące. Godna uwagi jest ogromna poprawa obliczeń dystrybucji między Excel 2007 i Excel 2010 (która wydaje się być dokładniejsza niż RSAS).
whuber

Odpowiedzi:

45

Użyj odpowiedniego narzędzia do właściwej pracy i wykorzystaj mocne strony narzędzi, które znasz.

W przypadku Excela są pewne istotne problemy:

  • Nie używaj arkusza kalkulacyjnego do zarządzania danymi, nawet jeśli dane będą pasować do jednego. Prosisz tylko o kłopoty, okropne kłopoty. Nie ma praktycznie żadnej ochrony przed błędami typograficznymi, hurtowym pomieszaniem danych, obcinaniem wartości danych itp. Itp.

  • Wiele funkcji statystycznych rzeczywiście jest zepsutych. Rozkład t jest jednym z nich.

  • Domyślna grafika jest okropna.

  • Brakuje niektórych podstawowych grafik statystycznych, zwłaszcza wykresów pudełkowych i histogramów.

  • Generator liczb losowych to żart (ale mimo to nadal jest skuteczny do celów edukacyjnych).

  • Unikaj funkcji wysokiego poziomu i większości dodatków; oni są c ** p. Ale to tylko ogólna zasada bezpiecznego korzystania z komputera: jeśli nie jesteś pewien, co robi funkcja, nie używaj jej. Trzymaj się tych niskopoziomowych (które obejmują funkcje arytmetyczne, ranking, exp, ln, funkcje trigg oraz - w granicach - normalne funkcje rozkładu). Nigdy nie używaj dodatku, który tworzy grafikę: będzie okropnie. (Uwaga: tworzenie własnych wykresów prawdopodobieństwa od zera jest bardzo łatwe. Będą one poprawne i można je łatwo dostosować.)

Na jego korzyść są jednak następujące:

  • Jego podstawowe obliczenia numeryczne są tak dokładne, jak to możliwe, dla pływaków o podwójnej precyzji. Obejmują one niektóre przydatne, takie jak log gamma.

  • Całkiem łatwo jest owinąć formant wokół pól wprowadzania danych w arkuszu kalkulacyjnym, co umożliwia łatwe tworzenie symulacji dynamicznych.

  • Jeśli chcesz podzielić się obliczeniami z osobami niebędącymi statystykami, większość z nich będzie miała pewien komfort dzięki arkuszowi kalkulacyjnemu, a wcale nie z oprogramowaniem statystycznym, bez względu na to, jak tanie może być.

  • Łatwo jest pisać efektywne makra numeryczne, w tym przenoszenie starego kodu Fortran, który jest dość zbliżony do VBA. Co więcej, wykonanie VBA jest dość szybkie. (Na przykład mam kod, który dokładnie oblicza od zera niecentralne rozkłady t oraz trzy różne implementacje szybkich transformacji Fouriera.)

  • Obsługuje niektóre skuteczne symulacje i dodatki Monte-Carlo, takie jak Crystal Ball i @Risk. (Nawiasem mówiąc, używają własnych RNG - sprawdziłem.)

  • Bezpośrednia interakcja bezpośrednio z (niewielkim zestawem) danych jest niezrównana: jest lepsza niż jakikolwiek pakiet statystyk, Mathematica itp. Gdy jest używany jako gigantyczny kalkulator z dużą ilością miejsca do przechowywania, arkusz kalkulacyjny naprawdę się sprawdza.

  • Dobra EDA, przy użyciu solidnych i odpornych metod, nie jest łatwa, ale gdy raz to zrobisz, możesz ją szybko skonfigurować ponownie. Za pomocą Excela możesz skutecznie odtworzyć wszystkie obliczenia (choć tylko niektóre wykresy) w książce EDA Tukeya, w tym medianę wypolerowania tabel n-way (choć jest to trochę kłopotliwe).

W bezpośredniej odpowiedzi na pierwotne pytanie zawarto w tym dokumencie błąd: koncentruje się on na materiale, w którym Excel jest najsłabszy, a kompetentny statystyk ma najmniejszą szansę na jego wykorzystanie. Nie jest to jednak krytyka artykułu, ponieważ takie ostrzeżenia muszą być nadawane.

Whuber
źródło
7
@whuber Ładny i przydatny przegląd zalet i wad!
chl
4
+1 ładne i zrównoważone. Szczególnie podoba mi się kwestia „natychmiastowej bezpośredniej interakcji”, która moim zdaniem jest największą zaletą Excela (lub tak naprawdę arkusza kalkulacyjnego). Programowanie deklaratywne dla mas - co tłumaczy, dlaczego niektórzy sądzą, że 80% światowej logiki biznesowej jest napisane w Excelu (warto zwrócić uwagę na programistów i statystów, którzy spierają się o R v SAS lub Java v C ++ itp.).
ars
2
Słyszałem, że Microsoft kilka lat temu zatrudnił analityków numerycznych, aby naprawić uszkodzone funkcje w programie Excel. Czy wiesz, czy problemy z programem Excel nadal występują w wersjach 2007 czy 2010?
John D. Cook,
2
@Zach Na przykład, używając Excela 2002, oblicz =TINV(2*p,df)wartości p od 0,01 do prawie 0 i porównaj je z poprawnymi wartościami. (Sprawdziłem z df w zakresie od 2 do 32.) Błędy zaczynają się od szóstej znaczącej liczby, a następnie eksplodują, gdy p wynosi około 1.E-5 lub mniej. Mimo że te wartości p są małe, są one realistycznymi wartościami do przetestowania, ponieważ są kluczowe dla testów wielokrotnych porównań i do obliczania wartości związanych z rozkładem t, takich jak niecentralne t.
whuber
2
Myślę, że twój pierwszy pocisk musi mieć gwiazdy i strzały wzywające go. Arkusze kalkulacyjne nie zapewniają ścieżki audytu, co ma kluczowe znaczenie, jeśli zamierzasz wykonywać pracę, na której ktoś faktycznie polega. R natomiast nie zapewnia bezpośrednio ścieżki audytu, ale ponieważ akceptuje polecenia i można je zapisać w celu zaimportowania, przetworzenia wstępnego, przetworzenia, wykresu itp., W osobnym pliku możesz mieć ślad tego, co zrobiłeś uzyskaj Wykres nr 1 i możesz go odtworzyć od zera, na wypadek gdybyś nagle miał powód, aby go przesłuchać.
Wayne
18

Interesujący artykuł na temat korzystania z Excela w środowisku Bioinformatyki to:

Błędne identyfikatory: Błędy nazwy genowej można wprowadzić nieumyślnie podczas korzystania z Excela w bioinformatyce, BMC Bioinformatics, 2004 ( link ).

W tym krótkim artykule opisano problem automatycznych konwersji typów w programie Excel (w szczególności konwersji daty i liczb zmiennoprzecinkowych). Na przykład nazwa genu Sept2 jest konwertowana na 2 września. Ten błąd można znaleźć w internetowych bazach danych .

Używanie programu Excel do zarządzania średnimi i dużymi ilościami danych jest niebezpieczne. Błędy mogą łatwo wkraść się bez zauważenia przez użytkownika.

csgillespie
źródło
6
Jest to zdecydowanie aspekt Excela, który najbardziej mnie irytuje. Przechowywanie danych wymaga jawnych typów danych, a nie formatowania.
Matt Parker,
3
Właściwie to denerwuje mnie ogólnie w oprogramowaniu MS: zmienia twój wkład w to, co według ciebie miałeś na myśli, i zwykle nawet nie widzisz, że to się dzieje.
Carlos Accioly,
@csgillespie (+1) Dobrze wiedzieć o Excelu z tej perspektywy!
chl
6
Mój ulubiony błąd wystąpił, gdy program Excel po cichu obcinał pola podczas eksportowania do innych formatów. W pliku stężeń pestycydów w glebie przekonwertował wartość 1 000 050 (wyjątkowo toksyczny) na 50 (prawie nieistotny), odcinając początkową cyfrę!
whuber
@Matt jest irytujące, jeśli „przechowujesz” dane w Excelu. Jest to świetna funkcja, gdy używasz Excela wyłącznie jako interfejsu do raportowania i tworzenia wykresów.
Anonimowy typ
11

Cóż, pytanie, czy praca jest poprawna, czy stronnicza, powinno być łatwe: możesz po prostu powtórzyć niektóre z ich analiz i sprawdzić, czy uzyskasz te same odpowiedzi.

McCullough od kilku lat rozbiera różne wersje MS Excel, i najwyraźniej MS nie był w stanie naprawić błędów, które wskazał lata temu w poprzednich wersjach.

Nie widzę problemu z bawieniem się danymi w Excelu. Ale szczerze mówiąc, nie przeprowadzałbym „poważnych” analiz w Excelu. Moim głównym problemem nie byłyby nieścisłości (które, jak sądzę, bardzo rzadko będą stanowiły problem), ale niemożność śledzenia i replikowania moich analiz rok później, gdy recenzent lub mój szef pyta, dlaczego nie zrobiłem X - możesz zapisać swój pracujcie i ślepe zaułki w komentowanym kodzie R, ale nie w sensowny sposób w Excelu.

S. Kolassa - Przywróć Monikę
źródło
2
(+1) Ładnie przypominasz dyskusję na Medstats o potrzebie prowadzenia rejestru edycji i analizy danych ( j.mp/dAyGGY )! Dzięki.
chl
Zapisywanie „pracy i ślepych uliczek” nie jest trudniejsze do zrobienia w programie Excel niż w R. To tylko kwestia robienia tego. Główny problem z Excelem związany jest z jego siłą: zbyt łatwo jest coś zmienić nieumyślnie. Ale w przypadku EDA - centrum PO - rzadko, jeśli w ogóle, oszczędzamy wszystko, co robimy. W końcu EDA ma być interaktywna.
whuber
1
możliwe jest prowadzenie odtwarzalnego zapisu twoich metod, jeśli robisz to w VB, ale skupienie GUI Excela nie zachęca do takiego zachowania.
James
7

Nawiasem mówiąc, pytanie dotyczące korzystania z arkuszy kalkulacyjnych Google wzbudziło przeciwstawne (stąd ciekawe) opinie na ten temat: Czy niektórzy z was używają arkusza kalkulacyjnego Dokumentów Google do prowadzenia i udostępniania swojej pracy statystycznej innym?

Mam na myśli starszą pracę, która nie wydawała się tak pesymistyczna, ale jest ona tylko nieznacznie cytowana we wspomnianym artykule: Keeling i Pavur, Badanie porównawcze dotyczące niezawodności dziewięciu pakietów oprogramowania statystycznego (CSDA 2007 51: 3811). Ale teraz znalazłem twój na moim dysku twardym. W 2008 r. Pojawił się także problem specjalny, patrz sekcja specjalna dotycząca programu Microsoft Excel 2007 , a ostatnio w Journal of Statistics Software: O numerycznej dokładności arkuszy kalkulacyjnych .

Myślę, że to długotrwała debata, a znajdziesz różne artykuły / opinie na temat niezawodności Excela w obliczeniach statystycznych. Myślę, że istnieją różne poziomy dyskusji (jaki rodzaj analizy planujesz zrobić, czy polegasz na wewnętrznym rozwiązaniu, czy istnieją nieliniowe terminy, które wchodzą w dany model itp.), I mogą pojawić się źródła niedokładności liczbowych w wyniku prawidłowych błędów obliczeniowych lub problemów z wyborem projektu ; jest to dobrze podsumowane w

M. Altman, J. Gill i MP McDonald, Problemy numeryczne w obliczeniach statystycznych dla naukowca społecznego , Wiley, 2004.

Teraz do analizy danych eksploracyjnych istnieją różne alternatywy, które zapewniają ulepszone możliwości wizualizacji, grafikę wielowymiarową i dynamiczną, np. GGobi - ale zobacz powiązane wątki na tej wiki.

Ale wyraźnie pierwszy punkt, który podałeś, dotyczy innego problemu (IMO), a mianowicie wykorzystania arkusza kalkulacyjnego do obsługi dużego zestawu danych: po prostu nie jest możliwe zaimportowanie dużego pliku csv do programu Excel (mam na myśli dane genomowe, ale dotyczy innych rodzajów danych wielowymiarowych). Nie został zbudowany w tym celu.

chl
źródło
Lubię niuans dotyczący „różnych poziomów dyskusji”.
whuber
7

Artykuły i inni uczestnicy zwracają uwagę na słabości techniczne. Whuber dobrze opisuje przynajmniej niektóre z jego mocnych stron. Osobiście wykonuję obszerne prace statystyczne w Excelu (testowanie hipotez, regresje liniowe i wielokrotne) i uwielbiam to. Korzystam z programu Excel 2003 o pojemności 256 kolumn i 65 000 wierszy, które mogą obsłużyć tylko około 100% zestawów danych, których używam. Rozumiem, że Excel 2007 znacznie zwiększył tę pojemność (wiersze w milionach).

Jak wspomina Whuber, Excel służy również jako platforma startowa dla wielu wyjątkowych programów dodatków, które są dość potężne i łatwe w użyciu. Mam na myśli Crystal Ball i @Risk dla Monte Carlo Simulation; XLStat do wszechstronnych zaawansowanych statystyk i analizy danych; Co jest najlepsze do optymalizacji. Lista jest długa. To tak, jakby Excel był odpowiednikiem iPoda lub iPada z milionem niesamowitych aplikacji. To prawda, że ​​aplikacje Excela nie są tanie. Ale za to, co są w stanie zrobić, zwykle są to całkiem świetne okazje.

Jeśli chodzi o dokumentację modelu, tak łatwo jest wstawić pole tekstowe, w którym można dosłownie napisać książkę o swojej metodologii, źródłach itp. Można również wstawić komentarze w dowolnej komórce. Tak więc, jeśli cokolwiek, Excel jest naprawdę dobry do ułatwienia osadzonej dokumentacji.

Sympa
źródło
1
Dziękujemy za dodatkowe punkty i za podzielenie się swoją perspektywą.
whuber
świetne punkty, dobrze słyszeć, że ktoś używa go we właściwy sposób i przynosi korzyści.
Anonimowy typ
6

Excel nie nadaje się do statystyk, ale może być świetny do eksploracyjnej analizy danych. Obejrzyj ten film przedstawiający niektóre szczególnie interesujące techniki. Zdolność programu Excel do warunkowego pokolorowania danych i dodania wykresów słupkowych w komórce może dać doskonały wgląd w strukturę surowych danych.

Zach
źródło
6

Innym dobrym źródłem informacji o tym, dlaczego nie chcesz używać programu Excel, jest:

Uzależnienie od arkuszy kalkulacyjnych

Jeśli znajdziesz się w sytuacji, w której naprawdę potrzebujesz skorzystać z programu Excel (niektóre wydziały akademickie nalegają), sugerowałbym użycie wtyczki Rexcel . Umożliwia to interfejs za pomocą programu Excel, ale używa programu R jako silnika obliczeniowego. Nie musisz znać R, aby z niego korzystać, możesz użyć rozwijanych menu i okien dialogowych, ale możesz zrobić o wiele więcej, jeśli to zrobisz. Ponieważ R wykonuje obliczenia, są one o wiele bardziej wiarygodne niż Excel, a ty masz znacznie lepsze wykresy i wykresy pudełkowe oraz inne wykresy brakujące w programie Excel. Działa nawet z automatyczną aktualizacją komórek w programie Excel (chociaż może to spowalniać pracę, jeśli masz wiele skomplikowanych analiz do ponownego obliczenia za każdym razem). Nie rozwiązuje wszystkich problemów ze strony uzależnień w arkuszu kalkulacyjnym, ale jest to ogromna poprawa w porównaniu z prostym programem Excel.

Greg Snow
źródło
1

Excel może być świetny zarówno do analizy danych eksploracyjnych, jak i analizy regresji liniowej z odpowiednimi wtyczkami. Istnieje wiele produktów komercyjnych, chociaż większość z nich pozostawia wiele do życzenia pod względem jakości produkowanych przez nich wyników (nie wykorzystują w pełni opcji wykresów Excela ani możliwości łączenia się z innymi aplikacjami Office) i ogólnie nie są tak dobre, jak mogłyby być do wizualizacji i prezentacji danych. Nie popierają również zdyscyplinowanego podejścia do modelowania, w którym (między innymi) prowadzisz dobrze udokumentowaną ścieżkę audytu swojej pracy. Oto DARMOWA wtyczka „RegressIt”, która rozwiązuje wiele z tych problemów: http://regressit.com. Zapewnia bardzo dobre wsparcie dla analizy eksploracyjnej (w tym możliwość generowania równoległych wykresów szeregów czasowych i macierzy rozrzutu z maksymalnie 50 zmiennymi), ułatwia stosowanie transformacji danych, takich jak opóźnienia, rejestrowanie i różnicowanie (które często nie są stosowane odpowiednio przez naiwnych użytkowników regresji), zapewnia bardzo szczegółowe dane wyjściowe w postaci tabeli i wykresu, które wspierają najlepsze praktyki analizy danych oraz utrzymuje arkusz kalkulacyjny ścieżki audytu, który ułatwia porównywanie modeli obok siebie, a także rejestruje, które modele zostały dopasowane w jakiej kolejności. Stanowi dobre uzupełnienie czegokolwiek, czego możesz używać, jeśli masz do czynienia z danymi wielowymiarowymi i przynajmniej część twojej pracy jest wykonywana w środowisku Excel.

Bob Nau
źródło