Introducción

En este ejercicio se propone estimar un modelo de regresión lineal en el que se explique el comportamiento de un indicador elaborado para recoger la viabilidad de las empresas de un sector en función de diversos indicadores de valoración de distintos aspectos de la marcha de dichas empresas. Al plantearse un escenario de una muestra relativamente pequeña y variables explicativas con elevada correlación, se realizará una reducción de la dimensión de la matriz de variables explicativas a través del empleo de la técnica de Componentes Principales.

Variables del Trabajo

La variable dependiente del estudio (indicador de viabilidad de la empresa) se denomina INVIA. Obviamente es una variable cuantitativa con escala métrica. El indicador se ha construido tomando una de las empresas al azar y dándole valor 100, y, en comparación con esta empresa de referencia, valorando al resto.

Las variables explicativas son también variables construidas del mismo modo. Se ha tomado la misma empresa como referencia y se le ha asignado una puntuación de 100 en cada una de las variables, puntuando el resto en términos relativos a dicha empresa de referencia:

  • INENDEU: Indicador de endeudamiento. Recoge el nivel relativo de endeudamiento de la empresa en relación a la empresa tomada como referencia.
  • INMAPRI: Indicador del coste relativo en materias primas de la empresa, en relación al coste que éstas tienen para la empresa tomada como referencia.
  • INDEMAN: Indicador de demanda. Recoge el tamaño de la demanda potencial a la que se enfrenta la empresa en comparación con la demanda de la empresa tomada como referencia.
  • INVENTA: Indicador de ventas. Recoge el nivel relativo de ventas de la empresa en comparación con el nivel de ventas de la empresa tomada como referencia.
  • INEXPERT: Indicador de la opinión de expertos. Recoge la opinión de un panel de expertos en economía empresarial sobre su confianza en la viabilidad de la empresa en comparación con la empresa tomada como referencia.
  • INEMP: Indicador de la opinión de los empresarios. Recoge la opinión de un panel de empresarios sobre su confianza en la viabilidad de la empresa en comparación con la empresa tomada como referencia.

Descripción general de las diferentes variables: dependiente y explicativas.

(Datos)
##             INVIA INENDEU INMAPRI INDEMAN INVENTA INEXPERT  INEMP
## Empresa_01  76.50  104.92  106.20   68.52   68.46    55.12  55.97
## Empresa_02 100.00  100.00  100.00  100.00  100.00   100.00 100.00
## Empresa_03 117.54  100.84  100.14   96.21   95.72    97.94  98.22
## Empresa_04  84.23   98.85   99.60   62.78   62.87    64.56  46.93
## Empresa_05 100.09  101.05  101.61   78.70   78.98    73.61  73.96
## Empresa_06 109.78  101.42  102.22   81.44   81.33    80.13  79.89
## Empresa_07  90.41   96.90   96.63   59.91   60.21    70.10  43.10
## Empresa_08  81.82  110.27  111.60   73.63   73.97    63.16  64.07
## Empresa_09 114.22  101.42  100.24   92.56   91.59    96.09  96.14
## Empresa_10  70.67  100.82  102.34   43.21   43.27    73.93  37.51
## Empresa_11  92.95   90.31   92.11   52.09   53.52    78.37  40.58
## Empresa_12  85.92   93.79   94.60   55.95   55.92    76.30  39.43
## Empresa_13 105.26  100.94  101.10   83.74   83.92    86.38  86.14
## Empresa_14  77.28  102.44  103.07   65.44   65.74    59.71  51.34
## Empresa_15 108.38  100.82  101.49   88.15   86.79    90.82  91.08
## Empresa_16  84.48   92.68   94.67   49.54   51.29    76.80  39.58
## Empresa_17  86.10   95.36   96.80   47.17   47.19    75.90  38.81
## Empresa_18  81.64  107.49  109.10   71.73   71.68    59.12  59.87
## Empresa_19  90.14  105.64  107.43   75.71   76.46    67.65  68.58
## Empresa_20  75.87   98.01   99.67   44.88   45.57    74.82  38.11
summary(Datos$INVIA)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   70.67   81.78   88.12   91.66  101.38  117.54

Como vemos, la variable dependiente INVIA, que es un indicador de viabilidad de la empresa, muestra 20 observaciones del mismo (por tanto, estamos estudiando la viabilidad de 20 empresas), estando todos comprendidos entre 117,54 y 70,67.

