Przewodnik po teście sferyczności bartletta
Test sferyczności Bartletta porównuje obserwowaną macierz korelacji z macierzą tożsamości. Zasadniczo sprawdza, czy istnieje pewna redundancja między zmiennymi, które można podsumować za pomocą wielu czynników.
Hipotezą zerową testu jest to, że zmienne są ortogonalne, tj. nieskorelowane. Hipotezą alternatywną jest to, że zmienne nie są ortogonalne, to znaczy są wystarczająco skorelowane do punktu, w którym macierz korelacji znacznie odbiega od macierzy tożsamości.
Test ten jest często wykonywany przed zastosowaniem techniki redukcji danych, takiej jak analiza głównych składowych lub analiza czynnikowa, w celu sprawdzenia, czy technika redukcji danych faktycznie może w znaczący sposób skompresować dane.
Uwaga: Test sferyczności Bartletta nie jest tym samym, co test Bartletta na równość wariancji . Jest to częste zamieszanie, ponieważ oba mają podobne nazwy.
Macierz korelacji i macierz tożsamości
Macierz korelacji to po prostu macierz wartości, która pokazuje współczynniki korelacji pomiędzy zmiennymi. Na przykład poniższa macierz korelacji przedstawia współczynniki korelacji między różnymi zmiennymi dla profesjonalnych drużyn koszykówki.
Współczynniki korelacji mogą zmieniać się od -1 do 1. Im wartość jest bardziej od 0, tym wyższa korelacja między dwiema zmiennymi.
Macierz jednostkowa to macierz, w której wszystkie wartości na przekątnej wynoszą 1, a wszystkie pozostałe wartości wynoszą 0.
W tym przypadku, jeśli liczby w tej macierzy reprezentują współczynniki korelacji, oznacza to, że każda zmienna jest doskonale ortogonalna (tj. „nieskorelowana”) ze wszystkimi innymi zmiennymi i dlatego technika redukcji danych, taka jak PCA lub analiza czynnikowa, nie byłaby w stanie „ kompresować” dane w znaczący sposób.
Zatem powodem, dla którego przeprowadzamy test sferyczności Bartletta, jest upewnienie się, że macierz korelacji zmiennych w naszym zbiorze danych znacznie odbiega od macierzy tożsamości, abyśmy wiedzieli, że dane techniki redukcji są odpowiednie do użycia.
Jeśli wartość p testu sferyczności Bartletta jest mniejsza niż wybrany poziom istotności (najczęściej wybierane poziomy to 0,10, 0,05 i 0,01), wówczas nasz zbiór danych nadaje się do techniki redukcji danych.
Jak wykonać test sferyczności Bartletta w R
Aby wykonać test sferyczności Bartletta w R, możemy użyć funkcji cortest.bartlett() z biblioteki psych . Ogólna składnia tej funkcji jest następująca:
cortest.bartlett(R, n)
- R: macierz korelacji zbioru danych
- n: wielkość próbki zbioru danych
Poniższy kod demonstruje, jak przeprowadzić ten test na utworzonym przez nas fałszywym zbiorze danych:
#make this example reproducible set.seed(0) #create fake data data <- data.frame(A = rnorm(50, 1, 4), B = rnorm(50, 3, 6), C = rnorm(50, 5, 8)) #view first six rows of data head(data) #ABC #1 6.0518171 4.5968242 11.25487348 #2 -0.3049334 0.7397837 -1.21421297 #3 6.3191971 17.6481878 0.07208074 #4 6.0897173 -1.7720347 5.37264242 #5 2.6585657 2.6707352 -4.04308622 #6 -5.1598002 4.5008479 9.61375026 #find correlation matrix of data cor_matrix <- cor(data) #view correlation matrix cor_matrix #ABC #A 1.0000000 0.1600155667 0.2825308511 #B 0.1600156 1.0000000000 0.0005358384 #C 0.2825309 0.0005358384 1.0000000000 #load psych library library(psych) #perform Bartlett's Test of Sphericity cortest.bartlett(cor_matrix, n = nrow(data)) #$chisq #[1] 5.252329 # #$p.value #[1] 0.1542258 # #$df #[1] 3
Statystyka testu chi-kwadrat wynosi 5,252329, a odpowiadająca jej wartość p wynosi 0,1542258, co jest wartością nie mniejszą niż nasz poziom istotności (użyjmy 0,05). Zatem dane te prawdopodobnie nie nadają się do analizy PCA ani analizy czynnikowej.
Mówiąc prościej, trzy zmienne w naszym zbiorze danych nie są wystarczająco skorelowane, więc technika redukcji danych, taka jak PCA lub analiza czynnikowa, miałaby trudności z kompresją tych zmiennych w kombinacje liniowe zdolne uchwycić znaczącą wariancję obecną w danych.