Hallo zusammen,
ich habe eine multinomiale logistische Regression (MLR) berechnet und eine schrittweise Aufnahme der Prädiktoren ausgewählt. Wie kann ich bei der MLR eine Kreuzvalidierung vornehmen um Aussagen über die Stabilität / externe Validität zu machen?
Vielen Dank!
Liebe Grüße,
Paula
Multinomiale Logistische Regression - Kreuzvalidierung
-
- Beiträge: 3
- Registriert: 19.05.2021, 12:55
-
- Beiträge: 2756
- Registriert: 01.02.2018, 10:45
Re: Multinomiale Logistische Regression - Kreuzvalidierung
Hallo Paula
teile die ganze Stichprobe durch Zufall in zwei Teilstichproben
z.B:
COMPUTE Zufall = RV.UNIFORM(0,1) .
EXECUTE .
RECODE
Zufall
(0 thru 0.499999999=1) (0.5 thru 1=2) INTO Zufall_1_0 .
EXECUTE .
Obacht sobald du obiges ein Zweites mal ausführst ändern sich die Werte.
Die Stichproben werden dadurch nicht gleich groß, aber es kommt dabei nur auf die Richtung und
ungefähre Größe der Koeffizienten an, nicht so sehr auf die Signifikanz.
Das kannst du auch beliebig Wiederholen und eine Verteilung der Koeff erzeugen.
gruß
dutchie
teile die ganze Stichprobe durch Zufall in zwei Teilstichproben
z.B:
COMPUTE Zufall = RV.UNIFORM(0,1) .
EXECUTE .
RECODE
Zufall
(0 thru 0.499999999=1) (0.5 thru 1=2) INTO Zufall_1_0 .
EXECUTE .
Obacht sobald du obiges ein Zweites mal ausführst ändern sich die Werte.
Die Stichproben werden dadurch nicht gleich groß, aber es kommt dabei nur auf die Richtung und
ungefähre Größe der Koeffizienten an, nicht so sehr auf die Signifikanz.
Das kannst du auch beliebig Wiederholen und eine Verteilung der Koeff erzeugen.
gruß
dutchie
-
- Beiträge: 3
- Registriert: 19.05.2021, 12:55
Re: Multinomiale Logistische Regression - Kreuzvalidierung
Hallo Dutschie,
Vielen Dank für deine Antwort! Aber wie gehts dann weiter?
Ich rechne dann die MLR mit der einen Stichprobe. Ich verwende die Regressionsgleichung, die in der 1. Stichprobe ermittelt wurde, zur Vorhersage in der 2. Stichprobe. Dann vergleiche ich die vorhergesagten mit dem wahren Werten der 2. Stichprobe. Aber was sind die Schritte in Spss dafür? Wie mache ich das bei der MLR? Ich habe ja mehrere Log Reg in einem Modell. (In meinem Fall habe ich 4 Kategorien - also 3 Regressionen)
Ich hoffe du verstehst meine Frage, Danke!
Liebe Grüße
Vielen Dank für deine Antwort! Aber wie gehts dann weiter?
Ich rechne dann die MLR mit der einen Stichprobe. Ich verwende die Regressionsgleichung, die in der 1. Stichprobe ermittelt wurde, zur Vorhersage in der 2. Stichprobe. Dann vergleiche ich die vorhergesagten mit dem wahren Werten der 2. Stichprobe. Aber was sind die Schritte in Spss dafür? Wie mache ich das bei der MLR? Ich habe ja mehrere Log Reg in einem Modell. (In meinem Fall habe ich 4 Kategorien - also 3 Regressionen)
Ich hoffe du verstehst meine Frage, Danke!
Liebe Grüße
-
- Beiträge: 2756
- Registriert: 01.02.2018, 10:45
Re: Multinomiale Logistische Regression - Kreuzvalidierung
Da haben wir uns missverstanden...
erstmal:
AV: multinomial
UV: egal, irgendwas...
Unter Kreuzvalidierung verstehe ich:
Man rechnet für die zweigeteilte Stichprobe, zwei, je eine
Regression, und vergleicht, ob die Regressionskoeffizienten stabil sind
in etwa übereinstimmen. Man schätzt dabei aber nicht die Werte von Teilnehmern.
Du meinst irgendeine Anwendungssimulation.
Du rechnest nur eine Regression mit einer reduzierten Stichproben N = n-10%
dann wendest du die Regression auf die nicht an der Regression beteiligten 10%
an und vergleichst vorhergesagten und beobachteten Wert.
nennet sich irgendwie "hold out?"
Problem dabei: du verzichtest auf die Information dieser 10 Leute bei der Bestimmung der
Regressionsgleichung, da würde ich auch nicht wie oben die Stichproben halbieren.
obige Zufallsvariable zur Auswahl dieser 10%
(0 thru 0.899999=1) (0.9 thru 1=2) INTO Zufall_1_0, die 2er wären in etwa 10%
kann man machen..
Und eine Residualanalyse ist aber so wie so implementiert...Klassifikationsmatrix.
du hast als wahren Wert aber nur eine wahre Kategorien Zugehörigkeit,
du nimmst dann nicht die Wahrscheinlichkeiten sondern die vorhergesagte Kategorie,
das ist nur eine, und zwar die mit der größten Wahrscheinlichkeit,
dann kannst du über eine Kreuztabelle vorhergesagte und wahre Kategorie vergleichen.
Das Problem ist hier, bei der log Reg, wie bestimme ich eigentlich die Güte?
gruß
dutchie
erstmal:
AV: multinomial
UV: egal, irgendwas...
Unter Kreuzvalidierung verstehe ich:
Man rechnet für die zweigeteilte Stichprobe, zwei, je eine
Regression, und vergleicht, ob die Regressionskoeffizienten stabil sind
in etwa übereinstimmen. Man schätzt dabei aber nicht die Werte von Teilnehmern.
Du meinst irgendeine Anwendungssimulation.
Du rechnest nur eine Regression mit einer reduzierten Stichproben N = n-10%
dann wendest du die Regression auf die nicht an der Regression beteiligten 10%
an und vergleichst vorhergesagten und beobachteten Wert.
nennet sich irgendwie "hold out?"
Problem dabei: du verzichtest auf die Information dieser 10 Leute bei der Bestimmung der
Regressionsgleichung, da würde ich auch nicht wie oben die Stichproben halbieren.
obige Zufallsvariable zur Auswahl dieser 10%
(0 thru 0.899999=1) (0.9 thru 1=2) INTO Zufall_1_0, die 2er wären in etwa 10%
kann man machen..
Und eine Residualanalyse ist aber so wie so implementiert...Klassifikationsmatrix.
Du meinst die Gleichung liefert dir drei (oder vier?) vorhergesagte Wahrscheinlichkeiten.Paula Frei hat geschrieben: ↑19.05.2021, 18:04(In meinem Fall habe ich 4 Kategorien - also 3 Regressionen)
du hast als wahren Wert aber nur eine wahre Kategorien Zugehörigkeit,
du nimmst dann nicht die Wahrscheinlichkeiten sondern die vorhergesagte Kategorie,
das ist nur eine, und zwar die mit der größten Wahrscheinlichkeit,
dann kannst du über eine Kreuztabelle vorhergesagte und wahre Kategorie vergleichen.
Das Problem ist hier, bei der log Reg, wie bestimme ich eigentlich die Güte?
gruß
dutchie
-
- Beiträge: 2756
- Registriert: 01.02.2018, 10:45
Re: Multinomiale Logistische Regression - Kreuzvalidierung
..oder hast du ein Problem mit data fitting?
-
- Beiträge: 3
- Registriert: 19.05.2021, 12:55
Re: Multinomiale Logistische Regression - Kreuzvalidierung
Okay, Danke. Ich bin mit trotzdem unsicher, wie ich die Werte der 2. Stichprobe, mit Hilfe der Regressionsgleichung aus der 1. Stichprobe, vorhersage. Also mir ist klar wie ich die Stichprobe teile, aber was sind dann die nächsten Schritte?
Vielen Dank!
Vielen Dank!
-
- Beiträge: 2756
- Registriert: 01.02.2018, 10:45
Re: Multinomiale Logistische Regression - Kreuzvalidierung
ok,..dann mal los:
..Berechnung mit excel
dein ergebnis sieht irgendwie so aus:
https://ibb.co/przVYmh
..du hast eine AV mit 4 Kategorie, du bekommst drei Gleichungen
damit berechnest du dinger die heißen z, d.h du setzt deine UV wert in die
Regression ein:
https://ibb.co/CQyCs3L
Der z wert für die erste Person mit UV1 = UV2 = 5 ist 0.9363
jetzt hast du drei z werte pro Person, damit macht du "e hoch z" oder EXP(z)
z ist der Exponent zur Basis e...
https://ibb.co/nng2wsq
diese werte benutzt du zur Berechnung der Wahrscheinlichkeiten:
https://ibb.co/R77VMvY
In spalte G zur berechnug der Wahrscheinlichkeit für AV = 3
steht wie...mit eime Bruch
oben steht das EXP(z) der AV stufe die berechnet werden soll
unter steht 1 + Summe aller drei EXP(z) Werte....
jetzt brauchst du noch dei Wahrscheinlichkeit der 4ten AV Stufe
https://ibb.co/r0fCYKj
1- summe der ersten drei Wahrscheinlichkeit = die vierte Wahrscheinlichkeit
...du kannst die die Wahrscheinlichkeiten der Personen, die Grundlage der Berechnung war ausgeben lassen
und überprüfen, ob du richtig gerechnest hast
https://ibb.co/pz05PQh
wenn du in excel was berechnen willst wie mit einem Taschenrechner,
klick in die Zelle und dann ein = , wähle dann die Zellen an mit denen gerechnet werden soll...
gruß
dutchie
..Berechnung mit excel
dein ergebnis sieht irgendwie so aus:
https://ibb.co/przVYmh
..du hast eine AV mit 4 Kategorie, du bekommst drei Gleichungen
damit berechnest du dinger die heißen z, d.h du setzt deine UV wert in die
Regression ein:
https://ibb.co/CQyCs3L
Der z wert für die erste Person mit UV1 = UV2 = 5 ist 0.9363
jetzt hast du drei z werte pro Person, damit macht du "e hoch z" oder EXP(z)
z ist der Exponent zur Basis e...
https://ibb.co/nng2wsq
diese werte benutzt du zur Berechnung der Wahrscheinlichkeiten:
https://ibb.co/R77VMvY
In spalte G zur berechnug der Wahrscheinlichkeit für AV = 3
steht wie...mit eime Bruch
oben steht das EXP(z) der AV stufe die berechnet werden soll
unter steht 1 + Summe aller drei EXP(z) Werte....
jetzt brauchst du noch dei Wahrscheinlichkeit der 4ten AV Stufe
https://ibb.co/r0fCYKj
1- summe der ersten drei Wahrscheinlichkeit = die vierte Wahrscheinlichkeit
...du kannst die die Wahrscheinlichkeiten der Personen, die Grundlage der Berechnung war ausgeben lassen
und überprüfen, ob du richtig gerechnest hast
https://ibb.co/pz05PQh
wenn du in excel was berechnen willst wie mit einem Taschenrechner,
klick in die Zelle und dann ein = , wähle dann die Zellen an mit denen gerechnet werden soll...
gruß
dutchie