Jak znaleźć pozostałości i wykreślić je

14

Otrzymałem dane

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)

Jak mogę uzyskać resztki i wykreślić je względem ? Jak mogę sprawdzić, czy pozostałości wydają się być w przybliżeniu normalne?x

Nie jestem pewien, czy poprawnie dopasowałem oryginalne dopasowanie liniowe, gdy otrzymałem równanie ale notatki z wykładu mówią, że linia regresji liniowej powinna mieć postać y i = β 0 + β 1 x + ϵ .y=6.9x-5.5yja=β0+β1x+ϵ

Gość
źródło
Z której paczki korzystasz? Na przykład funkcja „regresu” Matlaba zwraca resztki jako dane wyjściowe i można tworzyć wykresy za pomocą histogramu
BGreene
Używam Sagemath. Mogę również używać R za jego pośrednictwem, ale mam bardzo małe doświadczenie w tym zakresie.
gość
Odnośnie 2 równań, które tam macie. Jeżeli linia regresji (jako funkcja liniowa) ma postać wówczas modelem liniowym jest E [ Y | X ] = a + k X i używając terminów błędów jest to Y = a + k X + ϵ gdzie ϵ jest terminem błędu z zerowym oczekiwaniem. W tym sensie oba równania pasują do siebie. y=za+kxmi[Y|X]=za+kXY=za+kX+ϵϵ
Ric
1
Równanie masz to w formie wymienionej w notatkach, z i ^ p 1 = 6,9 . Pozostałości po prostu r i = r r - r I = Y i - ( - 5,5 + 6,9 x I )β0^=-5.5β1^=6.9rja=yy-y^ja=yja-(-5.5+6.9xja)
Glen_b -Reinstate Monica

Odpowiedzi:

29

EDYCJA: Masz Rtag, ale w komentarzu mówisz, że niewiele o nim wiesz. To jest Rkod. Nic nie wiem o Sage. Zakończ edycję

Możesz to zrobić

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 - Przywróć Monikę
źródło
+1 @ gość, powyższy kod dotyczy R, który jest dostępny bezpłatnie
BGreene
W porządku. Widziałem więc obraz z gęstością podpisu. Domyślna (x = resid (m1)). Czy ten kod powinien generować dwa wykresy? I czy powinienem sprawdzić na wykresie, czy pozostałości wydają się być w przybliżeniu normalne?
gość
Kod wyświetli dwa wykresy - jeden jest wykresem gęstości (czy wygląda w kształcie dzwonu?), A drugi jest wykresem kwantowym; gdyby reszty były całkowicie normalne, wszystkie punkty leżałyby na linii prostej.
Peter Flom - Przywróć Monikę
Dobrze. Kod działa, jeśli zmienisz ostatnie wiersze na wykres (qqnorm (resid (m1))) i wykres (qqline (resid (m1))). Myślę więc, że reszty nie spełniają rozkładu normalnego, ponieważ punkt znajduje się poniżej linii niż nad linią. Czy istnieje jakieś liczbowe kryterium sprawdzania normalności?
gość