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)