Wie modelliere ich eine begrenzte Zielvariable?

17

Ich habe 5 Variablen und ich versuche, meine Zielvariable vorherzusagen, die im Bereich von 0 bis 70 liegen muss.

Wie verwende ich diese Informationen, um mein Ziel besser zu modellieren?

user333
quelle

Antworten:

22

ymax(0,Mindest(70,y^))y^

Der eingeschränkte Bereich erhöht jedoch die Möglichkeit einer nichtlinearen Beziehung zwischen der abhängigen Variablen ( ) und den unabhängigen Variablen ( ). Einige zusätzliche Indikatoren hierfür sind:x iyxich

  • Größere Variation der Residuenwerte, wenn in der Mitte des Bereichs liegt, verglichen mit Variation der Residuen an beiden Enden des Bereichs.y^

  • Theoretische Gründe für bestimmte nichtlineare Beziehungen.

  • Nachweis einer Fehlspezifikation des Modells (wie üblich).

  • Bedeutung quadratischer oder höherwertiger Terme im .xich

Betrachten Sie eine nichtlineare Re-Expression von falls eine dieser Bedingungen zutrifft.y

Es gibt viele Möglichkeiten, erneut auszudrücken , um linearere Beziehungen mit zu erstellen . Zum Beispiel kann jede auf dem Intervall definierte Erhöhungsfunktion "gefaltet" werden, um eine symmetrische Erhöhungsfunktion über zu erzeugen . Wenn beliebig groß und negativ wird als Argument nähert sich , die gefaltete Version von wird map in alle reellen Zahlen. Beispiele für solche Funktionen sind der Logarithmus und jede negative Potenz. Die Verwendung des Logarithmus entspricht dem von @ user603 empfohlenen "Logit Link". Ein anderer Weg ist, zu lassenx i f [ 0 , 70 ] y f ( y ) - f ( 70 - y ) f 0 f [ 0 , 70 ] G f ( y ) = G ( y / 70 )yxichf[0,70]yf(y)-f(70-y)f0f[0,70]GSei die inverse CDF einer Wahrscheinlichkeitsverteilung und definiere . Die Verwendung einer Normalverteilung ergibt die "probit" -Transformation.f(y)=G(y/70)

Eine Möglichkeit, Transformationsfamilien auszunutzen, besteht darin, zu experimentieren: eine wahrscheinliche Transformation zu versuchen, eine schnelle Regression des transformierten gegen das durchzuführen und die Residuen zu testen: Sie sollten unabhängig von den vorhergesagten Werten von sein scheinen (homoskedastisch und unkorreliert). . Dies sind Anzeichen einer linearen Beziehung zu den unabhängigen Variablen. Es hilft auch, wenn die Residuen der rücktransformierten vorhergesagten Werte dazu neigen, klein zu sein. Dies zeigt an, dass die Transformation die Anpassung verbessert hat. Verwenden Sie robuste Regressionsmethoden wie die iterative Neugewichtung der kleinsten Quadrate, um den Auswirkungen von Ausreißern zu widerstehen .x i yyxichy

whuber
quelle
1
+1 Tolle Antwort! Können Sie extrapolieren oder zitieren, warum "eine größere Variation der Residuenwerte, wenn y_hat in der Mitte des Bereichs liegt, verglichen mit der Variation der Residuen an beiden Enden des Bereichs" ein Hinweis auf Nichtlinearität ist?
Andy McKenzie
1
@Andy Theoretisch hat eine solche Heteroskedastizität keinen direkten Zusammenhang mit der Nichtlinearität. In der Praxis wird jedoch häufig beobachtet, dass eine varianzstabilisierende Transformation dazu neigt, Beziehungen zu linearisieren. Jede Kurve, die kontinuierlich von einem Minimum (wie 0) zu einem Maximum (wie 70) ansteigt, hat irgendwo in der Mitte dieses Bereichs eine maximale Steigung, was häufig auch dort zu einer größeren Restvarianz führt. Aus diesem Grund würden wir erwarten, dass Residuen mehr Varianz in der Mitte und weniger an den Enden aufweisen. Ist dies nicht der Fall, können wir auf lineare Beziehungen mit der nicht transformierten Variablen hoffen .
Whuber
6

Es ist wichtig zu überlegen, warum Ihre Werte im Bereich von 0 bis 70 liegen. Wenn es sich beispielsweise um die Anzahl der richtigen Antworten bei einem Test mit 70 Fragen handelt, sollten Sie Modelle für die Variablen "Anzahl der Erfolge" in Betracht ziehen, z. B. überdisperse binomiale Regression. Andere Gründe könnten Sie zu anderen Lösungen führen.

Aniko
quelle
2

Datentransformation: Skalieren Sie Ihre Daten so, dass sie in [0,1] und modellieren Sie sie mithilfe eines GLM-Modells mit einem Logit-Link.

Bearbeiten: Wenn Sie einen Vektor neu skalieren (dh alle Elemente durch den größten Eintrag teilen), suchen Sie in der Regel vorher nach Ausreißern.

AKTUALISIEREN

Angenommen, Sie haben Zugriff auf R, dann würde ich den Modellierungsteil mit einer robusten glm-Routine ausführen, siehe glmrob () im Paket robustbase .

user603
quelle
3
Wenn Sie die Daten wie hier empfohlen klemmen, werden die Steigungen in einer Regression verschoben.
whuber
1
Ich sehe auch nicht den unmittelbaren Wert beim Festhalten auf der Basis von Stichprobenquantilen, wenn der wahre Bereich der Daten a priori bekannt ist.
Kardinal
@Cardinal Der Punkt ist, dass (z. B.) möglicherweise 99% der Daten in [0,1] liegen und die verbleibenden Werte gleich 70 sind: Eine kompakte Einschränkung des Bereichs stellt keine Abwesenheit von Ausreißern sicher! Daher stimme ich dem Geist der von @ user603 angebotenen Ratschläge zu, obwohl ich Bedenken hinsichtlich der möglichen Verzerrung des vorgeschlagenen Ansatzes habe.
whuber
@whuber: Meine Neigung in einer solchen Umgebung wäre, ein GLM zu verwenden, das gegenüber Ausreißern beständig ist und nicht diese Form der Klemmung. Dann lassen Sie das Modell über den "Achsenabschnitt" und den "Steigungskoeffizienten" passen.
Kardinal
@Cardinal Ja, das ist eine gültige Lösung. Ich hoffe, dass die Verwendung eines solchen GLM weiterhin mit diagnostischen Verfahren zur Überprüfung der (ungefähren) Linearität und Unabhängigkeit von Residuen einhergeht.
whuber