Oprogramowanie do łatwej, ale niezawodnej eksploracji danych

20

W moich próbach walki z chaosem w arkuszach kalkulacyjnych często ewangelicznie staram się uzyskać bardziej niezawodne narzędzia, takie jak prawdziwe oprogramowanie statystyczne (R, Stata i tym podobne). Ostatnio zostałem zakwestionowany przez ten pogląd przez kogoś, kto stanowczo stwierdził, że po prostu nie nauczy się programować. Chciałbym zapewnić im narzędzia do analizy danych, które nie wymagają programowania (ale najlepiej, gdyby rozszerzyły się na programowanie, jeśli zdecydują się zanurzyć palec w wodzie później). Jakie są dostępne pakiety do eksploracji danych, które mogę polecić z prostą twarzą?

Ari B. Friedman
źródło
5
@ gsk3 - ciekawe pytanie. Zgaduję, że ten „programaphobe” nie musi radzić sobie ze skomplikowanymi arkuszami kalkulacyjnymi? może on / ona chciałaby żyć zgodnie z ich ideologią i zgłosić się na ochotnika do ciężkiej pracy przy samych arkuszach kalkulacyjnych? :)
probabilityislogic
@probabilityislogic: „Programaphobe” radzi sobie z nimi, gdy powodują problemy, ale ma całą masę sztuczek do radzenia sobie z rezultatami. Próbowałem klasycznych argumentów przeciwko arkuszowi kalkulacyjnemu, ale bezskutecznie (cóż, niektóre przydały się, ponieważ są skłonni rozważyć ten styl rozwiązania!).
Ari B. Friedman,
@ gsk3 - ah ha, więc to nie program sam w sobie jest problemem, ale ta osoba nie będzie już „ekspertem” i będzie musiała zacząć od dołu?
Prawdopodobieństwo
2
@probabilityislog - myślę, że koszty utopione stanowią dużą część problemu, tak. Niektóre z tych kosztów są niewątpliwie społeczne, a niektóre z nich to straty czasu i wydajności, podczas gdy uczą się nowego sposobu robienia rzeczy.
Ari B. Friedman,
3
Myślę, że ten komiks może być odpowiednią reprezentacją sytuacji. Jeśli polecana osoba jest całkowicie przeciwna programowaniu, może to być zbyt silna preferencja, z którą należy się zmierzyć. Lepszą strategią może być wskazanie braków analizy opartej na arkuszach kalkulacyjnych. Spróbuj na przykład w nowym pliku Excel wprowadzić wartości i11116 i zsumuj je (działa w programie Excel 2007). Następnie wyjaśnij, że żaden szanujący się pakiet statystyczny nie zapewni podobnej pomyłki bez żadnego ostrzeżenia i pracy z tego. 114
mpiktas

Odpowiedzi:

7

Programuję w Pythonie dla 95% mojej pracy, a resztę w języku R lub MATLAB lub IDL / PV-WAVE (i wkrótce SAS). Ale jestem w środowisku, w którym czas na wyniki jest często ogromnym czynnikiem napędzającym wybraną analizę, dlatego często używam również narzędzi typu „wskaż i kliknij”. Z mojego doświadczenia wynika, że ​​nie ma jednego, solidnego, elastycznego narzędzia graficznego do przeprowadzania analiz, podobnie jak nie ma jednego języka. Zazwyczaj łączę w sobie kolekcję następującego bezpłatnego i komercyjnego oprogramowania

Nie korzystałem z JMP, Stata, Statistica itp., Ale chciałbym.

Korzystanie z tych narzędzi wymaga uczenia się różnych GUI i wielu abstrakcji modelowania, co w tej chwili jest uciążliwe, ale pozwól mi później uzyskać szybsze wyniki ad hoc. Jestem w tej samej łodzi, co OP, ponieważ chociaż większość ludzi, z którymi pracuję, jest naprawdę inteligentna, nie dbają o naukę języka, ani o wiele GUI i terminologię specyficzną dla aplikacji. Dlatego pogodziłem się z tym, że Excel kieruje 90% analiz w świecie biznesu. W związku z tym zamierzam używać takich rzeczy, jak pyinex, aby umożliwić mi lepszą analizę tej samej warstwy prezentacji Excela, jakiej oczekuje większość moich kolegów.

