Está en la página 1de 5

Universidad Central de Venezuela

Facultad de Ciencias
Postgrado de Modelos Aleatorios
Abril 2016

TAREA REGRESION LINEAL


Se crean variables explicativas para el modelo de regresión mediante la función rnorm que genera 500
números aleatorias distribuidos normal con media 0 y varianza 1.
x1<- rnorm(500)
x2<- rnorm(500)
x3<- rnorm(500)
x4<- rnorm(500)
x5<- rnorm(500)
x6<- rnorm(500)
x7<- rnorm(500)
x8<- rnorm(500)

Estos vectores se agrupan para formar la matriz DW


DW<-data.frame(x1,x2,x3,x4,x5,x6,x7,x8)
DW

A continuación se crea la matriz de coeficientes (MatCoef)


MatCoef<-cbind(rep(1,500),DW[,2:8])
MatCoef
MatCoef<-as.matrix(MatCoef)
colnames(MatCoef)<-NULL
MatCoef

Ahora vamos a extraer el vector variable dependiente VarDep, en este caso la aproximaremos como x1
VarDep<-DW[,1]
VarDep

Mediante la factorizacion de Cholesky se realiza la regresión


M<-t(MatCoef)%*%VarDep
M
[,1]
[1,] 18.1794724
[2,] 31.6891248
[3,] -22.2939643
[4,] 32.6709746
[5,] 5.6674980
[6,] 31.6267561
[7,] -0.4303819
[8,] -9.2609366

CHO<-chol(t(MatCoef)%*%MatCoef)
UP<-forwardsolve(t(CHO),M)

Se procede a calcular el vector de betas


BETAS<-backsolve(CHO,UP)
BETAS
[,1]
[1,] 0.037658643
[2,] 0.066013397
[3,] -0.049784461
[4,] 0.069976513
[5,] 0.017741836
[6,] 0.063767013
[7,] 0.006492629
[8,] -0.029156892

A partir de la matriz de coeficiente y el vector de betas se estima la variable dependiente (YHAT)


YHAT<-MatCoef%*%BETAS
YHAT
as.data.frame(YHAT)

Vamos usar la función lm de R para rezalir la regresión de la variable dependiente x1


REG<-lm(x1~.,data=DW)
summary(REG)

Call:
lm(formula = x1 ~ ., data = DW)

Residuals:
Min 1Q Median 3Q Max
-3.01719 -0.64275 0.02316 0.67211 3.15459

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.037659 0.043672 0.862 0.389
x2 0.066013 0.044838 1.472 0.142
x3 -0.049784 0.045124 -1.103 0.270
x4 0.069977 0.043177 1.621 0.106
x5 0.017742 0.044636 0.397 0.691
x6 0.063767 0.041140 1.550 0.122
x7 0.006493 0.042222 0.154 0.878
x8 -0.029157 0.046114 -0.632 0.528

Residual standard error: 0.9715 on 492 degrees of freedom


Multiple R-squared: 0.01672, Adjusted R-squared: 0.00273
F-statistic: 1.195 on 7 and 492 DF, p-value: 0.3038

YHAT2 <- REG$fitted.values


YHAT2

Vamos a proceder a examinar los residuos de la regresión (REG)


residuos<-residuals(REG)
residuos<-data.frame(residuos)
colnames(residuos)<-c("res")
residuos

Para probar la normalidad de los mismos se usaran dos técnicas, la primera una aproximación gráfica
mediante las funciones qqnrom / qqline y posteriormente mediante el test de shapiro
qqnorm(residuos$res, col=4)
qqline(residuos$res,col=4)
shapiro.test(YHAT)

Shapiro-Wilk normality test

data: YHAT
W = 0.99682, p-value = 0.4355

A continuación se introducirá una variable nueva x9 pero que sea una combinación lineal de x3 y x4,
dentro de la matriz de coeficientes.
x9 <-5*x3+.2*x4
DWW<-data.frame(DW,x9)

Se evalúa la relación entre la nueva variable x9 y x3, para lo cual se usa la funcion cor y plot de R
cor(x3,x9)

[1] 0.9991351

plot(x3,x9)
cor(x4,x9)

[1] 0.04749118

plot(x4,x9)

REG2<-lm(x1~.,data=DWW)
summary(REG2)

Residuals:
Min 1Q Median 3Q Max
-3.01719 -0.64275 0.02316 0.67211 3.15459

Coefficients: (1 not defined because of singularities)


Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.037659 0.043672 0.862 0.389
x2 0.066013 0.044838 1.472 0.142
x3 -0.049784 0.045124 -1.103 0.270
x4 0.069977 0.043177 1.621 0.106
x5 0.017742 0.044636 0.397 0.691
x6 0.063767 0.041140 1.550 0.122
x7 0.006493 0.042222 0.154 0.878
x8 -0.029157 0.046114 -0.632 0.528
x9 NA NA NA NA

Residual standard error: 0.9715 on 492 degrees of freedom


Multiple R-squared: 0.01672, Adjusted R-squared: 0.00273
F-statistic: 1.195 on 7 and 492 DF, p-value: 0.3038

También podría gustarte