Interpretieren der drop1-Ausgabe in R


14

In R gibt der drop1Befehl etwas Ordentliches aus.
Diese beiden Befehle sollten Ihnen eine Ausgabe bringen:
example(step)#-> swiss
drop1(lm1, test="F")

Meins sieht so aus:

> drop1(lm1, test="F")
Single term deletions

Model:
Fertility ~ Agriculture + Examination + Education + Catholic + 
    Infant.Mortality
                 Df Sum of Sq    RSS    AIC F value     Pr(F)    
<none>                        2105.0 190.69                      
Agriculture       1    307.72 2412.8 195.10  5.9934  0.018727 *  
Examination       1     53.03 2158.1 189.86  1.0328  0.315462    
Education         1   1162.56 3267.6 209.36 22.6432 2.431e-05 ***
Catholic          1    447.71 2552.8 197.75  8.7200  0.005190 ** 
Infant.Mortality  1    408.75 2513.8 197.03  7.9612  0.007336 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Was bedeutet das alles? Ich gehe davon aus, dass die "Sterne" bei der Entscheidung helfen, welche Eingabevariablen beibehalten werden sollen. In der obigen Ausgabe möchte ich die Variable "Examination" verwerfen und mich auf die Variable "Education" konzentrieren. Ist die Interpretation so korrekt?

Auch der AIC-Wert, niedriger ist besser, ja?

Ed. Beachten Sie bitte die Antwort im Community-Wiki unten und ergänzen Sie sie, wenn Sie dies für richtig halten, um diese Ausgabe zu verdeutlichen.


7
Die Hilfe in R soll Ihnen die Verwendung der Funktion erklären. Es ist nicht als Statistikkurs gedacht. Und was das betrifft, glaube ich im Allgemeinen, dass die R-Hilfeseiten zu den vollständigsten und praktischsten aller mir bekannten Open-Source-Pakete gehören. Und dafür Pakete bezahlen. SPSS und SAS geben Ihnen eine Menge Hokuspokus mit Halbwahrheiten und komplettem Blödsinn als "Leitfaden für die Interpretation".
Joris Meys

1
Diese Frage wurde abgelehnt. Ich hatte nicht vor, mein +1 zu geben, aber jetzt scheint es mir, dass das Ablehnen nicht sehr konstruktiv ist: (1) Das OP macht klar, dass dies Hausaufgaben sind und verwendet einen in R eingebauten Datensatz zur Veranschaulichung, nicht seinen Daten, (2) eine verwandte Frage step()wurde zum Zeitpunkt des Schreibens mit +2 bewertet (warum also ?!), (3) das OP hat die Nützlichkeit der Antwort von @ Joris anerkannt.
chl

@chl: anscheinend bin ich nicht der einzige mit sensiblen zehen, wenn es um die r hilfeseiten geht :-). Aber ich stimme dir von ganzem Herzen zu. Die Frage ist gültig, klar gestellt und daher gibt es überhaupt keinen Grund, sie abzulehnen.
Joris Meys

Heh, es tut mir leid, wenn ich dir mit meinem Schnippchen bei der Hilfe auf die Zehen getreten bin, ich bin nur nicht sehr geduldig, wenn es wirklich um irgendetwas mit einer Kommandozeile geht. Ich bin so komisch, ich weiß. Du würdest nicht die Ersten sein, die mich darauf aufmerksam machen :) Ich mag diesen Ort, die Leute sind ehrlich.
Gakera

Nun, ich habe die Frage so bearbeitet, dass sie nicht so abstoßend für die Befürworter von R und der R-Hilfe ist.
Gakera

Antworten:


10

drop1 gibt Ihnen einen Vergleich der Modelle basierend auf dem AIC-Kriterium und bei Verwendung der Option test="F" , fügen Sie eine "Typ II-ANOVA" hinzu, wie in den Hilfedateien erläutert . Solange Sie nur stetige Variablen haben, ist diese Tabelle genau gleichbedeutend mit summary(lm1) , da die F-Werte nur die quadrierten T-Werte sind. P-Werte sind exakt gleich.

