#definindo os parâmetros e o tamanho da amostra
n =15
b0 = 3
b1 =0.8
d = 1
set.seed(123) #fixando a semente
e = rnorm(n,0,d) #criando um erro aleatório
X = seq(0,15,length = n) #criando a variável X
Y = b0+b1*X+e #criando a variável Y
m1 = lm(Y~X) #modelo linear sem outlier
#Inserindo os outliers em Y
out = 60 #um valor aleatório alto, para ser considerado outlier
Y2 = c(Y[1:14],out) #inserindo o outlier na variável Y
m2 = lm(Y2~X) #modelo linear com outlier
#Criando o gráfico das retas ajustadas pelo MQO para ambos os modelos
plot(X,Y, pch = 19, ylab = "", xlab = "X", xlim = c(-1,15),ylim = c(0,60),axes = T)
mtext("Y", side = 2,line = 3, las = 2)
abline(m1,lwd = 2, col = "red") #sem levar em consideração o outlier
abline(m2, lwd = 2, lty = 2, col = "blue") #levando em consideração o outlier
points(15,60,pch = 8,cex = 1.5) #outlier
#Estimativas dos parâmetros
m1;m2
summary(m1)
summary(m2)
#Regressão robusta com M-Estimador
library(MASS)
m3 = rlm(Y~X, psi = "psi.huber")
m4 = rlm(Y2~X, psi = "psi.huber")
summary(m3)
summary(m4)
#Criando o gráfico das retas ajustadas pelo M-estimadores para ambos os modelos
plot(X,Y, pch = 19, ylab = "", xlab = "X", xlim = c(-1,15), ylim = c(0,60),axes = T)
mtext("Y", side = 2,line = 3, las = 2)
abline(m3,lwd = 2, col = "red") #sem levar em consideração o outlier
abline(m4, lwd = 2, lty = 2, col = "blue") #levando em consideração o outlier
points(15,60,pch = 8,cex = 1.5) #outlier
Nenhum comentário:
Postar um comentário