Come trovare i residui e tracciarli


14

Mi sono stati dati i dati

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)

Come posso ottenere i residui e tracciarli contro ? E come posso verificare se i residui sembrano essere approssimativamente normali?x

Non sono sicuro di eseguire correttamente l'adattamento lineare originale poiché ho ottenuto l'equazione ma le note della lezione dicono che la linea di regressione lineare dovrebbe essere della forma y i = β 0 + β 1 x + ϵ .y=6.9x5.5yi=β0+β1x+ϵ


Quale pacchetto stai usando? Ad esempio la funzione "regresso" di Matlab restituisce i residui come output e puoi rappresentare graficamente usando un istogramma
BGreene

Sto usando Sagemath. Posso anche usare R tramite esso ma ne ho poca esperienza.
ospite

Per quanto riguarda le 2 equazioni che hai lassù. Se la linea di regressione (come funzione lineare) ha la forma il modello lineare è E [ Y | X ] = a + k X e usando termini di errore questo è Y = a + k X + ϵ dove ϵ è un termine di errore con aspettativa zero. Questo è il senso in cui le due equazioni si incastrano. y=a+kxE[Y|X]=a+kXY=a+kX+ϵϵ
Ric

1
L'equazione che hai è della forma menzionata nelle tue note, con e ^ β 1 = 6.9 . I residui sono solo 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

Risposte:


28

EDIT: hai un Rtag ma poi in un commento dire che non ne sai molto. Questo è Rcodice Non so nulla di Sage. Termina modifica

Puoi farlo

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))

+1 @guest, il codice sopra è per R, che è disponibile gratuitamente
BGreene

Va bene. Così ho visto l'immagine con didascalia densità.default (x = resid (m1)). Questo codice dovrebbe generare due grafici? E dovrei controllare dal grafico i residui sembrano essere approssimativamente normali?
ospite

Il codice produrrà due grafici: uno è un diagramma di densità (sembra a forma di campana?) L'altro è un diagramma quantico; se i residui fossero perfettamente normali, i punti si troverebbero tutti sulla linea retta.
Peter Flom - Ripristina Monica

Giusto. Il codice funziona se si cambiano le ultime righe in plot (qqnorm (resid (m1))) e plot (qqline (resid (m1))). Quindi penso che i residui non soddisfino la distribuzione normale poiché ci sono punti più sotto la linea che sulla linea. Esistono criteri numerici per verificare la normalità?
ospite
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.