Seite 1 von 1

Prediction-Output des GAMLSS-Packages

Verfasst: Fr Okt 23, 2020 4:07 pm
von R-Stud
Hallo zusammen,

ich hoffe, dass ich hier vielleicht endlich Hilfe finde. Bisher konnte ich leider Online keine Hilfe finden.

Ich möchte auf einem Datensatz ein ZAGA-Model anwenden. Dies habe ich umgesetzt über das R-Package GAMLSS. Generalized Additive Model for Location, Scale and Shape (GAMLSS) erlauben die Modellierung weiterer Verteilungs-Parameter einer Verteilung außer des Means als Funktionen der abhängigen Variable.


Das Modell (auf Basis eines Trainingsdatensatzes) an sich kann man ganz einfach wie folgt erstellen:

Code: Alles auswählen

ZAGA_Model = gamlss(formula = y~., sigma.formula = y~., nu.formula = y~., data = train_data, family = ZAGA)
Wenn ich nun neue Werte aus einem Test-Datensatzes predicten möchte, nutze ich:

Code: Alles auswählen

predictAll(ZAGA_Model, newdata = test_data, type = "response")
Diese Funktion liefert mir dann den folgenden Output:
$mu
[1] 400.9585 598.3456 297.5756 1988.7999 2057.1348 674.1622

$sigma
[1] 0.21363860 0.05586103 0.06269033 0.01436584 0.46865264 0.07960204

$nu
[1] 9.54167e-12 9.54167e-12 9.54167e-12 9.54167e-12 9.54167e-12 9.54167e-12

$y
[1] 403 710 349 1965 1300 550
Die Zeile $y gibt dabei die Werte der abhängigen Variable aus dem Test-Datensatz.

Wo es nun bei mir hakt, ist zu verstehen, welcher dieser Verteilungsparameter denn nun meine vorhergesagten Werte für die abhängige Variable ist. Ist es einfach das "mu"? Oder muss ich mit diesen vorhergesagten Verteilungsparametern noch weitere Berechnungen durchführen?

Ich hoffe, hier eine Lösung zu bekommen

Vielen Dank schonmal für jede Hilfe, so klein sie noch ist!

Wo ich nun scheiter, ist zu verstehen, was denn jetzt meine predicted Values für die abhängige Variable

Re: Prediction-Output des GAMLSS-Packages

Verfasst: Sa Okt 24, 2020 1:11 am
von EDi
Nunja, du modellierst ja alle 3 Werte (Location, Scale and Shape) in deinem Model.
Dementsprechen bekommst du die Vorhersagen für alle drei.

mu = location (Mittelwert), sigma = scale (Streuung), nu = shape (Wkeit für Nullen in dem Fall).

Aus allen dreien kann man was lernen (wozu sonst hätte man solch ein komplexes Model genommen).
welcher dieser Verteilungsparameter denn nun meine vorhergesagten Werte für die abhängige Variable ist.
Hört sich so an, also ob du an mu interessiert bist...

Re: Prediction-Output des GAMLSS-Packages

Verfasst: Sa Okt 24, 2020 9:06 am
von R-Stud
Schon einmal vielen Dank für deine Hilfe! Wenn man die vorhergesagten Werte für mü und die y-Werte vergleicht, passt das ja auch zumindest Ansatzweise.

Ich habe jetzt noch etwas weiter in den TIefen des Internets gesucht. Es scheint, dass, wenn versucht wird neue Werte mit einem ZAGA-Modell vorherzusagen, oft auf den Erwartungswert zurückgegriffen wird.

Der Erwartungswert im ZAGA-Modell ist gegeben über E(y) = (1 - nu) * mü. Als erster vorhergesagter Wert würde sich somit ergeben E(y) = (1 - 9.54167e-12) * 400.9585.

Das macht für mich insofern Sinn, als dass es beim vorhersagen von Ausprägungen ja nicht mehr als über erwartete Ausprägungen gibt. Macht es für dich/euch auch Sinn?

Re: Prediction-Output des GAMLSS-Packages

Verfasst: Sa Okt 24, 2020 9:34 am
von EDi
Ja das stimmt so. Ich habe in der Vergangenheit aber mu und nu separat interpretiert (war vom Kontext her sinnvoll - waren zensiert Daten und nu gab die Wkeit der Zensur an).

Re: Prediction-Output des GAMLSS-Packages

Verfasst: Sa Okt 24, 2020 9:51 am
von R-Stud
Vielen Dank! Unglaublich, dass ich hier endlich mal eine Meinung zu gefunden habe.

Das mit der getrennten Interpretation von mu und nu bei Zensur von Daten macht Sinn, muss ich mir mal drüber Gedanken machen..