Mam ramkę danych z wieloma obserwacjami i wieloma zmiennymi. Niektóre z nich są kategoryczne (nieuporządkowane), a inne są numeryczne.
Szukam skojarzeń między tymi zmiennymi. Byłem w stanie obliczyć korelację dla zmiennych numerycznych (korelacja Spearmana), ale:
- Nie wiem, jak zmierzyć korelację między nieuporządkowanymi zmiennymi kategorialnymi.
- Nie wiem, jak zmierzyć korelację między nieuporządkowanymi zmiennymi kategorycznymi a zmiennymi numerycznymi.
Czy ktoś wie, jak można to zrobić? Jeśli tak, to czy są funkcje R implementujące te metody?
r
correlation
categorical-data
continuous-data
mixed-type-data
Clément F.
źródło
źródło
Odpowiedzi:
To zależy od tego, jaki sens korelacji chcesz. Po uruchomieniu prototypowej korelacji momentu Pearsona z produktem otrzymujesz miarę siły powiązania i test znaczenia tego powiązania. Częściej jednak test istotności i miara wielkości efektu różnią się.
Testy istotności:
Wielkość efektu (siła skojarzenia):
źródło
Hmisc::rcorr
robi to pięknie i możemy to sprawdzić (dla ramki danych zmiennych mieszanych) w następujący sposób:as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$P)
as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$r)
Już wcześniej widziałem następujący ściąg:
https://stats.idre.ucla.edu/other/mult-pkg/whatstat/
Może ci się przydać. Ma nawet linki do określonych bibliotek R.
źródło
Jeśli chcesz macierz korelacji zmiennych jakościowych, możesz użyć następującej funkcji otoki (wymagającej pakietu „vcd”):
Gdzie:
vars
jest wektorem łańcuchowym zmiennych kategorialnych, które chcesz skorelowaćdat
jest ramką danych zawierającą zmienneWynikiem jest macierz V Cramera.
źródło
Taka analiza może być postrzegana jako uogólnienie analizy wielokrotnej korespondencji i jest znana pod wieloma nazwami, takimi jak analiza korelacji kanonicznej, analiza jednorodności i wiele innych. Implementacja w R znajduje się w
homals
pakiecie (w CRAN). przeglądanie niektórych z tych nazw da mnóstwo informacji, jest pełna książka: Albert Gifi, „Nieliniowa analiza wielowymiarowa”. Powodzenia!źródło
Miałem podobny problem i wypróbowałem test chi-kwadrat, jak to sugerowałem, ale byłem bardzo zdezorientowany w ocenie wartości P w stosunku do hipotezy NULL.
Wyjaśnię, jak interpretowałem zmienne kategoryczne. Nie jestem pewien, czy ma to znaczenie w twoim przypadku. Miałem zmienną odpowiedzi Y i dwie zmienne predykcyjne X1 i X2, gdzie X2 jest zmienną kategorialną z dwoma poziomami, powiedzmy 1 i 2. Próbowałem dopasować model liniowy
Chciałem jednak zrozumieć, jak różny poziom X2 pasuje do powyższego równania. Natknąłem się na funkcję R przez ()
To, co robi ten kod, próbuje dopasować się do Modelu liniowego dla każdego poziomu X2. To dało mi całą wartość P i R-kwadrat, resztkowy błąd standardowy, który rozumiem i mogę interpretować.
Ponownie nie jestem pewien, czy tego właśnie chcesz. W pewnym stopniu porównałem różne wartości X2 w przewidywaniu Y.
źródło
Aby zmierzyć siłę połączenia między dwiema zmiennymi kategorialnymi, wolałbym raczej zastosować tabulator krzyżowy ze statystyką chisquare
aby zmierzyć siłę połączenia między zmienną liczbową a kategoryczną, możesz użyć porównania średniego, aby sprawdzić, czy zmienia się ono znacząco z jednej kategorii do innej
źródło