Do jakiego rodzaju wyboru funkcji można zastosować test Chi kwadrat?

11
  1. Tutaj pytam o to, co inni często robią, aby użyć testu chi-kwadrat do wyboru funkcji w wyniku uczenia się nadzorowanego. Jeśli dobrze rozumiem, czy testują niezależność między każdą cechą a wynikiem i porównują wartości p między testami dla każdej cechy?

  2. W http://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test ,

    Test chi-kwadrat Pearsona jest testem statystycznym stosowanym do zbiorów danych kategorycznych w celu oceny prawdopodobieństwa, że ​​wszelkie zaobserwowane różnice między zbiorami powstały przypadkowo.

    ...

    Test niezależności ocenia, czy sparowane obserwacje dwóch zmiennych, wyrażone w tabeli awaryjnej , są od siebie niezależne (np. Odpowiedzi ankietowe od osób różnych narodowości, aby sprawdzić, czy narodowość jest związana z odpowiedzią).

    Czy zatem dwie zmienne, których niezależność jest testowana w teście, muszą być kategoryczne lub dyskretne (pozwalając uporządkować oprócz kategorii), ale nie ciągłe?

  3. Od http://scikit-learn.org/stable/modules/feature_selection.html oni

    wykonaj test w zestawie danych tęczówki, aby pobrać tylko dwie najlepsze funkcje.χ2)

    W zestawie danych tęczówki wszystkie funkcje mają wartości liczbowe i ciągłe, a wynikiem są etykiety klas (kategoryczne). W jaki sposób test niezależności chi-kwadrat stosuje się do ciągłych elementów?

    Aby zastosować test niezależności chi-kwadrat do zestawu danych, najpierw przekształcamy funkcje ciągłe w funkcje dyskretne, dzieląc (tj. Najpierw dyskretyzując ciągłe domeny funkcji na przedziały, a następnie zastępując je wystąpieniami wartości funkcji w przedziałach )?

    Wystąpienia w kilku przedziałach tworzą cechę wielomianową (występują albo nie w każdym z przedziałów), więc test niezależności chi-kwadrat może mieć do nich zastosowanie, prawda?

    Przy okazji, czy możemy zastosować test niezależności chi-kwadrat do cech i wyników dowolnego rodzaju , prawda?

    W części wynikowej możemy wybrać cechy nie tylko do klasyfikacji, ale także do regresji, za pomocą testu niezależności chi-kwadrat, poprzez binowanie wyniku ciągłego, prawda?

  4. Witryna scikit learn również mówi

    Oblicz statystyki chi-kwadrat między każdą nieujemną cechą i klasą.

    Ten wynik może być użyty do wybrania cech n_funkcji o najwyższych wartościach testowej statystyki chi-kwadrat z X, które muszą zawierać tylko nieujemne cechy, takie jak booleany lub częstotliwości (np. Liczba terminów w klasyfikacji dokumentu), względem zajęcia

    Dlaczego test wymaga nieujemnych funkcji?

    Jeśli funkcje nie mają znaków, ale są kategoryczne lub dyskretne, czy test może nadal ich dotyczyć? (Zobacz moją część 1)

    Jeśli cechy są negatywne, zawsze możemy binować ich domeny i zastępować je ich wystąpieniami (dokładnie tak, jak sądzę przy zastosowaniu testu do zestawu danych tęczówki, patrz część 2), prawda?

Uwaga: Myślę, że Scikit Learn przestrzega ogólnych zasad i właśnie o to tutaj proszę. Jeśli nie, to nadal jest w porządku.

Tim
źródło

Odpowiedzi:

2

Myślę, że część twojego zamieszania dotyczy tego, jakie typy zmiennych może porównywać kwadrat chi. Wikipedia mówi o tym:

Bada hipotezę zerową stwierdzającą, że rozkład częstotliwości niektórych zdarzeń zaobserwowanych w próbce jest zgodny z określonym rozkładem teoretycznym.

W ten sposób porównuje rozkłady częstotliwości , znane również jako liczby, znane również jako liczby nieujemne. Różne rozkłady częstotliwości są zdefiniowane przez zmienną kategorialną; tzn. dla każdej wartości zmiennej jakościowej musi istnieć rozkład częstotliwości, który można porównać z innymi.

Istnieje kilka sposobów uzyskania rozkładu częstotliwości. Może pochodzić z drugiej zmiennej kategorialnej, w której zlicza się współwystępowanie z pierwszą zmienną kategorialną, aby uzyskać dyskretny rozkład częstotliwości. Inną opcją jest użycie (wielokrotnej) zmiennej liczbowej dla różnych wartości zmiennej jakościowej, może ona (np.) Sumować wartości zmiennej numerycznej. W rzeczywistości, jeśli zmienne kategorialne są binariizowane, pierwsza z nich jest specyficzną wersją późniejszej.

Przykład

Jako przykład spójrz na te zestawy zmiennych:

x = ['mouse', 'cat', 'mouse', 'cat']
z = ['wild', 'domesticated', 'domesticated', 'domesticated']

Zmienne kategoryczne xi ymoże być porównywany przez licząc współpracowników wystąpień, a to, co dzieje się z testu chi-kwadrat:

                 'mouse'    'cat'
'wild'              1         0
'domesticated'      1         2

Jednak możesz również dokonać binaryzacji wartości „x” i uzyskać następujące zmienne:

x1 = [1, 0, 1, 0]
x2 = [0, 1, 0, 1]
z = ['wild', 'domesticated', 'domesticated', 'domesticated']

Liczenie wartości jest teraz równe zsumowaniu wartości, które odpowiadają wartości z.

                 x1    x2
'wild'           1     0
'domesticated'   1     2

Jak widać, pojedyncza zmienna kategorialna ( x) lub wiele zmiennych numerycznych ( x1i x2) są równo reprezentowane przez w tabeli kontyngencji. Zatem testy chi-kwadrat można zastosować do zmiennej kategorialnej (etykieta w sklearn) w połączeniu z inną zmienną kategorialną lub wieloma zmiennymi numerycznymi (cechy w sklearn).

Pieter
źródło
Więc jeśli wybór funkcji chi_square może być użyty tylko dla funkcji nieujemnych (freq, count, ect), co to oznacza dla sytuacji, gdy istnieje funkcja o wartościach ujemnych? Przekształcić obiekt lub użyć innej metody wyboru obiektu? Załóżmy, że przeprowadziliśmy nowe badania nad zestawem danych Iris i mieliśmy funkcję mierzącą zmianę długości sepal każdego dnia. W końcu będą ujemne wartości. Roślina uschnie i kurczy się, powodując ujemną zmianę długości. Może próbujemy sklasyfikować, która to roślina, według tego, jak szybko usycha lub coś takiego.
Arash Howaida
1
Chi-kwadrat opiera się na proporcji wartości (tj. Rozkład częstotliwości). Jest to realizowane przez zsumowanie (funkcji binarnych) wartości funkcji. Zatem część całej sumy powinna mieć znaczenie. W przypadku wartości ujemnych tak nie jest.
Pieter