Sunt conștient de faptul că variabilele categorice cu niveluri k ar trebui să fie codificate cu variabile k-1 în codificare fictivă (în mod similar pentru variabilele categorice cu valori multiple). Mă întrebam cât de multă problemă are o codificare one-hot (adică folosind k variabile în loc) față de codificarea fictivă pentru diferite metode de regresie, în principal regresie liniară, regresie liniară penalizată (Lasso, Ridge, ElasticNet), bazată pe copaci, creșterea gradientului mașini).

regresie

Știu că în regresia liniară apar probleme de multi-colinearitate (chiar dacă în practică am regresat liniar folosind OHE fără probleme).

Cu toate acestea, este necesară utilizarea codificării fictive în toate și cât de greșite ar fi rezultatele dacă se folosește o codificare cu un singur hot?

Mă axez pe predicție în modele de regresie cu variabile categorice multiple (cu cardinalitate ridicată), așa că nu mă interesează intervalele de încredere.

3 Răspunsuri 3

Problema reprezentării unei variabile categorice care are niveluri $ k $ cu variabile $ k $ în regresie este că, dacă modelul are și un termen constant, atunci termenii vor fi dependenți liniar și, prin urmare, modelul va fi neidentificabil. De exemplu, dacă modelul este $ μ = a_0 + a_1X_1 + a_2X_2 $ și $ X_2 = 1 - X_1 $, atunci orice alegere $ (β_0, β_1, β_2) $ a vectorului parametru nu se distinge de $ (β_0 + β_2, \; β_1 - β_2, \; 0) $. Deci, deși software-ul poate fi dispus să vă ofere estimări pentru acești parametri, aceștia nu sunt determinați în mod unic și, prin urmare, probabil că nu vor fi foarte utili.

Penalizarea va face modelul identificabil, dar codificarea redundantă va afecta în continuare valorile parametrilor în moduri ciudate, având în vedere cele de mai sus.

Efectul unei codificări redundante asupra unui arbore de decizie (sau ansamblu de arbori) va fi probabil să suprapondereze caracteristica în cauză în raport cu altele, deoarece este reprezentată cu o variabilă redundantă suplimentară și, prin urmare, va fi aleasă mai des decât ar fi altfel pentru despicături.