Wie man Residuen findet und plottet

14

Ich habe Daten erhalten

x = c(21,34,6,47,10,49,23,32,12,16,29,49,28,8,57,9,31,10,21,26,31,52,21,8,18,5,18,26,27,26,32,2,59,58,19,14,16,9,23,28,34,70,69,54,39,9,21,54,26)
y = c(47,76,33,78,62,78,33,64,83,67,61,85,46,53,55,71,59,41,82,56,39,89,31,43,29,55, 
     81,82,82,85,59,74,80,88,29,58,71,60,86,91,72,89,80,84,54,71,75,84,79)

Wie kann ich die Residuen erhalten und gegen zeichnen ? Und wie kann ich testen, ob die Residuen ungefähr normal erscheinen?x

Ich bin nicht sicher, ob ich die ursprüngliche lineare Anpassung korrekt durchführe, da ich die Gleichung aber das besagt, dass die lineare Regressionslinie die Form .y=6.9x5.5yi=β0+β1x+ϵ

Gast
quelle
Welches Paket verwenden Sie? Zum Beispiel gibt Matlabs 'Regress'-Funktion die Residuen als Ausgabe zurück und Sie können mit einem Histogramm
grafisch darstellen
Ich benutze Sagemath. Ich kann R auch über es verwenden, aber ich habe sehr wenig Erfahrung damit.
Gast
Bezüglich der 2 Gleichungen, die Sie dort oben haben. Wenn die Regressionsgerade (als lineare Funktion) die Form dann ist das lineare Modell und unter Verwendung von Fehlertermen ist dies wobei ist ein Fehlerterm mit Nullerwartung. In diesem Sinne passen die beiden Gleichungen zusammen. y=a+kxE[Y|X]=a+kXY=a+kX+ϵϵ
Ric
1
Die Gleichung, die Sie erhalten haben, hat die in Ihren Notizen angegebene Form mit und . Die Residuen sind nurβ0^=5.5β1^=6.9ri=yyy^i=yi(5.5+6.9xi)
Glen_b

Antworten:

28

EDIT: Sie haben ein RTag, aber dann in einem Kommentar sagen, dass Sie nicht viel darüber wissen. Das ist RCode. Ich weiß nichts über Salbei. Bearbeitung beenden

Du kannst das

x = c(21,34,6,47,10,49,23,32,12,16,29,49,28,8,57,9,31,10,21,
      26,31,52,21,8,18,5,18,26,27,26,32,2,59,58,19,14,16,9,23,
      28,34,70,69,54,39,9,21,54,26)
y = c(47,76,33,78,62,78,33,64,83,67,61,85,46,53,55,71,59,41,82,
      56,39,89,31,43,29,55, 81,82,82,85,59,74,80,88,29,58,71,60,
      86,91,72,89,80,84,54,71,75,84,79)

m1 <- lm(y~x)  #Create a linear model
resid(m1) #List of residuals
plot(density(resid(m1))) #A density plot
qqnorm(resid(m1)) # A quantile normal plot - good for checking normality
qqline(resid(m1))
Peter Flom - Wiedereinsetzung von Monica
quelle
+1 @Gast, der Code oben ist für R, die frei verfügbar ist
BGreene
Okay. Also habe ich das Bild mit Untertiteldichte gesehen. Standard (x = resid (m1)). Soll dieser Code zwei Diagramme ausgeben? Und sollte ich anhand des Diagramms überprüfen, ob die Residuen ungefähr normal zu sein scheinen?
Gast
Der Code gibt zwei Diagramme aus - eines ist ein Dichtediagramm (sieht es glockenförmig aus?), Das andere ist ein Quantildiagramm; Wenn die Residuen völlig normal wären, würden alle Punkte auf der geraden Linie liegen.
Peter Flom - Wiedereinsetzung von Monica
Richtig. Code funktioniert, wenn Sie die letzten Zeilen in Plot (qqnorm (resid (m1))) und Plot (qqline (resid (m1)) ändern. Ich denke also, dass Residuen nicht der Normalverteilung entsprechen, da es Punkte gibt, die weiter unter der Linie als über der Linie liegen. Gibt es ein numerisches Kriterium zur Überprüfung der Normalität?
Gast