Also, was soll man damit machen? Interpretieren Sie es genau so: Es drückt auf eine Art und Weise aus, ob sich das Modell ohne diesen Begriff "signifikant" vom Modell mit diesem Begriff unterscheidet. Beachten Sie das "" deutlich, da die Bedeutung hier nicht so interpretiert werden kann, wie die meisten Leute denken. (Multi-Test-Problem und alle ...)

Und zum AIC: Je niedriger, desto besser. AIC ist ein Wert, der für das Modell gilt , nicht für die Variable. Das beste Modell aus dieser Ausgabe wäre also das ohne die Variablenprüfung.

Die Berechnung der AIC- und der F-Statistik unterscheidet sich jedoch von den R-Funktionen AIC(lm1). anova(lm1). Diese AIC()Informationen finden Sie auf den Hilfeseiten von extractAIC(). Für die anova()Funktion ist es ziemlich offensichtlich, dass Typ I und Typ II SS nicht gleich sind.

Ich versuche nicht unhöflich zu sein, aber wenn Sie nicht verstehen, was in den Hilfedateien dort erklärt wird, sollten Sie die Funktion überhaupt nicht verwenden. Eine schrittweise Regression ist unglaublich trickreich und gefährdet Ihre p-Werte in höchstem Maße. Beruhen Sie sich also nicht auf den p-Werten. Ihr Modell sollte Ihre Hypothese widerspiegeln und nicht umgekehrt.


1
Ich mag dieses Gefühl: "Wenn ich nicht verstehe, was ich bereits tue, sollte ich nicht versuchen, es zu lernen ..." Dies ist auch der Ansatz in der R-Hilfe - es ist nicht hilfreich, es sei denn, Sie wissen bereits, was los. Ich hatte gehofft, dass dies der Beginn von etwas anderem sein könnte.
Gakera

Aber ich kann diesen Teil Ihrer Antwort verwenden: "Interpretieren Sie es genau so: Es drückt aus, ob sich das Modell ohne diesen Begriff erheblich vom Modell mit diesem Begriff unterscheidet." Für mich bedeutet dies, dass die Pr (F) -Werte die Bedeutung jedes dieser Begriffe sind, und ein kleiner Wert bedeutet, dass diese Variable wichtig ist. Ein gutes Modell sollte also die Variablen "***" enthalten und nicht diejenigen, die keine Sterne haben.
Gakera

4
@gakera: Du hast mich falsch verstanden. Wenn Sie nicht verstehen, was Sie tun, sollten Sie es unbedingt lernen, bevor Sie es verwenden . Das heißt, Statistiken nachlesen und einen Kurs belegen. Ein gutes Modell sollte also die Variablen enthalten, die in der Hypothese formuliert sind. Wenn Sie sich auf die Variablen "***" stützen, müssen Sie sich zunächst gründlich mit der Modellierung befassen. Sie haben meinen letzten Kommentar offensichtlich nicht verstanden. Entschuldigung für die direkte Kommunikation, kommt mit dem Kerl. Nichts Persönliches.
Joris Meys

@gakera: Ich habe meine Antwort aktualisiert, um einige wichtige Punkte zu klären. Hauptsächlich, weil Sie den Teil falsch interpretiert haben, von dem Sie dachten, dass Sie ihn verwenden könnten.
Joris Meys

Ich lerne, indem ich das tue, das sind schließlich Hausaufgaben, niemand wird sterben, wenn ich das nicht richtig verstehe - die Fische sind bereits tot: P Danke für die Hilfe, und keine Sorge, das ist nicht der Fall Mein erstes Mal im Internet :)
Gakera

4

Als Referenz sind dies die Werte, die in der Tabelle enthalten sind:
DfBezieht sich auf Freiheitsgrade . "Die Anzahl der Freiheitsgrade ist die Anzahl der Werte in der endgültigen Berechnung einer Statistik, die frei variieren kann."