Para ello, se ha seleccionado una empresa al azar y se le ha asignado un valor de 100, de modo que las empresas que presentan un valor superior a 100 están por encima de esta observación de referencia en cuanto al indicador viabilidad y las que presentan un valor inferior a este valor de referencia están en peor situación en cuanto al indicador mencionado.

hist(Datos$INVIA,xlab="INVIA",
     ylab="Frecuencia",
     main = "Indicador de viabilidad de la empresa",
     col = "gold",
     border="tomato1",
     las = 1)

El histograma nos permite tener una visión global y conjunta del estado de las empresas observadas según el indicador de viabilidad. Así, vemos que donde más empresas encontramos es entre los valores 80 y 90 de este indicador. También debemos señalar que observamos como 6 de las 20 empresas observadas se encuentran por encima de 100, que es el valor asignado a nuestra empresa de referencia.

boxplot(Datos,
        ylab="Valor del indicador",
        main = "Comparación de indicadores",
        col = "gold",xlim=c(0.5,7.5),
        pars =list(boxwex=0.65),
        las = 1)

El gráfico de cajas anterior representa una caja para cada uno de los indicadores estudiados. Se puede ver cómo las medias más elevadas las presentan los indicadores de endeudamiento y de coste de las materias primas, siendo, además, estos 2 indicadores los que menor dispersión de los datos muestran, hecho que parece lógico pues el endeudamiento es aceptable que sea parecido entre las empresas y el coste relativo de materias primas, dado que es un elemento no controlable directamente por las empresas, será parecido para todas.

También vemos como el indicador con menor media es el que mayor dispersión presenta, y es el indicador de la opinión de empresarios. Parece razonable que presente una mayor dispersión debido a las distintas opiniones vertidas sobre cada empresa en comparación con la empresa referencia y, como unas serán consideradas como muy buenas otras como muy malas, también parece lógico que exista una media menor por el efecto de estas últimas. Cabe señalar que este indicador muestra que todos los empresarios creen que la empresa referencia es la mejor en cuanto a viabilidad.

summary(Datos$INENDEU)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   90.31   97.73  100.83  100.20  101.67  110.27
summary(Datos$INMAPRI)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   92.11   98.90  100.67  101.03  102.52  111.60
summary(Datos$INDEMAN)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   43.21   54.98   70.12   69.57   82.02  100.00
summary(Datos$INVENTA)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   43.27   55.32   70.07   69.72   81.98  100.00
summary(Datos$INEXPERT)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   55.12   66.88   75.36   76.03   81.69  100.00
summary(Datos$INEMP)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   37.51   40.33   57.92   62.47   81.45  100.00

Como vemos, las variables explicativas del modelo también son indicadores, entre los que encontramos el indicador de endeudamiento (máximo de 110,27 y mínimo de 90,31), que hace representa el nivel de endeudamiento de cada una de las 20 empresas respecto a la empresa referencia, el indicador del coste relativo en materias primas (máximo de 111,60 y mínimo de 92,11) que indica el mayor o menor coste relativo de cada empresa respecto de la referencia, el indicador de demanda (máximo de 96,21 y mínimo de 43,21) en el que se nos muestra la demanda potencial de cada empresa respecto de la empresa referencia que, al tener asignado un valor de 100, significa que es la empresa con mayor demanda potencial, el indicador de ventas (máximo 95,72 y mínimo de 43,27) que nos señala el nivel relativo de ventas de la empresa en comparación con el nivel de ventas de la empresa tomada como referencia que, nuevamente y en relación con el indicador anterior, vuelve a mostrar el valor más elevado, el indicador de la opinión de expertos (máximo de 97,94 y mínimo de 55,12) que recoge la opinión de un grupo de expertos en economía empresarial sobre su confianza en la viabilidad de la empresa en comparación con la empresa tomada como referencia y, otra vez, la empresa sobre la que más confianza se tiene es la empresa referencia y, por último, el indicador de la opinión de los empresarios (máximo de 98,22 y mínimo de 37,51), siendo la referencia la empresa de la que mejor opinión tienen los empresarios.

Regresión lineal de INVIA en función de las 6 variables explicativas.

