Comment trouver les résidus et les tracer

14

J'ai reçu des données

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)

Comment puis-je obtenir les résidus et les représenter en fonction de ? Et comment puis-je tester si les résidus semblent être approximativement normaux?X

Je ne sais pas si je fais l'ajustement linéaire d'origine correctement car j'ai obtenu l'équation mais les notes de cours disent que la ligne de régression linéaire devrait être de la forme .y=6.9x5.5yi=β0+β1x+ϵ

client
la source
Quel paquet utilisez-vous? Par exemple, la fonction de «régression» de Matlab renvoie les résidus en sortie et vous pouvez représenter graphiquement à l'aide d'un histogramme
BGreene
J'utilise Sagemath. Je peux aussi utiliser R via celui-ci mais je n'en ai que très peu d'expérience.
invité
Concernant les 2 équations que vous avez là-haut. Si la droite de régression (en tant que fonction linéaire) est de la forme alors le modèle linéaire est E [ Y | X ] = a + k X et en utilisant des termes d'erreur, c'est Y = a + k X + ϵϵ est un terme d'erreur avec une attente nulle. C'est le sens dans lequel les deux équations s'emboîtent. y=a+kxE[Y|X]=a+kXY=a+kX+ϵϵ
Ric
1
L'équation que vous avez est de la forme mentionnée dans vos notes, avec et ^ β 1 = 6,9 . Les résidus sont juste r i = y y - y i = y i - ( - 5,5 + 6,9 x i )β0^=5.5β1^=6.9ri=yyy^i=yi(5.5+6.9xi)
Glen_b -Reinstate Monica

Réponses:

28

EDIT: Vous avez une Rbalise, mais dans un commentaire, dites que vous n'en savez pas grand-chose. C'est du Rcode. Je ne sais rien de Sage. Fin de la modification

Tu peux le faire

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 - Réintégrer Monica
la source
+1 @ invité, le code ci-dessus est pour R, qui est disponible gratuitement
BGreene
D'accord. J'ai donc vu l'image avec la légende densité.default (x = resid (m1)). Ce code devrait-il produire deux graphiques? Et dois-je vérifier à partir du graphique que les résidus semblent être approximativement normaux?
invité
Le code affichera deux graphiques - l'un est un tracé de densité (ressemble-t-il à une cloche?), L'autre est un tracé de quantile; si les résidus étaient parfaitement normaux, les points se situeraient tous sur la droite.
Peter Flom - Réintègre Monica
Droite. Le code fonctionne si vous changez les dernières lignes en tracé (qqnorm (resid (m1))) et plot (qqline (resid (m1))). Je pense donc que les résidus ne satisfont pas la distribution normale car il y a des points plus en dessous de la ligne que sur la ligne. Existe-t-il un critère numérique pour vérifier la normalité?
invité