Leer datos

load("C:/Users/ejhar/Downloads/data_clave_B.RData")

Calcular los residuos del problema

N <- nrow(P)
Iden<-diag(x=1,N,N)
#Residuos E = (I-P)*Y
u_i<- (Iden-P)%*%Y
print(u_i)
##           [,1]
## 1    130.01721
## 2    474.52195
## 3   1020.43484
## 4   -992.53188
## 5  -1122.47922
## 6   -245.17227
## 7    432.09387
## 8    118.94418
## 9     44.79116
## 10  -278.89087
## 11   187.29523
## 12  -240.21464
## 13   376.45741
## 14   451.38689
## 15   376.29701
## 16  -732.95088

Pruebas de normalidad

Jarque Bera

library(normtest)
jb.norm.test(u_i)
## 
##  Jarque-Bera test for normality
## 
## data:  u_i
## JB = 0.73565, p-value = 0.563
  • En caso de la prueba de Jarque-Bera para un nivel de significancia del 5% V.C. = 5.9915 la condicion de no rechazar de la \(H_o\) es que el estadistico JB < V.C., además también se puede evaluar por medio del p-value en la cual la condición de no rechazo es p =< \(\alpha\)

JB(0.73565) < V.C.(5.9915) p (0.563) > \(\alpha\)(0.05)

  • NO SE RECHAZA LA HIPOTESIS NULA POR LO QUE HAY EVIDENCIA QUE LOS RESIDUOS SIGUEN UNA DISTRIBUCION NORMAL

Kolmogorov Smirnov - Lilliefors

library(nortest)
lillie.test(u_i)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  u_i
## D = 0.15596, p-value = 0.3741
  • En caso de la prueba de Kolmogorov-Smirnov para un nivel de significancia del 5% y una muesta n=16 el V.C. = 0.2128 la condicion de no rechazar de la \(H_o\) es que el estadistico D < V.C., además también se puede evaluar por medio del p-value en la cual la condición de no rechazo es p-value =< \(\alpha\)

D (0.15596) < V.C.(0.2128) p-value (0.3741) > \(\alpha\)(0.05)

  • NO SE RECHAZA LA HIPOTESIS NULA POR LO QUE HAY EVIDENCIA QUE LOS RESIDUOS SIGUEN UNA DISTRIBUCION NORMAL

Shapiro - Wilk

shapiro.test(u_i)
## 
##  Shapiro-Wilk normality test
## 
## data:  u_i
## W = 0.93846, p-value = 0.3305

En caso de la prueba de Shapiro-Wilk para un nivel de significanciadel 5% el V.C. = 1.644854 la condicion de no rechazar de la \(H_o\) es que el estadistico SW < V.C., además también se puede evaluar por medio del p-value en la cual la condición de no rechazo es p-value =< \(\alpha\)

SW (0.93846) < V.C.(1.644854) p-value (0.3305) > \(\alpha\)(0.05)

  • NO SE RECHAZA LA HIPOTESIS NULA POR LO QUE HAY EVIDENCIA QUE LOS RESIDUOS SIGUEN UNA DISTRIBUCION NORMAL

Normalizar Sn y la version normalizada de X’X guardar

library(stargazer)
# Sn
options(scipen = 9999)
Sn<-solve(diag(sqrt(diag(XX))))
stargazer(Sn,type = "text")
## 
## ======================================
## 0.250   0     0     0      0      0   
## 0     0.001   0     0      0      0   
## 0       0   0.001   0      0      0   
## 0       0     0   0.0001   0      0   
## 0       0     0     0    0.030    0   
## 0       0     0     0      0   0.00000
## --------------------------------------
#Xnormalizada
XXnorm<-(Sn%*%XX)%*%Sn
stargazer(XXnorm,type = "text",digits = 5)
## 
## ===============================================
## 1       0.97169 0.95088 0.92469 0.95314 0.99556
## 0.97169    1    0.99687 0.98768 0.96374 0.98899
## 0.95088 0.99687    1    0.99610 0.95721 0.97478
## 0.92469 0.98768 0.99610    1    0.93451 0.95544
## 0.95314 0.96374 0.95721 0.93451    1    0.96418
## 0.99556 0.98899 0.97478 0.95544 0.96418    1   
## -----------------------------------------------

Calculo de los autovalores de XX normalizada

#autovalores de la matriz XXnorm -comando eigen()-
lambdas <- eigen(XXnorm,symmetric = TRUE)
stargazer(lambdas$values,type = "text")
## 
## =====================================
## 5.839 0.106 0.054 0.001 0.0003 0.0001
## -------------------------------------
#El índice de condición es la división de la raiz cuadrada del max(lambdas$values) entre la raiz de min(lambdas$values)
K<-sqrt(max(lambdas$values)/min(lambdas$values))
print(K)
## [1] 264.3626
  • Para interpretar la severidad de colinealidad del modelo ver los siguientes supuestos k < 20 Existe una leve multicolinealidad 20 < k < 30 Existe una multicolinealidad moderada k >= 30 la multicolinealidad es severa
  • 264.3626 > 30, POR LO QUE SE CONCLUYE QUE EL MODELO PRESENTA UNA MULTICOLINEALIDAD SEVERA

Calcular los VIF’s

R_1 <- solve(R) #Inversa ded R
VIFs<-diag(R_1)
print(VIFs)
##         X2         X3         X4         X5         X6 
## 242.584481 427.430795 228.623588   4.848514  38.794653
  • Tradicionalmente un valor VIF>10 indicaría que el modelo de regresión lineal presenta un grado de multicolinealidad preocupante
  • POR LO QUE X2, X3, X4 y X6 son considerados altamente colineales