Kiedyś natknąłem się na pewien rodzaj wykresu dla danych kategorycznych (tj. Tabel awaryjnych) w Internecie, który bardzo mi się podobał, ale nigdy więcej go nie znalazłem i nawet nie wiem, jak się nazywa. Zasadniczo było to jak wykres sitowy, ponieważ wysokości rzędów i szerokości kolumn były skalowane względem marginalnych prawdopodobieństw. Zatem każde pole zostało skalowane do względnej częstotliwości oczekiwanej w ramach niezależności. Jednak różniła się od wykresu sitowego tym, że zamiast wykreślania kreskowania w każdym polu, wykreśliła punkt (jak na wykresie rozrzutu) w miejscu losowo wybranym z dwuwymiarowego munduru dla każdej obserwacji. W ten sposób gęstość punktów odzwierciedla, jak dobrze obserwowane liczby odpowiadają oczekiwanym. To znaczy, jeśli gęstość była podobna w każdym pudełku, model zerowy jest rozsądny, ) może nie być bardzo prawdopodobne w modelu zerowym. Ponieważ punkty są wykreślane zamiast kreskowania, istnieje prosta i intuicyjna zgodność między wykreślonym elementem a obserwowaną liczbą, co niekoniecznie jest prawdziwe w przypadku wykresów sitowych (patrz poniżej). Ponadto losowe rozmieszczenie punktów nadaje fabule wrażenie „organicznej”. Ponadto kolor można wykorzystać do wyróżnienia pól / komórek, które silnie odbiegają od modelu zerowego, a matrycę wykresu można wykorzystać do zbadania parowania zależności między wieloma różnymi zmiennymi, aby można było uwzględnić zalety podobnych wykresów.
- Czy ktoś wie, jak nazywa się ten spisek?
- Czy istnieje pakiet / funkcja, która łatwo to zrobi w R lub innym oprogramowaniu (np. Mondrian)? Nie mogę znaleźć czegoś takiego w vcd . Oczywiście może być zakodowane na sztywno od zera, ale byłby to ból.
Oto prosty przykład wykresu sitowego, zauważ, że łatwo jest zobaczyć, w jaki sposób oczekiwane liczby dla różnych kategorii powinny się rozegrać w modelu zerowym, ale trudno pogodzić kreskowanie z rzeczywistymi liczbami, uzyskując wykres, który nie jest zupełnie jak łatwe do odczytania i estetycznie ohydne:
B ~B
A 38 4
~A 3 19
Jeśli chodzi o wartość, wykres mozaiki ma coś przeciwnego: chociaż łatwiej jest zobaczyć, które komórki mają „za dużo” lub „za mało” liczb (w stosunku do modelu zerowego), trudniej jest rozpoznać, jakie są relacje między oczekiwane liczby byłyby. W szczególności szerokości kolumn są skalowane w stosunku do krańcowego prawdopodobieństwa, ale wysokości wierszy nie są, co czyni tę informację prawie niemożliwą do wyodrębnienia.
A teraz coś z zupełnie innej beczki...
- Czy ktoś wie, skąd pochodzi konwencja używania niebieskiego dla „zbyt wielu” i czerwonego dla „zbyt niewielu”? To zawsze było dla mnie sprzeczne z intuicją. Wydaje mi się, że wyjątkowo wysoka gęstość (lub zbyt wiele obserwacji) idzie w parze z gorącym , a niska gęstość z zimnym , i że (przynajmniej w oświetleniu scenicznym) czerwienie są ciepłe, a niebieskie chłodniejsze .
Aktualizacja: Jeśli dobrze pamiętam, fabuła, którą widziałem, znajdowała się w pdf rozdziału (wprowadzenia lub ch1) z książki, która została bezpłatnie udostępniona online jako zwiastun marketingowy. Oto zgrubna wersja pomysłu, który kodowałem od zera:
nawet przy tej surowej wersji myślę, że jest łatwiejsza do odczytania niż fabuła sitowa i pod pewnymi względami łatwiejsza niż fabuła mozaikowa (np. Łatwiej rozpoznać jakie relacje między częstotliwościami komórkowymi byłyby niezależne). Byłoby miło mieć funkcję, która: a. zrobiłby to automatycznie z dowolną tabelą zdarzeń awaryjnych, b. może być użyty jako element konstrukcyjny matrycy wykresu, oraz c. miałby fajne funkcje, które pochodzą z powyższych wykresów (jak znormalizowana legenda reszt na wykresie mozaiki).
shading.points()
Zrobić to, co chcesz, w ramach struktury strucplot, która była cytowana powyżej i jest dostępna jako winieta w vcd
pakiecie.
R
funkcjaassocplot
jest zbliżona do tego, co masz na myśli? Jeśli nie, założę się, żeR
programista może zmodyfikować to albomosaicplot
zrobić to, co chcesz.