library(readxl)
library(tidyr)
library(dplyr)
library(forecast)
Modelo_id <- read_excel("C:/Users/liizm/Downloads/Dataframe_EMA_Investigacion.xlsx")
library(stargazer)
Modelo_i_d <- lm(formula = GERD ~ BERD + RD_P + GBARD + HTEC_ECO + HTEC_KIA,
data = Modelo_id)
stargazer(Modelo_i_d, title="Modelo de Regresión Lineal Multiple que Explica la Inversión en I+D de los Países Europeos para el año 2018",
type= "text", digits=8)
##
## Modelo de Regresión Lineal Multiple que Explica la Inversión en I+D de los Países Europeos para el año 2018
## ===================================================
## Dependent variable:
## -------------------------------
## GERD
## ---------------------------------------------------
## BERD 1.08136400***
## (0.03489813)
##
## RD_P 0.00891068**
## (0.00406743)
##
## GBARD 0.75918130***
## (0.08770541)
##
## HTEC_ECO -0.16846190***
## (0.05970365)
##
## HTEC_KIA 0.01484689
## (0.06139201)
##
## Constant 164.93090000**
## (70.48231000)
##
## ---------------------------------------------------
## Observations 34
## R2 0.99978720
## Adjusted R2 0.99974920
## Residual Std. Error 323.27170000 (df = 28)
## F Statistic 26,308.86000000*** (df = 5; 28)
## ===================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
PRUEBA JB
library(normtest)
jb.norm.test(Modelo_i_d$residuals)
##
## Jarque-Bera test for normality
##
## data: Modelo_i_d$residuals
## JB = 10.463, p-value = 0.0145
Cálculo del Indice de Condición usando librería “mctest”
library(mctest)
X_mat<-model.matrix(Modelo_i_d)
mctest(mod = Modelo_i_d)
##
## Call:
## omcdiag(mod = mod, Inter = TRUE, detr = detr, red = red, conf = conf,
## theil = theil, cn = cn)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.0000 1
## Farrar Chi-Square: 346.7466 1
## Red Indicator: 0.9056 1
## Sum of Lambda Inverse: 243.1143 1
## Theil's Method: 0.6777 1
## Condition Number: 32.0576 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
Cálculo del Indice de Condición usando librería “olsrr”
library(olsrr)
ols_eigen_cindex(model = Modelo_i_d)
## Eigenvalue Condition Index intercept BERD RD_P
## 1 5.037948775 1.000000 0.0093506935 0.0003866422 0.0005398998
## 2 0.701768786 2.679352 0.7620643448 0.0009604015 0.0003400789
## 3 0.169125810 5.457854 0.2092063041 0.0115126716 0.0001304495
## 4 0.075775784 8.153830 0.0189482931 0.0133158932 0.0107606556
## 5 0.010478652 21.926745 0.0003168151 0.0662266476 0.9687884061
## 6 0.004902194 32.057647 0.0001135495 0.9075977438 0.0194405100
## GBARD HTEC_ECO HTEC_KIA
## 1 0.0003046408 0.0051245878 1.417703e-03
## 2 0.0006226382 0.0004417164 4.437966e-05
## 3 0.0062299962 0.5038196821 1.218243e-02
## 4 0.0038923048 0.4739013171 2.844090e-01
## 5 0.0172443341 0.0161010979 6.878302e-01
## 6 0.9717060859 0.0006115987 1.411636e-02
Prueba de Farrar-Glaubar
library(stargazer)
Zn<-scale(X_mat[,-1])
stargazer(head(Zn,n=6),type = "html")
##
## <table style="text-align:center"><tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"></td><td>BERD</td><td>RD_P</td><td>GBARD</td><td>HTEC_ECO</td><td>HTEC_KIA</td></tr>
## <tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">1</td><td>0.184</td><td>-0.072</td><td>-0.051</td><td>-0.452</td><td>-0.163</td></tr>
## <tr><td style="text-align:left">2</td><td>-0.471</td><td>-0.480</td><td>-0.498</td><td>-0.482</td><td>-0.470</td></tr>
## <tr><td style="text-align:left">3</td><td>-0.315</td><td>-0.185</td><td>-0.308</td><td>0.946</td><td>-0.260</td></tr>
## <tr><td style="text-align:left">4</td><td>-0.086</td><td>-0.254</td><td>-0.087</td><td>-0.356</td><td>-0.412</td></tr>
## <tr><td style="text-align:left">5</td><td>4.684</td><td>3.936</td><td>4.564</td><td>3.431</td><td>3.244</td></tr>
## <tr><td style="text-align:left">6</td><td>-0.482</td><td>-0.590</td><td>-0.487</td><td>-0.642</td><td>-0.632</td></tr>
## <tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr></table>
Matriz R
library(stargazer)
n<-nrow(Zn)
R<-(t(Zn)%*%Zn)*(1/(n-1))
stargazer(R,type = "html",digits = 4)
##
## <table style="text-align:center"><tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"></td><td>BERD</td><td>RD_P</td><td>GBARD</td><td>HTEC_ECO</td><td>HTEC_KIA</td></tr>
## <tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">BERD</td><td>1</td><td>0.9572</td><td>0.9926</td><td>0.8072</td><td>0.8811</td></tr>
## <tr><td style="text-align:left">RD_P</td><td>0.9572</td><td>1</td><td>0.9688</td><td>0.8718</td><td>0.9610</td></tr>
## <tr><td style="text-align:left">GBARD</td><td>0.9926</td><td>0.9688</td><td>1</td><td>0.8223</td><td>0.9018</td></tr>
## <tr><td style="text-align:left">HTEC_ECO</td><td>0.8072</td><td>0.8718</td><td>0.8223</td><td>1</td><td>0.8716</td></tr>
## <tr><td style="text-align:left">HTEC_KIA</td><td>0.8811</td><td>0.9610</td><td>0.9018</td><td>0.8716</td><td>1</td></tr>
## <tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr></table>
Calcular R
determinante_R<-det(R)
print(determinante_R)
## [1] 1.155095e-05
Aplicando la prueba de Farrer Glaubar (Bartlett)
m<-ncol(X_mat[,-1])
n<-nrow(X_mat[,-1])
chi_FG<--(n-1-(2*m+5)/6)*log(determinante_R)
print(chi_FG)
## [1] 346.7466
Valor Critico
gl<-m*(m-1)/2
VC<-qchisq(p = 0.95,df = gl)
print(VC)
## [1] 18.30704
library(mctest)
mctest::omcdiag(mod = Modelo_i_d)
##
## Call:
## mctest::omcdiag(mod = Modelo_i_d)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.0000 1
## Farrar Chi-Square: 346.7466 1
## Red Indicator: 0.9056 1
## Sum of Lambda Inverse: 243.1143 1
## Theil's Method: 0.6777 1
## Condition Number: 32.0576 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
library(psych)
FG_test<-cortest.bartlett(X_mat[,-1])
print(FG_test)
## $chisq
## [1] 346.7466
##
## $p.value
## [1] 1.95307e-68
##
## $df
## [1] 10
Referencia entre R2j
library(dplyr)
R.cuadrado.regresores<-c(0,0.5,.8,.9)
as.data.frame(R.cuadrado.regresores) %>% mutate(VIF=1/(1-R.cuadrado.regresores))
## R.cuadrado.regresores VIF
## 1 0.0 1
## 2 0.5 2
## 3 0.8 5
## 4 0.9 10
Calculo
print(R)
## BERD RD_P GBARD HTEC_ECO HTEC_KIA
## BERD 1.0000000 0.9572073 0.9926223 0.8071824 0.8810699
## RD_P 0.9572073 1.0000000 0.9687596 0.8717741 0.9609620
## GBARD 0.9926223 0.9687596 1.0000000 0.8222726 0.9018217
## HTEC_ECO 0.8071824 0.8717741 0.8222726 1.0000000 0.8716485
## HTEC_KIA 0.8810699 0.9609620 0.9018217 0.8716485 1.0000000
inversa_R<-solve(R)
print(inversa_R)
## BERD RD_P GBARD HTEC_ECO HTEC_KIA
## BERD 74.6117079 -8.061611 -74.7782896 0.2400356 9.236233
## RD_P -8.0616111 51.396222 -18.9572793 -3.1347541 -22.458481
## GBARD -74.7782896 -18.957279 94.9300116 0.5916526 -2.023538
## HTEC_ECO 0.2400356 -3.134754 0.5916526 4.4800347 -1.637689
## HTEC_KIA 9.2362334 -22.458481 -2.0235382 -1.6376893 17.696339
VIF’s para el modelo estimado:
VIFs<-diag(inversa_R)
print(VIFs)
## BERD RD_P GBARD HTEC_ECO HTEC_KIA
## 74.611708 51.396222 94.930012 4.480035 17.696339
Cálculo de los VIF’s usando “performance”
library(performance)
VIFs<-multicollinearity(x = Modelo_i_d,verbose = FALSE)
VIFs
## # Check for Multicollinearity
##
## Low Correlation
##
## Term VIF Increased SE Tolerance
## HTEC_ECO 4.48 2.12 0.22
##
## High Correlation
##
## Term VIF Increased SE Tolerance
## BERD 74.61 8.64 0.01
## RD_P 51.40 7.17 0.02
## GBARD 94.93 9.74 0.01
## HTEC_KIA 17.70 4.21 0.06
Cálculo de los VIF’s usando “car”
library(car)
VIFs_car<-vif(Modelo_i_d)
print(VIFs_car)
## BERD RD_P GBARD HTEC_ECO HTEC_KIA
## 74.611708 51.396222 94.930012 4.480035 17.696339
Cálculo de los VIF’s usando “mctest”
library(mctest)
mc.plot(mod = Modelo_i_d,vif = 2)