Pierwsze szybkie spojrzenie na zestaw danych


10

Proszę wybaczyć moją ignorancję, ale ...

Ciągle znajduję się w sytuacji, w której mam do czynienia z szeregiem nowych danych, które udało mi się znaleźć. Te dane zwykle wyglądają mniej więcej tak:

Date     Number1  Number2  Category1  Category2
20120125      11      101        Dog      Brown
20120126      21       90        Cat      Black
20120126      31      134        Cat      Brown
(...)

Zwykle na pierwszy rzut oka nie wiem, czy są tu jakieś trendy. Korelacje między różnymi kolumnami mogą nie być bardzo znaczące, ale byłbym zachwycony, gdybym nie musiał ręcznie tworzyć wykresu dla każdej możliwej kombinacji kolumn / kategorii.

Czy istnieje narzędzie, które zaakceptowałoby tabelę danych wraz z informacją, które kolumny należy traktować jako liczby, daty i kategorie, a następnie przystąpić do kreślenia:

  • korelacje między każdą z dwóch kolumn numerycznych
  • korelacje między każdą z dwóch kolumn numerycznych, z osobnymi liniami trendu dla każdej kategorii
  • każda kolumna liczbowa jako szereg czasowy,
  • każda kolumna liczbowa jako szereg czasowy, rozdzielone według kategorii,
  • itp.

Ostatecznie wygenerowałoby to dużą liczbę wykresów, z których większość wykazywałaby jedynie hałas. Idealnie, narzędzie może oceniać wykresy na podstawie korelacji, a na końcu wyświetlać pokaz slajdów rozpoczynający się od wykresów o najwyższym wyniku. Byłby to bardzo niedoskonały, ale użyteczny pierwszy rzut oka na zestaw danych.

Więc? Czy istnieje narzędzie, którego wszyscy używają do tego, a ja po prostu nie wiem o tym, czy jest to coś, co musimy zrobić?


Dziękuję wszystkim bardzo za odpowiedzi. Nie spieszę się, aby przetestować każde z narzędzi wymienionych w moich danych. Po moich testach wybiorę odpowiedź. Chyba szkoda, że ​​nie mogę wybrać więcej niż jednego :)
postrational

Odpowiedzi:


15

@Ondrej i @Michelle podali tutaj kilka dobrych informacji. Zastanawiam się, czy mogę przyczynić się, zajmując się niektórymi punktami niewymienionymi gdzie indziej. Nie biłbym się za to, że nie jestem w stanie dużo zebrać danych w formie tabelarycznej, tabele ogólnie nie są zbyt dobrym sposobem prezentacji informacji (por. Gelman i in., Przekształcanie tabel w wykresy ). Z drugiej strony, prośba o narzędzie, które automatycznie wygeneruje wszystkie właściwe wykresy, które pomogą ci odkryć nowy zestaw danych, jest prawie jak prośba o narzędzie, które zrobi za ciebie myślenie. (Nie bierz tego w niewłaściwy sposób, rozumiem, że twoje pytanie wyjaśnia, że ​​nie posuwasz się tak daleko; mam na myśli, że tak naprawdę nigdy nie będzie takiego narzędzia.) Można znaleźć miłą, związaną z tym dyskusję. tutaj .

Powiedziawszy to, chciałem trochę porozmawiać o działkach, które możesz wykorzystać do eksploracji danych. Działki wymienione w pytaniu byłyby dobrym początkiem, ale możemy być w stanie to nieco zoptymalizować. Na początek tworzenie „dużej liczby wykresów” skorelowanych par zmiennych może nie być idealne. Wykres rozrzutu wyświetla tylko marginalną zależność między dwiema zmiennymi. Ważne relacje często można ukryć w kombinacji wielu zmiennych. Tak więc pierwszym sposobem na rozwinięcie tego podejścia jest utworzenie macierzy rozrzutuktóry wyświetla jednocześnie wszystkie pary wykresów rozrzutu. Matryce wykresów rozrzutu można ulepszać na różne sposoby: np. Można je łączyć z jednowymiarowymi wykresami gęstości jądra dla rozkładu każdej zmiennej, różne markery / kolory mogą być używane do kreślenia różnych grup, a możliwe relacje nieliniowe można ocenić poprzez nałożenie mniejszego dopasowania. scatterplot.matrixFunkcja w pakiecie samochodowym w badania można zrobić wszystkie te rzeczy ładnie (przykładem mogą być postrzegane w połowie drogi w dół strony połączone powyżej).