regresion<-lm(INVIA~INENDEU+INMAPRI+INDEMAN+INVENTA+INEXPERT+INEMP, data = Datos)
summary(regresion)  
## 
## Call:
## lm(formula = INVIA ~ INENDEU + INMAPRI + INDEMAN + INVENTA + 
##     INEXPERT + INEMP, data = Datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.5291  -2.0489   0.6281   3.3162   8.2635 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 268.6941    85.9735   3.125  0.00805 **
## INENDEU       0.6233     2.8216   0.221  0.82859   
## INMAPRI      -2.4319     2.7192  -0.894  0.38739   
## INDEMAN       0.1436     2.9555   0.049  0.96200   
## INVENTA      -0.5996     2.8283  -0.212  0.83540   
## INEXPERT     -0.3876     0.3581  -1.082  0.29872   
## INEMP         1.0805     0.5285   2.044  0.06171 . 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.798 on 13 degrees of freedom
## Multiple R-squared:  0.879,  Adjusted R-squared:  0.8232 
## F-statistic: 15.74 on 6 and 13 DF,  p-value: 2.787e-05

En el resultado obtenido de la regresión lineal vemos cómo el coeficiente de determinación lineal corregido es alto (82,32%) y que todas las variables explicativas son no significativas, ya que encontramos valores del estadístico muy próximos a 0 y p-valores muy elevados. Esto puede indicar la existencia de multicolinealidad entre los regresores. Las variables explicativas tienen un comportamiento parecido y comparten sus efectos, dando lugar a parámetros estimados poco significativos. Además, un elevado número de variables explicativas y un número reducido de elementos muestrales o casos (las empresas estudiadas) puede dar lugar a una pérdida de eficiencia en los estimadores como consecuencia de reducidos grados de libertad.

¿Existe riesgo de que pueda darse un problema de multicolinealidad entre las diferentes variablesexplicativas? ¿Qué efectos podría tener este problema en la calidad de los resultados de la regresión obtenidos?

correlaciones <-cor(Datos)
correlaciones
##                INVIA     INENDEU    INMAPRI   INDEMAN   INVENTA   INEXPERT
## INVIA     1.00000000 -0.04015999 -0.1649180 0.7813107 0.7801599  0.7854479
## INENDEU  -0.04015999  1.00000000  0.9838886 0.4649428 0.4603084 -0.3099590
## INMAPRI  -0.16491800  0.98388863  1.0000000 0.3414156 0.3385095 -0.4144294
## INDEMAN   0.78131070  0.46494279  0.3414156 1.0000000 0.9994593  0.5388292
## INVENTA   0.78015987  0.46030836  0.3385095 0.9994593 1.0000000  0.5365336
## INEXPERT  0.78544791 -0.30995899 -0.4144294 0.5388292 0.5365336  1.0000000
## INEMP     0.82775020  0.41385215  0.2936210 0.9754035 0.9737274  0.6539425
##              INEMP
## INVIA    0.8277502
## INENDEU  0.4138522
## INMAPRI  0.2936210
## INDEMAN  0.9754035
## INVENTA  0.9737274
## INEXPERT 0.6539425
## INEMP    1.0000000

Como ya suponíamos por la regresión lineal obtenida, existen correlaciones entre las variables, algunas de ellas muy fuertes como la existente entre INEMP e INVIA o entre INMAPRI e INENDEU o entre INVENTA e INDEMAN, encontrando muchos más casos de intensidad similar en la tabla.

library(corrplot)
corrplot(correlaciones, method = "circle" )

Gráficamente se aprecia incluso en mayor detalle. La presencia de puntos azules oscuros grandes muestran una correlación entre las variables mayor de 0,8 y encontramos gran existencia de este tipo de puntos, siendo anécdotica la no existencia de puntos, que representa que no hay correlación entre esas variables.

library("car")
vif(regresion)
##    INENDEU    INMAPRI    INDEMAN    INVENTA   INEXPERT      INEMP 
##  107.34864  100.59524 1519.91409 1330.07552   12.24087   81.21457

Cuando se estudia un modelo lineal, también es posible evaluar la multicolinealidad con el método VIF (siglas en inglés de Factor de Inflación de la Varianza).

Con valores mayores de 1 ya deberíamos dudar de la validez de la regresión, y con valores mayores de 5 debemos descartar este tipo de análisis. Como en nuestro caso el valor más pequeño es el del indicador de la opinión de expertos con un valor de 12,24 y que, incluso se alcanzan valores de más de 1500 en alguno de los casos, se concluye que descartamos este tipo de análisis rotundamente.

Con estas evidencias, se procede a aplicar Componentes Principales a estas variables. La idea es poder sustituir en la regresión estas variables por otras que no estén correlacionadas entre sí, que tengan un poder explicativo del comportamiento de la variable dependiente similar, y que sean menos numerosas.