AKTUALIZACJA: Kontynuując motyw Do-modeling-with-programing-but-make-Excel-the-prezentacja-warstwa, właśnie natknąłem się na stronę tego faceta oferującą grafikę w stylu Tufte do osadzenia w komórkach Excela. Po prostu niesamowite i darmowe!

Josh Hemann
źródło
1
Powiem, że JMP jest całkiem dobry. Nawet jeśli ktoś jest bardzo biegły w języku R, są chwile, w których JMP jest szybszym sposobem nawigacji i analizy danych.
Iterator,
8

Jeśli chodzi o eksploracyjną (ewentualnie interaktywną) analizę danych, proponuję spojrzeć na:

  • Weka , pierwotnie celuje w aplikacje do eksploracji danych, ale może być wykorzystywany do podsumowań danych.
  • Mondrian , do interaktywnej wizualizacji danych.
  • KNIME , który opiera się na idei budowania przepływów danych i jest zgodny z Weką i R.

Wszystkie trzy akceptują dane w formacie arfflub w csvformacie.

Moim zdaniem Stata nie wymaga tak dużej wiedzy programistycznej. Jest to nawet część jego atrakcyjności: większość podstawowych analiz można wykonać za pomocą działań użytkownika typu wskaż i kliknij, z oknami dialogowymi do dostosowywania określonych parametrów, powiedzmy, do przewidywania w modelu liniowym. To samo dotyczy, choć w mniejszym stopniu, R, gdy używasz zewnętrznych GUI, takich jak Rcmdr , Deducer itp., Jak powiedział @ gsk3.

chl
źródło
+1 dla Staty. Możesz wykonać wszystkie podstawowe czynności za pomocą polecenia point-n-click, ale wyrzuca ono również polecenie generowane przez point-n-click, abyś mógł się go nauczyć / zmodyfikować. Jest również podobny do arkusza kalkulacyjnego w sposobie interfejsu z jego danymi, chociaż formuł nie umieszcza się oczywiście w komórkach.
Wayne
8

Niektórzy myślą, że programowanie to po prostu wprowadzenie instrukcji wiersza poleceń. W tym momencie być może jesteś trochę zagubiony w zachęcaniu ich. Jeśli jednak używają już arkuszy kalkulacyjnych, muszą już wprowadzić formuły. Są one podobne do instrukcji wiersza poleceń. Jeśli naprawdę oznaczają, że nie chcą robić żadnego programowania w sensie logicznej i zautomatyzowanej analizy, możesz im powiedzieć, że nadal mogą przeprowadzać analizy w języku R lub Stata bez żadnego programowania.

Jeśli potrafią wykonać statystyki w arkuszu kalkulacyjnym ... wszystko, co chcą zrobić ... to wszystkie analizy statystyczne, które chcą przeprowadzić, można wykonać bez „programowania” w języku R lub Stata. Mogą uporządkować i uporządkować dane w arkuszu kalkulacyjnym, a następnie wyeksportować je jako tekst. Następnie analiza jest przeprowadzana bez żadnego programowania.

Tak czasami robię wprowadzenie do R. Żadne programowanie nie jest wymagane do wykonania analizy danych, którą można wykonać w arkuszu kalkulacyjnym.

Jeśli złapiesz ich w ten sposób, po prostu zwinąć rybę powoli ... :) Za kilka lat komplementuj ich, jakim dobrym programistą się stali.

Możesz także pokazać ten dokument współpracownikom lub przynajmniej przeczytać go samodzielnie, aby lepiej przedstawić swoje uwagi.

