Como encontrar resíduos e plotá-los

14

Recebi dados

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)

Como posso obter os resíduos e plotá-los versus ? E como posso testar se os resíduos parecem ser aproximadamente normais?x

Não tenho certeza se faço o ajuste linear original corretamente, pois obtive a equação mas as notas da aula dizem que a linha de regressão linear deve ter a forma y i = β 0 + β 1 x + ϵ .y=6,9x-5.5yEu=β0 0+β1x+ϵ

hóspede
fonte
Qual pacote você está usando? Por exemplo, a função 'regress' do Matlab retorna os resíduos como uma saída e você pode representar graficamente usando um histograma
BGreene
Estou usando Sagemath. Também posso usar R via ele, mas tenho muito pouca experiência com ele.
guest
Em relação às 2 equações que você tem lá em cima. Se a linha de regressão (como uma função linear) tiver a forma , o modelo linear será E [ Y | X ] = a + k X e usando termos de erro, este é Y = a + k X + ϵ onde ϵ é um termo de erro com expectativa zero. É nesse sentido que as duas equações se encaixam. y=uma+kxE[Y|X]=uma+kXY=uma+kX+ϵϵ
Ric
1
A equação obtida é da forma mencionada em suas anotações, com e ^ β 1 = 6,9 . Os resíduos são apenas r i = y y - y i = y i - ( - 5,5 + 6,9 x i )β0 0^=-5.5β1^=6,9rEu=yy-y^Eu=yEu-(-5.5+6,9xEu)
Glen_b -Reinstate Monica

Respostas:

28

EDIT: Você tem uma Rtag, mas em um comentário diz que não sabe muito sobre ela. Isso é Rcódigo. Não sei nada sobre Sage. Finalizar edição

Você consegue fazer isso

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 - Restabelece Monica
fonte
1 @guest, o código é acima para R, que está livremente disponível
BGreene
OK. Então eu vi a imagem com legenda density.default (x = resid (m1)). Esse código deve gerar dois gráficos? E devo verificar no gráfico se os resíduos parecem ser aproximadamente normais?
guest
O código produzirá dois gráficos - um é um gráfico de densidade (parece em forma de sino?) E o outro é um gráfico quantil; se os resíduos fossem perfeitamente normais, todos os pontos ficariam na linha reta.
Peter Flom - Restabelece Monica
Certo. O código funciona se você alterar as últimas linhas para plot (qqnorm (resid (m1))) e plot (qqline (resid (m1))). Então, acho que os resíduos não satisfazem a distribuição normal, pois existem pontos mais abaixo da linha do que acima da linha. Existe algum critério numérico para verificar a normalidade?
guest