Die Identitätsverknüpfungsfunktion berücksichtigt nicht die Domäne der Gamma-Familie?


9

Ich verwende ein Gamma Generalized Linear Model (GLM) mit einem Identitätslink. Die unabhängige Variable ist die Vergütung einer bestimmten Gruppe.

Die Zusammenfassung der Python-Statistikmodelle gibt mir eine Warnung zu der Identitätsverknüpfungsfunktion ( "DomainWarning: Die Identitätsverknüpfungsfunktion berücksichtigt nicht die Domäne der Gamma-Familie." ), Die ich nicht verstehe und bei der ich gerne Hilfe brauche. Hintergrund: Nur formale Grundausbildung in Statistik und praktisch keine Erfahrung mit GLMs über die logistische Regression hinaus.

Hier ist der relevante Python-Code:

model=statsmodels.genmod.generalized_linear_model.GLM(target, reducedFeatures, family=sm.families.Gamma(link=sm.families.links.identity)) results=model.fit() print(results.summary())

Hier ist die Ausgabe: Geben Sie hier die Bildbeschreibung ein

Meine Frage lautet: Inwiefern respektiert eine Identitätsverknüpfung die Domäne der Gamma-Familie nicht? Die Domäne der Gammafamilie ist 0 bis unendlich? Ich hatte auch den Eindruck, dass der Identitätslink nicht viel bewirkt, dh die unabhängigen Variablen unverändert lässt und sie / ihre Beziehung zur abhängigen Variablen nicht transformiert. Es klingt nach einer respektvollen Linkfunktion;)

Bitte korrigieren Sie mich


Die Identitätsverknüpfung bedeutet, dass der erwartete Wert der abhängigen Variablen wie in einem linearen Regressionsmodell nur der lineare Prädiktor ist. Es gibt nichts, was den erwarteten Wert positiv hält. Für einige Werte der Prädiktoren kann der erwartete Wert Null oder negativ sein. Daher "respektiert die Identitätsverbindungsfunktion die Domäne der Gamma-Familie nicht".
The Laconic

Antworten:


8

Das Gamma GLM-Modell lautet:

yX.Gamma(μ=f(X.β),ϕ)

Wobei der Erwartungsparameter und ein Dispersionsparameter ist (der Dispersionsparameter wird im Standard-GLM-Framework nicht geschätzt), ist der lineare Prädiktor, sind die vom Modell gelernten Parameter und ist die Link-Funktion genannt. μϕX.ββf

Beachten Sie, dass die Erwartung einer Gamma-Verteilung modelliert, die eine positive reelle Zahl sein muss , während einen beliebigen reellen Wert annehmen darf . Dies sagt Ihnen Python. Es ist nicht garantiert, dass die Identitätsfunktion einer positiven reellen Zahl zuordnet, sodass nicht immer ein gültiger Mittelwertparameter entsteht.X.βf(X.β)X.β

Cool. Vielen Dank! Alle meine unabhängigen Variablen sind positive, reelle Zahlen, also kann ich loslegen, oder?

Nicht unbedingt, einer Ihrer geschätzten Koeffizienten könnte negativ sein (Ihr Achsenabschnitt ist sehr negativ).

Würde es Ihnen etwas ausmachen, etwas detaillierter auf das einzugehen, was Sie meinen? Warum sollte das Vorzeichen des Abschnitts einen Einfluss auf die Koeffizienten haben? Das ergibt für mich keinen Sinn.

Dies wirkt sich auf den Mittelwert Ihrer bedingten Gammaverteilung aus. Denken Sie daran, Ihre Strukturgleichung für das Modell lautet:

μ=f(X.β)

und muss positiv sein . Angenommen, es ist gültig, dass alle Werte Ihrer Prädiktorvariablen Null sind (ich weiß nicht, ob dies in Ihren Daten der Fall ist, da mir der Kontext für Ihre Funktionen fehlt). Dann wäre Ihre Vorhersage für diesen Datenpunkt:μ

μ(x)=f((1,0,0,,0)β)=f(Abfangen)

Wenn Sie die Identitätsverknüpfungsfunktion verwenden, bedeutet dies Folgendes

μ(x)=Abfangen

Dies ist ein ungültiger Wert von wenn der Achsenabschnitt negativ ist.μ

Aufgrund kontextbezogener Einschränkungen Ihrer Daten können Sie diese Situation möglicherweise vermeiden, dies ist jedoch mathematisch möglich.


Cool. Vielen Dank! Alle meine unabhängigen Variablen sind positive, reelle Zahlen, also kann ich loslegen, oder?
Kalidurge

Nicht unbedingt, einer Ihrer geschätzten Koeffizienten könnte negativ sein (Ihr Achsenabschnitt ist sehr negativ).
Matthew Drury

Würde es Ihnen etwas ausmachen, etwas detaillierter auf das einzugehen, was Sie meinen? Warum sollte das Vorzeichen des Abschnitts einen Einfluss auf die Koeffizienten haben? Das ergibt für mich keinen Sinn.
Kalidurge

@kalidurge Ich habe eine Antwort auf Ihr Follow-up bearbeitet.
Matthew Drury

Wirklich hilfreich. Ich schätze es sehr!
Kalidurge

1

Seit ich diese Frage vor über einem Jahr gestellt habe, habe ich einen Kurs über verallgemeinerte lineare Modelle besucht und viel gelernt. Da dieser Beitrag etwas häufig angesehen wird, dachte ich, ich würde eine Anleitung hinzufügen, die ich mir damals gewünscht hätte.

Zu berücksichtigende Verknüpfungsfunktionen für das Gamma-Modell:

  • Protokoll - Erzwingt, dass die Vorhersagen / Ausgaben "die Domäne respektieren", indem sichergestellt wird, dass alle vorhergesagten Werte positiv sind
  • Gegenseitig - Erzwingt nicht, dass die Werte die Domäne respektieren, funktioniert jedoch häufig gut. (Es wird verwendet, weil es der natürliche Parameter der kanonischen Form des Gamma-Modells ist.) Dies ist die Standardverknüpfungsfunktion in R.

Vermeiden Sie in der Regel die Identitätsverknüpfungsfunktion.

Das heißt, Sie können und sollten das Gamma-Modell in den meisten Situationen wahrscheinlich vermeiden. Wenn Sie Daten mit erheblichem Versatz haben, transformieren Sie Ihre Zielvariable und führen Sie ein lineares Standardregressionsmodell aus. Die Ergebnisse sind im Allgemeinen leichter zu verstehen und genauso gut oder besser.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.