Jan
źródło
1
Dobre punkty, ale są tu pewne zastrzeżenia: Excel zawiera podpowiedzi, które pojawiają się podczas wprowadzania formuły do ​​komórki, dzięki czemu znacznie łatwiej jest „zaprogramować” proste zadania. Możliwe, że osoba obok ciebie może pomóc, jeśli utkniesz, ponieważ istnieje wielu zaawansowanych użytkowników programu Excel. I Excel jest instalowany. Przekonanie kogoś do wypróbowania R wymaga pomocy w skonfigurowaniu go i nauczeniu się, jak korzystać z oprogramowania typu open source (i jakich forów przeszukiwać, które z wielu pakietów bootstrap należy użyć itp.). Programowanie jest w pewnym sensie łatwą częścią. To ekosystem jest najtrudniejszy.
Josh Hemann
Poza tym w Excelu nie ma prawdziwych problemów z formatowaniem ... W R czasami jeden pakiet używa xts, inny data.frames ... to jest bałagan dla początkujących, to prawda
RockScience
fRed, zgadzam się, że mogą wystąpić problemy z formatowaniem danych, ale pamiętaj, że moja odpowiedź została zakwalifikowana jako analiza, którą można już wykonać w arkuszu kalkulacyjnym. To nie jest wiele zróżnicowanych analiz i ogólnie byłoby w jednym formacie danych.
Jana
„Programowanie” w R jest nieco większe niż w przypadku Excela, a to są rzeczy, które doprowadzają użytkowników do szału. Jeśli R miałby najwyższej klasy GUI podobny do tabeli przestawnej, być może. Ale do tego czasu ...
Ralph Winters
8

Zamieszczę tutaj boisko do JMP. Mam kilka powodów, dla których to moje preferowane narzędzie do eksploracji danych innych niż programowanie:

  1. Naprawdę dobre narzędzia do wizualizacji. Bardziej podstawowe wykresy typu EDA, są tak dobre jak R i znacznie łatwiejsze w użyciu do tworzenia czegoś zbliżającego się do wykresu gotowego do publikacji. Ma również bardzo elastyczne narzędzia wizualizacji, dzięki czemu możesz przekręcać i zginać swoje dane, aby uzyskać pełną historię.
  2. Zaskakująco silny. Dopiero po ... czwartej klasie szkoły podstawowej znalazłem coś, czego JMP nie mógł zrobić od razu po wyjęciu z pudełka. To nie jest złe.
  3. Skryptowalność. To dla mnie wielka rzecz. Główną słabością GUI jest to, że bardzo trudno jest odtworzyć to, co zrobiłeś. JMP pozwala skryptować GUI - a generowanie tych skryptów jest bardzo proste.
Fomite
źródło
+1 dla JMP. To najlepsze podstawowe GUI statystyk, jakich kiedykolwiek używałem.
Zach.
1
Zgadzam się (dobrze z punktem 1). Pod pewnymi względami jest nawet lepszy niż R dla EDA i może być ładnie włączony w iteracyjny przepływ pracy. Jeśli ktoś już działa bez R, to JMP jest rozsądnym sposobem pracy bez dodawania R. Ponieważ może również łączyć się z R, programista R może tworzyć narzędzia, które następnie podłączają się do JMP, pozwalając Eloi, errr, użytkownikowi kontynuować wierzyć, że wszystko jest po prostu eleganckie.
Iterator
6

Mogę polecić Tableau jako dobre narzędzie do eksploracji i wizualizacji danych, po prostu ze względu na różne sposoby eksploracji i przeglądania danych, po prostu przeciągając i upuszczając. Wykresy są dość ostre i można je łatwo wydrukować do formatu PDF w celu prezentacji. Jeśli chcesz, możesz go rozszerzyć o „programowanie”. Regularnie używam tego narzędzia wraz z „R” i SAS i wszystkie one działają dobrze razem.

Ralph Winters
źródło
3

Jak powiedział John, eksploracja danych nie wymaga dużo programowania w R. Oto lista poleceń eksploracji danych, które możesz wydawać ludziom. (Właśnie to wymyśliłem; na pewno możesz to rozwinąć.)

Eksportuj dane z dowolnego pakietu, w którym się znajduje. (Eksportowanie danych numerycznych bez cudzysłowów jest wygodne.) Następnie odczytaj dane w R.

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

Zrób stół.

table(ChickWeight$Diet)

Niech R zgadnie, jaki rodzaj grafiki ci dać. Czasami działa bardzo ładnie.

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

Kilka konkretnych funkcji drukowania działa po prostu na pojedynczych zmiennych.

hist(ChickWeight$weight)

Biorąc podzbiory

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

Składnia podobna do SQL na wypadek, gdyby ludzie byli do tego przyzwyczajeni (więcej tutaj )

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

PCA (miałbyś oczywiście więcej niż dwie zmienne.)

princomp(~ ChickWeight$weight + ChickWeight$Time)
Thomas Levine
źródło
3

