Erhalten von AIC/Likelihood aus ModellkoeffizientenVielleicht etwas abseits des Themas, aber:
Ich erhalte ein Modell von R GLMNet (ein Paket für allgemeine elastische Netze mit Regression, da der Kunde kein Upgrade von JMP 10 durchführt) und muss den AIC berechnen. Dieses Paket scheint mir keine Wahrscheinlichkeit zu geben. Ist es also möglich, die maximale Wahrscheinlichkeit aus den Koeffizienten zu berechnen? Das Modell wird mit der maximalen Wahrscheinlichkeit erstellt, daher hoffe ich, dass es eine Möglichkeit gibt, diese Informationen abzurufen, wenn ich das ausgewählte Modell habe. Wahrscheinlich nicht, aber ich greife gerade nach Strohhalmen.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnEntschuldigung, haben Sie einen Hinweis auf „Deviance(null) – Deviance(fit) = 2(L(model)-L(null))“?
Mit 2(L(model)-L(null) meinst du, es ist „ 2 Log-Wahrscheinlichkeit " oder " 2 Log (L0/L1) „?Sollte es nicht sein“ -2 Log-Wahrscheinlichkeit“ , oder ignoriert die Gleichung Abweichung(null) – Abweichung(fit) das negative (-) Vorzeichen?
Entschuldigung für die schnelle Frage.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnEntschuldigung, wo ist der Hinweis, dass „D eviance(null) - Deviance(fit) = 2(L(model)-L(null))"?
Meinten Sie auch, dass 2L(Modell) eine 2-Log-Wahrscheinlichkeit ist? oder ist 2(L(Modell)-L(null) die 2-Log-Wahrscheinlichkeit?
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnDer erste Term in der Gleichung sollte negativ sein. Wenn die Abweichung abnimmt, sollte AICc besser (kleiner) werden.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnVielen Dank für Ihre Hilfe (nicht weniger am Samstag). Nur damit es klar ist: Wenn ich die folgenden Schritte ausführe, sollte ich etwas bekommen, das proportional zum AIC von JMP ist?
Names Default to here(1);
k =[0, 1, 1, 2, 2];
n=500;
nulldev = 1100;
devs = [1100, 1099, 1098, 1097, 1096]; //calculated from (1-dev.ratio)*nulldev
fake2L = nulldev-devs;
AIC = -fake2L+2*k+2*k:*(k+1):/(n-k-1);
*Edit* hat AIC so geändert, dass es korrekt ist
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnMöglicherweise können Sie die Wahrscheinlichkeit des Modells doch ermitteln.
Passen Sie das Nullmodell an (keine Terme außer dem Achsenabschnitt) und speichern Sie das glmnet-Objekt unter fit0 . Passen Sie das gewünschte Modell an und speichern Sie es unter fit1 . Ermitteln Sie also die Abweichung für beide dev0=Abweichung(fit0) Und dev1=Abweichung(fit1) . Die Abweichung beträgt 2(L(gesättigt)-L(Modell)), sodass Sie jetzt zwei Gleichungen und zwei unbekannte Wahrscheinlichkeiten haben. Das L (gesättigt) ist üblich und fällt aus. Einer der Bestandteile des fit0 Und fit1 Objekte, wenn die Nullabweichung ( nulldev ) helfen.
Du hattest also vorhin Recht. Das heißt, Sie können die Abweichung (einigermaßen) direkt zur Berechnung von AICc verwenden. Abweichung(null) – Abweichung(fit) = 2(L(modell)-L(null)). Das L(Null) ist nur ein konstanter Offset, daher ist der Unterschied in der Abweichung ein Ersatz für 2L(Modell). Hoffe das hilft!
Übrigens stellt das Paket das Abweichungsverhältnis als Maß für die Anpassungsgüte bereit. Ich weiß, dass das nicht dasselbe ist wie die Verwendung von AICc zur Auswahl des besten Modells. Eher wie die Verwendung von R-Quadrat (schlechte Idee).
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnNun ja, danke, dass du es so oder so versucht hast.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnDie Abweichung ist ein Maß für die fehlende Passung. Es handelt sich nicht um die Wahrscheinlichkeit des Modells, sondern um die doppelte Differenz zwischen den Wahrscheinlichkeiten des gesättigten Modells und Ihres Modells.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnIch befürchte, dass die beiden verfügbaren Mengen von der glmnet Objekt ( Entwicklungsverhältnis , nulldev ) reichen nicht aus, um die Wahrscheinlichkeit für das Modell zu erhalten, die Sie zur Berechnung von AICc benötigen. Sie haben zwei Gleichungen mit drei Unbekannten: Wahrscheinlichkeit (null), Wahrscheinlichkeit (Modell) und Wahrscheinlichkeit (gesättigt). Ich kann die Wahrscheinlichkeit (Modell) nicht von der Wahrscheinlichkeit (Null) befreien.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnNur damit ich sichergehen kann, dass ich das richtig verstanden habe.
Abweichung = (1-dev.ratio)*nulldev
und diese Abweichung wäre genau die gleiche wie die -2LogLikelihood in der AICc-Gleichung?

Das könnte mein Leben VIEL besser machen.
Betreff: AIC/Likelihood aus Modellkoeffizienten ermittelnDas R glmnet-Pakethandbuch enthält folgende Details:
" Ein glmnet-Objekt besteht aus den Komponenten dev.ratio und nulldev. Ersteres ist der Anteil der erklärten (Null-)Abweichung. Die Abweichungsberechnungen berücksichtigen Gewichtungen, sofern im Modell vorhanden. Die Abweichung ist als 2*(loglike_sat – loglike) definiert, wobei loglike_sat die Log-Likelihood für das gesättigte Modell ist (ein Modell mit einem freien Parameter pro Beobachtung). Die Nullabweichung ist definiert als 2*(loglike_sat -loglike(Null)); Das NULL-Modell bezieht sich auf das Intercept-Modell, mit Ausnahme des Cox-Modells, bei dem es sich um das 0-Modell handelt. Daher ist dev.ratio=1-deviance/nulldev und diese Abweichungsmethode gibt (1-dev.ratio)*nulldev zurück. "
Diese Informationen sollen zur Beurteilung der Anpassungsgüte verwendet werden.