Die Sum of SqSpalte bezieht sich auf die Summe der Quadrate (oder genauer gesagt die Summe der quadratischen Abweichungen ). Kurz gesagt ist dies ein Maß für den Betrag, um den jeder einzelne Wert vom Gesamtmittel dieser Werte abweicht.
RSSist die Restsumme der Quadrate . Dies ist ein Maß dafür, wie stark der vorhergesagte Wert der abhängigen (oder ausgegebenen) Variablen vom wahren Wert für jeden Datenpunkt in der Menge abweicht (oder umgangssprachlich: jede "Linie" in der Datentabelle).

AICist das Akaike-Informationskriterium, das allgemein als "zu komplex zum Erklären" angesehen wird, aber kurz gesagt ein Maß für die Anpassungsgüte eines geschätzten statistischen Modells ist. Wenn Sie weitere Informationen benötigen, müssen Sie sich an tote Bäume wenden, auf denen Wörter (dh Bücher) stehen. Oder Wikipedia und die dortigen Ressourcen.

Das F valuewird verwendet, um einen sogenannten F-Test durchzuführen, und daraus wird der Pr(F)Wert abgeleitet , der beschreibt, wie wahrscheinlich (oder wahrscheinlich = Pr) dieser F-Wert ist. Ein Pr (F) -Wert nahe Null (angezeigt durch ***) zeigt eine Eingabevariable an, die in irgendeiner Weise wichtig ist, um in ein gutes Modell aufgenommen zu werden, dh ein Modell, das es nicht enthält, unterscheidet sich "signifikant" von dem einen das tut.

Alle diese Werte werden im Kontext des drop1Befehls berechnet, um das Gesamtmodell (einschließlich aller Eingabevariablen) mit dem Modell zu vergleichen, das sich aus dem Entfernen dieser einen bestimmten Variablen pro Zeile in der Ausgabetabelle ergibt.

Wenn dies nun verbessert werden kann, können Sie es gerne ergänzen oder Probleme klären. Mein Ziel ist es nur, einen besseren "Reverse Lookup" -Referenzwert von der Ausgabe eines R-Befehls zur tatsächlichen Bedeutung des Befehls zu erläutern und bereitzustellen.


@gakera Practical Regression und Anova mit R ist ein guter Ausgangspunkt für das Verständnis linearer Modelle und Methoden zur Variablen- / Modellauswahl. Wie von @Joris gezeigt, ist schrittweise Regression selten das Allheilmittel.
Chl

hah, danke für das Hinzufügen der Links @chl, während ich meinen Haftungsausschluss behalte, warum ich sie nicht posten kann. Sie müssen zustimmen, dass ich saugen: D
Gakera

1
@gakera Ich denke, Sie müssen mehr Mitarbeiter haben, um mehr als einen Link pro Bearbeitung hinzuzufügen - ich kann verstehen, dass dies nicht sehr angenehm ist, wenn Sie auf einer Q & A-Website beginnen. Ich ging davon aus, dass Sie Ihren letzten Satz selbst entfernen würden. Andererseits sollte man meiner Meinung nach nicht zu viel Gegenstimmen für die Beantwortung der eigenen Frage erwarten, da es sich um eine Art Zusammenfassung handelt (allerdings nützlich).
Chl

Ich mache das nicht für Gegenstimmen (das ist so Reddit: P) - eine nützliche Zusammenfassung ist genau das, was ich will - hauptsächlich für mich selbst, aber wahrscheinlich auch für andere.
Gakera

@gakera Ich bin sicher, das war nicht dazu da, um Gegenstimmen zu bekommen. In den meisten Fällen stellen wir unsere eigene Antwort als Community Wiki (CW) ein, wenn keine weiteren oder widersprüchlichen Informationen hinzugefügt werden. Dies ist eine neutrale Methode, um die Antworten anderer zusammenzufassen oder zusammenzufassen.
Chl
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.