To bardziej lament niż odpowiedź ...

Najlepsze oprogramowanie, jakie widziałem w tym celu, to Arc , który jest zbudowany na Xlisp-Stat. To fantastyczne oprogramowanie do eksploracji danych z dużą ilością wbudowanej grafiki interaktywnej, a także wieloma możliwościami wnioskowania statystycznego. Moim zdaniem nic więcej nie zbliżyło się do łatwości użycia do eksploracji danych i możliwości dalszego rozszerzenia go o programowanie Lisp. Moim zdaniem, interaktywność w R dopiero zaczyna być wykorzystywana w sposób podobny do Arc, dziesięć lat później. I o ile mi wiadomo, nikt jeszcze nie wykorzystał tych możliwości do zbudowania interaktywnego interfejsu, który jest tak przydatny jak Arc.

Niestety tak naprawdę nigdy się nie przyłapał, dlatego programiści prawie wszyscy przeszli na pracę w języku R; ostatnio zaktualizowano w lipcu 2004 r. Wersje na komputery PC i Linux / Unix nadal działają i mogą być warte wypróbowania, w zależności od potrzeb; w przypadku komputerów Mac najlepszą opcją jest wypróbowanie wersji Linux / Unix pod X11, mam to działa na kilku systemach w ten sposób. Wspomniana na stronie wersja dla komputerów Mac działa tylko na komputerach Mac „Classic”.

Wspomnę też krótko o Mondrianie , którego próbowałem tylko krótko, ale wydaje się, że ma doskonałą graficzną interaktywność do eksploracji danych, chociaż (jak pamiętam) nie jest to łatwy sposób na rozszerzenie umiejętności lub wnioskowanie statystyczne.

Aaron - Przywróć Monikę
źródło
Nie słyszałem o Arc, ale zamierzam to sprawdzić. Dzięki.
Ari B. Friedman,
1
(+1) Dobrze usłyszeć ze świata Lisp. Jestem też fanem xlispstat (i doceniam to, że Luke Tierney jest tak aktywny w projekcie R).
chl
3

Nowym oprogramowaniem, które wygląda obiecująco do tego celu, jest Deducer , zbudowany na podstawie R. Niestety, ponieważ jest nowy, podejrzewam, że nie obejmuje on jeszcze wielu pytań, które ludzie mogą zadać, ale spełnia on oczekiwania - kryterium wody prowadzące ludzi do prawdziwej paczki, jeśli zdecydują później.

Używałem również JMP w przeszłości, który miał niezłą interaktywność. Martwię się, że niektóre interfejsy mogą być zbyt skomplikowane do tych celów. I jest niewolny, co utrudnia potencjalnym uchodźcom z arkusza kalkulacyjnego wypróbowanie kaprysu.


Jest też grzechotka, która wygląda nieco obiecująco.

Ari B. Friedman
źródło
Odnośnie JMP - jeśli się nie mylę, istnieją wersje próbne i licencje akademickie, które są w rozsądnym zakresie.
Iterator,
3

Do badania tego, co zawierają dane i ich czyszczenia, były Google Refine, teraz Open Refine , jest całkiem dobrym GUI. Jest o wiele bardziej wydajny do przygotowania i czyszczenia niż coś takiego jak Excel. Następnie przejdź do czegoś takiego jak R-Commander do swoich analiz.

Jan
źródło
2

Każdy, kto odpowiada na R lub którykolwiek z „GUI”, nie przeczytał pytania.

Istnieje specjalnie zaprojektowany do tego program o nazwie JMP. Tak, jest drogi, choć ma bezpłatny okres próbny i jest niesamowicie tani dla studentów lub pracowników uczelni (np. 50 $ taniej).

Istnieje również RapidMiner, który jest GUI opartym na przepływie pracy do eksploracji danych i analizy statystycznej. To bezpłatne i otwarte oprogramowanie.

