Jak modelować zmienną docelową ograniczoną?

18

Mam 5 zmiennych i staram się przewidzieć moją zmienną docelową, która musi mieścić się w zakresie od 0 do 70.

Jak wykorzystać tę informację do lepszego modelowania celu?

użytkownik333
źródło

Odpowiedzi:

21

Nie musisz nic robić. Możliwe, że predyktor będzie działał dobrze. Nawet jeśli predyktor dokonuje ekstrapolacji na wartości spoza zakresu, możliwe, że zablokowanie prognoz do zakresu (to znaczy użyj zamiast ) dobrze. Sprawdź poprawność modelu, aby zobaczyć, czy to działa.max(0,min(70,y^))y^

Jednak ograniczony zakres rodzi możliwość nieliniowej zależności między zmienną zależną ( ) a zmiennymi niezależnymi ( ). Niektóre dodatkowe wskaźniki tego obejmują:yxja

  • Większa zmienność wartości resztkowych, gdy y^ znajduje się w środku zakresu, w porównaniu do zmian reszt na obu końcach zakresu.

  • Teoretyczne powody specyficznych relacji nieliniowych.

  • Dowody błędnej specyfikacji modelu (uzyskane w zwykły sposób).

  • Znaczenie wyrażeń kwadratowych lub wyższych rzędów w xja .

Rozważ nieliniową ponowną ekspresję y w przypadku wystąpienia któregokolwiek z tych warunków.

Istnieje wiele sposobów ponownego wyrażenia y aby stworzyć bardziej liniowe relacje z xja . Na przykład dowolną funkcję rosnącą fa zdefiniowaną w przedziale [0,70] można „złożyć”, aby utworzyć symetryczną funkcję rosnącą przez yf(y)f(70y) . Jeśli f staje się dowolnie duże i negatywne jako jej argument zbliża 0 , złożona wersja f mapuje [0,70] do wszystkich liczb rzeczywistych. Przykłady takich funkcji obejmują logarytm i dowolną moc ujemną. Korzystanie z logarytmu jest równoważne „linkowi logit” zalecanemu przez @ user603. Innym sposobem jest pozwolenie Gbyć odwrotnym CDF o dowolnym rozkładzie prawdopodobieństwa i zdefiniować f(y)=G(y/70) . Zastosowanie rozkładu normalnego daje transformację „probit”.

Jednym ze sposobów wykorzystania rodzin transformacji jest eksperymentowanie: spróbuj prawdopodobnej transformacji, wykonaj szybką regresję transformowanego względem i przetestuj reszty: powinny one wydawać się niezależne od przewidywanych wartości (homoscedastyczne i nieskorelowane) . Są to oznaki liniowej zależności ze zmiennymi niezależnymi. Pomaga to również, jeśli reszty przewidywanych wartości przekształconych wstecznie wydają się być małe. Oznacza to, że transformacja poprawiła dopasowanie. Aby oprzeć się efektom wartości odstających, użyj solidnych metod regresji, takich jak iteracyjnie przeważone najmniejsze kwadraty .yxiy

Whuber
źródło
1
+1 Świetna odpowiedź! Czy możesz ekstrapolować lub podać powód, dla którego „większa zmienność wartości resztkowych, gdy y_hat znajduje się w środku zakresu, w porównaniu do zmian reszt na obu końcach zakresu” jest oznaką nieliniowości?
Andy McKenzie,
1
@Andy Teoretycznie taka heteroscedastyczność nie ma bezpośredniego związku z nieliniowością, ale w praktyce często obserwuje się, że transformacja stabilizująca wariancję dąży do linearyzacji zależności. Każda krzywa rosnąca w sposób ciągły od minimum (jak 0) do maksimum (jak 70) będzie miała maksymalne nachylenie gdzieś pośrodku tego zakresu, często skutkując również większą wariancją rezydualną. Dlatego spodziewalibyśmy się, że reszty będą wykazywać większą wariancję w środku, a mniej na końcach. Jeśli tak nie jest , możemy mieć nadzieję na liniowe relacje z nietransformowaną zmienną.
whuber
5

Ważne jest, aby rozważyć, dlaczego twoje wartości są ograniczone w zakresie 0–70. Na przykład, jeśli jest to liczba poprawnych odpowiedzi w teście złożonym z 70 pytań, należy rozważyć modele zmiennych „liczby sukcesów”, takich jak nadmierna regresja dwumianowa. Inne powody mogą prowadzić do innych rozwiązań.

Aniko
źródło
2

Transformacja danych: przeskaluj swoje dane, aby leżeć w i modeluj je za pomocą modelu glm z łączem logit.[0,1]

Edycja: Kiedy przeskalujesz wektor (tj. Podzielisz wszystkie elementy przez największy wpis), co do zasady, zanim to zrobisz, sprawdź (gałki oczne) pod kątem wartości odstających.

AKTUALIZACJA

Zakładając, że masz dostęp do R, część modelowania za pomocą solidnej procedury , patrz w pakiecie .glmrob()robustbase

użytkownik603
źródło
3
Zablokowanie danych zgodnie z zaleceniami spowoduje odchylenie stoków w regresji.
whuber
1
Nie widzę też bezpośredniej wartości w zaciskaniu na podstawie kwantyli próbki, kiedy prawdziwy zakres danych jest znany z góry.
kardynał
@ Cardinal Chodzi o to, że (np.) Prawdopodobnie 99% danych leży w [0,1], a pozostałe wartości wynoszą 70: zwarte ograniczenie zakresu nie zapewnia braku wartości odstających! Dlatego zgadzam się z duchem porad udzielonych przez @ user603, pomimo mojego zaniepokojenia możliwym uprzedzeniem w proponowanym podejściu.
whuber
@ whuber: Moją skłonnością w takich warunkach byłoby użycie GLM, który byłby odporny na wartości odstające, a nie ta forma zaciskania. Następnie dopasuj dopasowanie modelu za pomocą współczynnika „przechwytywania” i „nachylenia”.
kardynał
@Cardinal Tak, to prawidłowe rozwiązanie. Mam nadzieję, że zastosowaniu takiego GLM nadal będą towarzyszyć procedury diagnostyczne w celu sprawdzenia (przybliżonej) liniowości i niezależności reszt.
whuber