Prognozowanie za pomocą funkcji ciągłych i kategorycznych

26

Niektóre techniki modelowania predykcyjnego są bardziej zaprojektowane do obsługi ciągłych predyktorów, podczas gdy inne są lepsze do obsługi zmiennych jakościowych lub dyskretnych. Oczywiście istnieją techniki przekształcania jednego typu na inny (dyskretyzacja, zmienne fikcyjne itp.). Czy są jednak jakieś techniki modelowania predykcyjnego, które zostały zaprojektowane do obsługi obu typów danych wejściowych w tym samym czasie bez zwykłego przekształcania rodzaju funkcji? Jeśli tak, to czy te techniki modelowania działają lepiej na danych, do których są bardziej naturalne?

Najbliższa rzecz, że wiem to, że zwykle drzewa decyzyjne obsługi danych dyskretnych dobrze i obsługi danych, bez konieczności ciągłych górę przednią dyskretyzacji. Jednak nie do końca tego szukałem, ponieważ efektywne podziały na ciągłe funkcje są tylko formą dynamicznej dyskretyzacji.

Dla odniesienia, oto kilka powiązanych, nie dublujących się pytań:

Michael McGowan
źródło
1
Czy możesz powiedzieć coś więcej o tym, co chcesz zrobić? Z pewnością można użyć regresji wielokrotnej z ciągłymi i kategorialnymi współzmiennymi, aby zbudować model predykcyjny. To raczej elementarne. Czy zamiast tego masz na myśli przewidywanie wielu zmiennych odpowiedzi (gdzie niektóre są cont i niektóre cat, np.)?
Gung - Przywróć Monikę
@gung W jaki sposób przeprowadzasz regresję wielokrotną z udziałem zmiennych towarzyszących jakościowych bez konwertowania konwersji predyktorów jakościowych na liczby w pewnym sensie?
Michael McGowan,
1
W „numery” nie oznacza nic - oni naprawdę nie są numeryczne . Pod względem sposobu korzystania ze schematu kodowania; kodowanie komórek referencyjnych (zwykle nazywane „kodowaniem pozorowanym”) jest najczęstsze, ale istnieje wiele schematów. Jest to dobre źródło informacji na temat różnych możliwych schematów. Na przykład w R nie musisz tego robić, ale jeśli podasz dane wektorowe lub znakowe (tj. Nazwy), wszystko załatwi.
gung - Przywróć Monikę
2
Obawiam się, że nadal nie podążam za impetem stojącym za pytaniem (jestem trochę powolny). Zmienne kategoryczne nie są „przekształcane” ani „przekształcane” w zmienne numeryczne; są one reprezentowane przez 1, ale to 1 nie jest tak naprawdę liczbą. Jakościowe predyktory nie są bardziej numeryczne w regresji wielokrotnej niż w drzewach decyzyjnych (tj. CART), np. Z teoretycznego punktu widzenia nie ma tam nic; z praktycznego punktu widzenia, jeśli próbujesz zapisać kilka wierszy kodu, np. oprogramowanie (R, np.) często zrobi to za Ciebie.
gung - Przywróć Monikę
1
Czy możesz wyjaśnić, co według ciebie istnieje (z teoretycznego punktu widzenia)? W jaki sposób fałszywe kodowanie zamienia zmienną kategorialną w zmienną, która ma znaczenie numeryczne? Jak to się dzieje, że to, co robi KARTA, pozwala zmiennej zachować swoją „kategoryczność”, ale nie jest to kodowanie pozorowane? Nie jestem w stanie dowiedzieć się, jakie mogą być odpowiedzi na powyższe pytania i nie widzę twojego poprzedniego postu.
Gung - Przywróć Monikę

Odpowiedzi:

6

O ile mi wiadomo i dogłębnie badałem ten problem w przeszłości, nie ma technik modelowania predykcyjnego (oprócz drzew, XgBoost itp.), Które są zaprojektowane do obsługi obu typów danych wejściowych w tym samym czasie bez zwykłego przekształcania rodzaj funkcji.

Zauważ, że algorytmy takie jak Random Forest i XGBoost akceptują dane mieszane, ale stosują pewną logikę do obsługi ich podczas podziału węzła. Upewnij się, że rozumiesz logikę „pod maską” i że jesteś w porządku z tym, co dzieje się w czarnej skrzynce.

u1u2)fajare(u1,u2))faja=(rejas-dozatmisolorjadozal(u1,u2))fajafajare(u1,u2))faja=rejas-nummirjado(u1,u2))fajafajafajau1u2)

Niektóre znane funkcje odległości dla cech jakościowych:

  • Odległość Levenshtien (lub dowolna forma „odległość edycji”)

  • Najdłuższa wspólna podsekwencja

  • Odległość Gower
  • I więcej danych tutaj
Serendipity
źródło
5