Neil McGuigan
źródło
1
@Neil Dlaczego tak jest? OP określił „ale idealnie, który rozciągałby się na programowanie ...”. R został podłączony do prawie wszystkich komercyjnych (np. SPSS, JMP, Statistica) lub darmowych (Knime, Rapidminer) programów statystycznych, a Rserve może być używany jako backend do komunikacji z R (np. Z oprogramowaniem plink do badań genetycznych), i jest wykorzystywany do tego celu. Darmowa wersja próbna JMP nie pozwala na pracę z zewnętrznymi zestawami danych, czy się mylę? (Co ciekawe, każdy z nas, którzy odpowiedzieli R, a alternatywą oprogramowanie zostały downvoted.)
CHL
lubię R i jestem za tym, ale ludzie, którzy chcą nauczyć się statystyk / analizy danych i nie wiedzą, jak programować, naprawdę nie mogą ich używać. i grałem wszystkimi jego guis i są one po prostu okropne w porównaniu do jmp. czekam tylko na dzień, w którym R otrzyma GUI jak jmp, wtedy wszystko będzie dobrze we wszechświecie.
Neil McGuigan,
-1 za sugestię, że ludzie nie czytają pytań przed udzieleniem odpowiedzi i za brak rzeczywistych argumentów, dlaczego R jest gorszy niż JMP lub RapidMiner. Zauważ, że ogólnie zgadzam się, że R nie jest odpowiedzią na wszystko, ale ten temat jest nieco sprzeczny z potencjałem, aby stać się naprawdę paskudnym. Stąd opinia.
mpiktas
R jest świetny, ale nie jest łatwy. O to prosił w tytule.
Neil McGuigan,
@Neil, tak, ale można argumentować, że nie ma czegoś takiego jak łatwe, ale niezawodne badanie danych.
mpiktas,
1

Cóż, to szczególne narzędzie jest popularne w mojej branży (choć z założenia nie jest specyficzne dla branży): http://www.umetrics.com/simca

Umożliwia wykonywanie wielowymiarowej analizy ukrytej zmiennej (PCA i PLS) i obejmuje wszystkie towarzyszące wykresy interpretacyjne / obliczenia i narzędzia zapytania, takie jak wykresy wkładu, wykresy o zmiennym znaczeniu, obliczenia Q2 itp.

Jest często stosowany w wysokowymiarowych (i często wysoce skorelowanych / kolinearnych) przemysłowych zestawach danych, w których metody typu OLS / MLR są nieodpowiednie (np. Informacje z zestawu czujników, informacje z dziennika itp.).

Działa w środowisku w pełni GUI, a użytkownik nie musi pisać ani jednego wiersza kodu. Niestety nie jest darmowy i nie można go rozszerzyć za pomocą programowania.

Gilead
źródło
1

Moim zdaniem, jeśli sam nie kodujesz testu, jesteś podatny na błędy i niezrozumienie wyników.

Myślę, że powinieneś polecić im zatrudnienie statystyk, który ma umiejętności komputerowe.

Jeśli ma to zawsze robić to samo, to rzeczywiście możesz użyć małego narzędzia (blackbox), które zrobi to samo. Ale nie jestem pewien, czy nadal nazywa się to eksploracją danych.

RockScience
źródło
1
W przybliżeniu zgadzam się z tym sentymentem, ale nie sądzę, aby ten wysoki pogląd był naprawdę możliwy w wielu sytuacjach.
Ari B. Friedman,
1

Poleciłbym pakiet R Johna Foxa o nazwie Dowódca R:

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

Tworzy interfejs użytkownika podobny do SPSS (lub podobnego), który jest świetny dla początkujących i nie wymaga od użytkownika wprowadzania żadnego kodu. Wszystko to odbywa się za pomocą rozwijanych pól (możesz nawet zminimalizować konsolę R podczas pracy).

Dla mnie zaletą tego pakietu jest to, że możesz skorzystać ze wszystkich wielkich możliwości obliczeniowych R, mając jednocześnie interfejs użytkownika, który jest całkowicie operacyjny dla początkujących.

Kapitanie Murphy
źródło
1

Innym przydatnym narzędziem, chociaż tylko dla systemu Windows, jest Spotfire - uważam, że jest on bardzo przydatny do szybkiego przeglądania różnych histogramów i wykresów rozrzutu dla pojedynczych i par zmiennych. Narzędzie badawcze, które pomaga klasyfikować pojedyncze zmienne oraz pary w oparciu o proste statystyki - Hierarchical Clustering Explorer od HCIL. Przydaje się znalezienie najciekawszych zmiennych / par zmiennych.

ryxoid
źródło