Zdaję sobie sprawę z tego, że zmienne kategorialne o poziomach k powinny być kodowane zmiennymi k-1 w kodowaniu fikcyjnym (podobnie w przypadku wielowartościowych zmiennych jakościowych). Zastanawiałem się, w jakim stopniu problem polega na kodowaniu jednorazowym (tj. Zamiast tego przy użyciu zmiennych k) zamiast kodowaniu fikcyjnym dla różnych metod regresji, głównie regresji liniowej, karanej regresji liniowej (Lasso, Ridge, ElasticNet), opartym na drzewach (losowe lasy , maszyny zwiększające gradient).
Wiem, że w regresji liniowej występują problemy z wieloma kolinearnością (chociaż w praktyce dopasowałem regresję liniową za pomocą OHE bez żadnych problemów).
Czy jednak należy zastosować kodowanie pozorowane we wszystkich i jak błędne byłyby wyniki, gdyby zastosowano kodowanie jednorazowe?
Skupiam się na prognozowaniu w modelach regresji z wieloma zmiennymi kategorialnymi (o wysokiej kardynalności), więc nie interesują mnie przedziały ufności.
źródło
Odpowiedzi:
Problem z reprezentowaniem zmiennej kategorialnej, która ma poziomy ze zmiennymi w regresji, polega na tym, że jeśli model ma również stały składnik, to warunki będą liniowo zależne, a zatem model będzie niemożliwy do zidentyfikowania. Na przykład, jeśli modelem jest i , wówczas dowolny wybór wektora parametru jest nie do odróżnienia od . Więc chociaż oprogramowanie może dać ci szacunki dla tych parametrów, nie są one jednoznacznie określone i dlatego prawdopodobnie nie będą bardzo przydatne.k k μ=a0+a1X1+a2X2 X2=1−X1 (β0,β1,β2) (β0+β2,β1−β2,0)
Penalizacja sprawi, że model będzie identyfikowalny, ale nadmiarowe kodowanie nadal będzie wpływać na wartości parametrów w dziwny sposób, biorąc pod uwagę powyższe.
Wpływ redundantnego kodowania na drzewo decyzyjne (lub zbiór drzew) prawdopodobnie będzie przeważać daną cechę w stosunku do innych, ponieważ jest reprezentowana przez dodatkową redundantną zmienną, a zatem będzie wybierana częściej niż w innym przypadku dzieli się.
źródło
Kodiolog miał świetną odpowiedź (+1). Kodowanie „na gorąco” i „pozorowane” metody kodowania są takie same, pod względem matrycy projektowej znajdują się w tej samej przestrzeni, na różnych podstawach. (chociaż kodowanie jednorazowe ma więcej kolumn)
Dlatego jeśli skupiasz się na dokładności zamiast interpretacji. Dwie metody kodowania nie mają znaczenia.
źródło
Czuję najlepszą odpowiedzią na to pytanie jest pochowany w komentarzach przez @MatthewDrury, w którym stwierdza, że nie ma różnicy, i że należy użyć pozornie nadmiarowe kolumny w każdym regularyzowanej podejścia. @ Rozumowanie MatthewDrury brzmi
Myślę, że ma rację.
źródło
k
poziomami lub zk-1
poziomami w zależności od sytuacji. Czy oprócz twojego oświadczenia (uregulowane / nieregulowane), czy byłyby wytyczne dotyczące postępowania we wszystkich przypadkach?