Calculo de las componentes principales a partir de las 6 variables explicativas y resultados en términos del porcentaje de varianza conjunta de las variables originales captado por las diferentes componentes.

Datosdep <-Datos[,-1]
modelo.cp <- prcomp (Datosdep, scale = TRUE)
summary (modelo.cp)
## Importance of components%s:
##                          PC1    PC2     PC3     PC4     PC5     PC6
## Standard deviation     1.922 1.4500 0.42942 0.10410 0.07835 0.01860
## Proportion of Variance 0.616 0.3504 0.03073 0.00181 0.00102 0.00006
## Cumulative Proportion  0.616 0.9664 0.99711 0.99892 0.99994 1.00000

La tabla de las componentes calculadas muestra 3 informaciones correspondientes a las 6 componentes principales obtenidas. La desviación típica es la raíz cuadrada de los autovalores asociados a cada componente. La proporción de la varianza nos dice qué proporción de la varianza de las variables explica cada componente, proporción que se va acumulando en la última fila de la tabla. Cabe señalar que las componentes aparecen ordenadas de más a menos importantes en función de la cantidad de varianza que explican. Así, vemos como con las 2 primeras componentes principales se podría explicar el 96,6% de la varianza de las variables, llegando el valor a ser de un 99,7% si incluimos, además, la tercera componente.

Método del autovalor mayor que la unidad para determinar el número de componentes aretener. ¿Coincide con el resultado del método del gráfico de sedimentación?

autovalores <- modelo.cp$sdev^2
autovalores
## [1] 3.6958832536 2.1023912287 0.1844046475 0.0108366990 0.0061381535
## [6] 0.0003460177
seleccionados <- sum(autovalores > 1)
seleccionados
## [1] 2

Como vemos numéricamente, con el método de seleccionar aquellas componentes con autovalores mayores a la unidad se seleccionarían las dos primeras componentes, pues estos autovalores asociados son 3,69 y 2,10, respectivamente.

plot(autovalores, main = "Gráfico de Sedimentación", 
     xlab = "Nº de Autovalor", ylab="Valor", pch = 16, col = "red4", type = "b", 
     lwd = 2, las = 1)
abline(h = 1, lty = 2, col = "green4")

Ahora gráficamente, podemos observar cómo, efectivamente, los dos valores que quedan por encima de la línea (establecida con un valor constante en el eje Y de 1) son los autovalores asociados a las dos primeras componentes.

Ecuación obtenida para cada una de las componentes principales retenidas.

datosescalados <-scale(Datosdep)
S <- cov(datosescalados)
auto <- eigen(S)
auto
## eigen() decomposition
## $values
## [1] 3.6958832536 2.1023912287 0.1844046475 0.0108366990 0.0061381535
## [6] 0.0003460177
## 
## $vectors
##            [,1]       [,2]        [,3]       [,4]        [,5]         [,6]
## [1,] -0.3182533  0.5375692  0.27581539  0.4321158  0.57864338 -0.110035450
## [2,] -0.2609102  0.5870900  0.33387104 -0.2719036 -0.62590656  0.100452623
## [3,] -0.5078652 -0.1018088 -0.36024884  0.2701486 -0.07724791  0.723174380
## [4,] -0.5068781 -0.1030613 -0.38197788  0.2182918 -0.29205156 -0.673498654
## [5,] -0.2480058 -0.5658643  0.73154346  0.2491605 -0.14508589  0.002013745
## [6,] -0.5042632 -0.1586051  0.04017258 -0.7460777  0.40137456 -0.034868230
factores <- datosescalados %*% auto$vectors
auto$vectors[,1:2]
##            [,1]       [,2]
## [1,] -0.3182533  0.5375692
## [2,] -0.2609102  0.5870900
## [3,] -0.5078652 -0.1018088
## [4,] -0.5068781 -0.1030613
## [5,] -0.2480058 -0.5658643
## [6,] -0.5042632 -0.1586051

Las ecuaciones para cada componente principal seleccionada son las siguientes:

PC1= -0,318INENDEU-0,261INMAPRI-0,508INDEMAN-0,507INVENTA-0,248INEXPERT-0,504INEMP

PC2= 0,538INENDEU+0,587INMAPRI-0,102INDEMAN-0,103INVENTA-0,566INEXPERT-0,159INEMP