Jednak chociaż matryce wykresów rozrzutu są dobrym początkiem, nadal wyświetlają jedynie projekcje krańcowe. Istnieje kilka sposobów wyjścia poza to. Jednym z nich jest eksploracja trójwymiarowych wykresów za pomocą pakietu rgl w R. Innym podejściem jest użycie wykresów warunkowych; koploty mogą pomóc w relacjach między 3 lub 4 zmiennymi jednocześnie. Szczególnie przydatnym podejściem jest interaktywne stosowanie macierzy wykresów rozrzutu(choć będzie to wymagać więcej wysiłku, aby się uczyć), np. poprzez „szczotkowanie”. Pędzel pozwala podświetlić punkt lub punkty w jednej ramce matrycy, a punkty te zostaną jednocześnie podświetlone we wszystkich innych ramkach. Przesuwając pędzel, możesz zobaczyć, jak wszystkie zmienne zmieniają się razem. AKTUALIZACJA: Inną możliwością, o której zapomniałem wspomnieć, jest użycie wykresu współrzędnych równoległych . Ma to tę wadę, że nie rozróżnia zmiennej odpowiedzi, ale może być przydatne na przykład w badaniu korelacji między zmiennymi X.

Chciałbym również pochwalić za zbadanie danych posortowanych według zebranych dat. Chociaż dane są zawsze gromadzone w miarę upływu czasu, ludzie nie zawsze to robią. Wykreślenie wykresu liniowego jest przyjemne, ale sugerowałbym uzupełnienie go o wykresy autokorelacji i autokorelacji częściowej . W R, funkcje te są acfi pacfodpowiednio.

Rozumiem, że to wszystko nie do końca odpowiada na twoje pytanie w sensie dostarczenia narzędzia, które automatycznie utworzy dla ciebie wszystkie fabuły, ale jedną z implikacji jest to, że tak naprawdę nie musiałbyś tworzyć tylu fabuł, ile się boisz. , np. macierz wykresu rozrzutu jest tylko jednym wierszem kodu. Ponadto w języku R powinno być możliwe napisanie dla siebie funkcji / kodu wielokrotnego użytku, który częściowo zautomatyzowałby niektóre z nich (np. Mogę sobie wyobrazić funkcję, która pobiera listę zmiennych i porządkuje datę, sortuje je wyskakuje nowe okno dla każdego z wykresami linii, acf i pacf).


Jak zawsze doskonałe punkty. :)
Michelle

2
(+1) Nie przegap ggobi i marginal.plotod latticeExtra opakowaniu.
chl

7

Korelacje między każdą parą kolumn liczbowych można pokazać w macierzy korelacji. Nie musi być czysto numeryczny, może być oznaczony kolorami, aby umożliwić szybką ocenę. Sprawdź pakiet Corrplot dla R.

Do dalszej analizy Rattle jest dość przydatnym narzędziem GUI.

Jeśli przeszukujesz Stack Exchange za pomocą słów kluczowych „corrplot” lub raczej „Grzechotka”, znajdziesz kilka tematów, w których omawiane są te narzędzia i ich alternatywy. Jak ten jeden .

Powodzenia!


4

@Ondrej udzielił dobrych rad, dlatego skupię się na twoim pytaniu, w jaki sposób oprogramowanie traktuje importowane dane. W przypadku danych znakowych „Kategoria 1” i „Kategoria 2” oprogramowanie automatycznie traktuje je jako grupy lub czynniki, ponieważ nie można wykonywać operacji matematycznych na tych częściach danych. Oznacza to, że nie będziesz mieć możliwości wpisywania czegokolwiek z tych kategorii (alternatywnie otrzymasz błąd, jeśli spróbujesz, jeśli używasz składni lub wiersza poleceń zamiast systemu opartego na menu) do analizy, która wymaga liczb.

W przypadku danych takich jak „Numer 1” i „Numer 2” oprogramowanie odczytuje je jako liczby. Jeśli masz jakieś grupy / czynniki, które zawierają dane czysto numeryczne, musisz poinstruować oprogramowanie, że są to grupy / czynniki.

Czasami daty mogą być źle importowane do oprogramowania statystycznego. Po zaimportowaniu danych powinieneś zobaczyć, że typ danych w twoim oprogramowaniu statystycznym pokazuje jakąś formę typu „data” dla „Data”. Jeśli widzisz typ danych jako inny niż data, masz problem. Nawet jeśli jest wyświetlana jako data, sprawdź import niektórych wierszy, w których masz daty, takie jak dni 13 lub 25 miesiąca - w zależności od konfiguracji oprogramowania, czasami formatowanie daty amerykańskiej / brytyjskiej powoduje niepoprawne dane podczas importu , z powodu odwrócenia dnia / miesiąca.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.