Wiem, że minęło trochę czasu od opublikowania tego pytania, ale jeśli nadal patrzysz na ten problem (lub podobny), możesz rozważyć użycie uogólnionych modeli addytywnych (GAM). Nie jestem ekspertem, ale modele te pozwalają łączyć różne modele, aby stworzyć jedną prognozę. Proces zastosowany do znalezienia współczynników dla modeli, które wprowadziłeś rozwiązuje dla wszystkich z nich jednocześnie, dzięki czemu możesz wysłać uogólniony model addytywny do swojego ulubionego modelu predyktorów jakościowych i swojego ulubionego modelu predyktorów ciągłych i uzyskać pojedynczy model, który minimalizuje RSS lub jakiekolwiek inne kryterium błędu, którego chcesz użyć.

Poza moim szczytem jedynym pakietem oprogramowania, który znam zaimplementowaniem GAM, jest język R, ale jestem pewien, że istnieją inne.

Forrest Cinelli
źródło
SAS ma procedurę o nazwie Proc Gam.
Alph
1
Większość głównych pakietów statystycznych (np. Stata) może prawdopodobnie implementować GAM. Co więcej, GAM będą używać fałszywych kodów do reprezentowania zmiennych jakościowych jako predyktorów. Nie jest jasne, czego OP chce szukać w modelu, który używa predyktorów jakościowych jako kategorycznych, ale nie reprezentuje ich za pomocą fałszywych kodów, ale prawdopodobnie tak nie jest.
gung - Przywróć Monikę
Witamy w CV. Pamiętaj, że Twoja nazwa użytkownika, identyfikator oraz link do strony użytkownika są automatycznie dodawane do każdego posta, więc nie musisz podpisywać swoich postów. W rzeczywistości wolimy, żebyś tego nie robił.
gung - Przywróć Monikę
4

Chociaż dyskretyzacja przekształca dane ciągłe w dane dyskretne, nie można powiedzieć, że zmienne pozorne przekształcają dane kategoryczne w dane ciągłe. Rzeczywiście, ponieważ algorytmy można uruchamiać na komputerach, nie może być algorytmu klasyfikującego, który NIE przekształca danych kategorycznych w zmienne pozorne.

W tym samym sensie klasyfikator ostatecznie przekształca predyktory w dyskretną zmienną wskazującą przynależność do klasy (nawet jeśli generuje prawdopodobieństwo klasy, ostatecznie wybierasz wartość odcięcia). De facto wiele klasyfikatorów, takich jak regresja logistyczna, losowy las, drzewa decyzyjne i SVM, działa dobrze z oboma typami danych.

Podejrzewam, że trudno byłoby znaleźć algorytm, który działałby z danymi ciągłymi, ale w ogóle nie byłby w stanie obsłużyć danych kategorycznych. Zwykle stwierdzam, że ma to większy wpływ na rodzaj danych, które masz po lewej stronie modelu.

Erik
źródło
2
Nie, chodzi mi o to, że regresja logistyczna i in. „Nie działają” w tym sensie, że opisuję oba typy danych. Wymagają od ciebie, przynajmniej w pewnym sensie, traktowania wszystkich predyktorów jako liczb lub żadnego z nich jako liczb. Wiem na przykład, że często można uzyskać świetne wyniki z regresją logistyczną, kodując coś w rodzaju „płeć” jako 1 dla „mężczyzny” i 0 dla „kobiety”. Zastanawiam się jednak, czy tego rodzaju procesu można uniknąć za pomocą dowolnego znanego paradygmatu modelowania.
Michael McGowan,
1

Jest to głębokie filozoficzne pytanie, na które często zwraca się uwagę zarówno w dziedzinie statystyki, jak i uczenia maszynowego. Niektórzy twierdzą, że kategoryzacja jest lepsza dla wskaźnika dyskretnego do kategorialnego, dzięki czemu pakiety mogą łatwo przetrawić dane wejściowe modelu. Inni twierdzą, że binowanie może powodować utratę informacji, ale zmienne jakościowe mogą / muszą zostać przekonwertowane na zmienne wskaźnikowe {1,0}, pomijając ostatnią klasę dla reszt modelu.

Książka - Zastosowana regresja liniowa (Kutner i in.) Wspomina o logice wprowadzania zmiennych wskaźnikowych do modelu w kilku pierwszych rozdziałach. Może być też inny podobny tekst.

Moje zdanie na ten temat może być nieco zbyt daleko idące: jeśli wyobrażamy sobie zmienne kategoryczne, takie jak bloki w projekcie eksperymentalnym, zmienna wskaźnikowa jest naturalnym rozszerzeniem analizy danych nieopartej na eksperymentach. W odniesieniu do algorytmów eksploracji danych (rodziny drzew decyzyjnych) kategoryzacja jest nieunikniona (ręczne lub automatyczne binowanie), które należy podać do modelu.

Dlatego może nie istnieć model, który byłby wyspecjalizowany dla zmiennych liczbowych, a także zmiennych kategorialnych w ten sam sposób (bez binowania-liczbowego lub używania wskaźników-kategorialnych).

KarthikS
źródło