Cargas factoriales de las componentes retenidas y, en función de estas cargas,se intenta proponer un significado o sentido económico para cada componente.

coeficientes <- modelo.cp$rotation
cargas <- t(coeficientes[, 1:2])*(sqrt(autovalores[1:2]))
cargas
##        INENDEU    INMAPRI    INDEMAN    INVENTA   INEXPERT      INEMP
## PC1 -0.6118319 -0.5015915 -0.9763546 -0.9744569 -0.4767831 -0.9694298
## PC2 -0.7794552 -0.8512585  0.1476189  0.1494351  0.8204820  0.2299714

Puede observarse como en la primera componente (primera fila) las mayores cargas se concentran en los indicadores de demanda, de ventas y de la opinión de los empresarios. Por otra parte, en la segunda componente (segunda fila), las mayores cargas se encuentran en los indicadores de coste de las materias primas, de opinión de expertos y de nivel de endeudamiento.

A la luz de lo obtenido, se podría decir que la primera componente está relacionada con factores de tipo comercial (ventas y demanda) y la segunda componente estaría más relacionada con los elementos financieros de la empresa (endeudamiento y coste de las materias primas).

Regresión lineal de INVIA en función de las componentes retenidas. resultados de la regresión en lo referente a la bondad del modelo y a la significación individual de los parámetros estimados, comparándolos con los de la regresión del punto 2.

puntuaciones <- datosescalados %*% coeficientes[, 1:seleccionados]
nuevosdatos <- data.frame(Datos, puntuaciones)
nuevosdatos <-nuevosdatos[, -2:-7]
regresion2 <- lm(INVIA ~ PC1 + PC2, data = nuevosdatos)
summary(regresion2)
## 
## Call:
## lm(formula = INVIA ~ PC1 + PC2, data = nuevosdatos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -16.895  -2.195   1.017   3.129  10.690 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  91.6640     1.3074  70.110  < 2e-16 ***
## PC1          -5.0313     0.6977  -7.211 1.46e-06 ***
## PC2           5.6014     0.9251   6.055 1.29e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.847 on 17 degrees of freedom
## Multiple R-squared:  0.8391, Adjusted R-squared:  0.8202 
## F-statistic: 44.33 on 2 and 17 DF,  p-value: 1.802e-07

En primer lugar, puede comprobarse cómo el valor del coeficiente de determinación lineal corregido se mantiene estable en un 82%. También se observa cómo los parámetros correspondientes a las dos variables explicativas son significativas, ya que encontramos p-valores pequeños. El efecto de PC1 (que podemos llamar “factores comerciales”) sobre el indicador de viabilidad de la empresa es negativo, lo que se traduce en que a mayor número de ventas y demanda, menor es el indicador de viabilidad. Por otro lado, el efecto de PC2 (que se puede denominar “factores financieros”) sobre el indicador de viabilidad es positivo, lo que se traduce en que a mayor nivel de endeudamiento y coste de materias primas mayor es el indicador de viabilidad, teniendo aproximadamente la misma intensidad los dos tipos de factores.

Por último, puede comprobarse como la correlación entre las componentes principales, que en esta regresión lineal son las variables explicativas, es nula, ya que son ambas significativas (por tener asociadas un p-valor muy pequeño) y porque ambos estadísticos se encuentran muy alejados de 0.

Estimación del indicador de viabilidad de la empresa para una empresa que presente los siguientes valores en las variables independientes:

variable valor
INENDEU 95
INMAPRI 110
INDEMAN 105
INVENTA 95
INEXPERT 115
INEMP 115
y<- c(95,110,105,95,115,115)
Datospre <-rbind(Datosdep,y)
datosescalados2 <-scale(Datospre)
modelo.cp2 <- prcomp (Datospre, scale = TRUE)
coeficientes2 <- modelo.cp2$rotation
puntuaciones2 <- datosescalados2 %*% coeficientes2[, 1:seleccionados]
nuevosdatos2 <- data.frame(Datospre, puntuaciones2)
nuevosdatos2<- nuevosdatos2[21,7:8]
row.names(nuevosdatos2) <- "empresa_21"
predict.lm(regresion2,nuevosdatos2)
## empresa_21 
##   102.0293

Como vemos, el resultado obtenido de la estimación para el indicador de viabilidad de la empresa presenta un valor de 102,03, lo que parece un valor racional y lógico. Este valor muestra que una empresa con los valores dados por el ejercicio, tendría una mayor indice de viabilidad que la empresa de referencia.