1 Presentación

La regresión logística multinomial constituye una extensión de la regresión logística binaria utilizada cuando la variable dependiente presenta más de dos categorías nominales.

Esta técnica permite modelar la probabilidad de pertenencia a cada categoría de respuesta a partir de un conjunto de variables explicativas, las cuales pueden ser tanto cualitativas como cuantitativas. El enfoque del modelo se basa en comparar cada categoría de interés respecto a una categoría tomada como referencia, permitiendo analizar cómo distintos factores influyen diferencialmente sobre cada resultado posible.

Esta guía desarrolla la aplicación del modelo de regresión logística multinomial para estudiar la capacidad innovadora de las empresas, tomando como referencia un estudio aplicado a pymes paraguayas, publicado en el artículo Capacidad innovadora de las pymes paraguayas.

El problema estadístico se plantea a partir de una variable dependiente categórica con más de dos resultados posibles: empresas que no innovaron, empresas que realizaron innovaciones incrementales y empresas que realizaron innovaciones sustanciales.

2 Objetivos de aprendizaje

Al finalizar esta guía, serás capaz de:

  1. Comprender la utilidad del modelo de regresión logística multinomial para analizar variables dependientes categóricas con más de dos categorías de respuesta.
  2. Reconocer la estructura del modelo multinomial, identificando la categoría de referencia y las comparaciones logit que se estiman entre cada categoría de interés y dicha categoría base.
  3. Especificar correctamente un modelo multinomial aplicado al estudio de la capacidad innovadora de las empresas, incorporando variables explicativas personales, organizacionales y del entorno.
  4. Interpretar los coeficientes estimados del modelo en términos de la variación de la probabilidad de ocurrencia del fenómeno.
  5. Evaluar la significancia individual y global de los parámetros.
  6. Construir e interpretar indicadores de evaluación del modelo, tales como pseudo R2, matriz de clasificación y tasa de clasificación correcta.

3 Contexto aplicado: innovación empresarial

La innovación en pequeñas y medianas empresas no constituye un fenómeno uniforme. La literatura aplicada plantea que los factores que explican la innovación pueden variar según el grado de novedad de las mejoras introducidas. En este sentido, una empresa puede no haber innovado, puede haber incorporado mejoras incrementales o puede haber introducido innovaciones de mayor novedad o sustanciales. La regresión multinomial resulta especialmente útil para estudiar fenómenos complejos y multidimensionales, como los distintos grados de capacidad innovadora de las empresas, posibilitando identificar características personales, organizacionales y del entorno que incrementan o reducen la probabilidad relativa de desarrollar

Desde una perspectiva aplicada, este enfoque permite responder preguntas como:

  • ¿Qué características del empresario se asocian con una mayor probabilidad de innovar?
  • ¿Qué rasgos organizacionales diferencian a las empresas que no innovan de las que realizan innovación incremental?
  • ¿Los factores que explican la innovación incremental son los mismos que explican la innovación sustancial?
  • ¿El entorno empresarial condiciona la probabilidad de innovar?

En esta guía se utiliza como ejemplo la variable dependiente Grad_Prod_Y, que clasifica el grado de innovación de producto/servicio de la empresa en tres categorías:

  1. No innovo
  2. Inn_Incremental
  3. Inn_Sustancial

La categoría No innovo será utilizada como categoría de referencia.

4 Fundamento teórico del modelo multinomial

4.1 Variable dependiente nominal con más de dos categorías

Sea \(Y_i\) una variable dependiente categórica con \(J\) categorías mutuamente excluyentes. En este caso:

\[ Y_i \in \{1,2,3\} \]

donde:

\[ 1 = \text{No innovó}, \quad 2 = \text{Innovación incremental}, \quad 3 = \text{Innovación sustancial} \]

El modelo multinomial permite estimar la probabilidad de que la empresa \(i\) pertenezca a cada categoría de innovación, condicionada a un conjunto de variables explicativas \(X_i\).

4.2 Categoría de referencia

En la regresión multinomial se selecciona una categoría como base de comparación. En esta guía se define:

\[ Y_i = 1 = \text{No innovó} \]

como categoría de referencia. Por tanto, el modelo estima dos ecuaciones:

\[ \log\left(\frac{P(Y_i=2\mid X_i)}{P(Y_i=1\mid X_i)}\right) = \alpha_2 + X_i'\beta_2 \]

\[ \log\left(\frac{P(Y_i=3\mid X_i)}{P(Y_i=1\mid X_i)}\right) = \alpha_3 + X_i'\beta_3 \]

La primera ecuación compara la probabilidad relativa de realizar una innovación incremental frente a no innovar. La segunda compara la probabilidad relativa de realizar una innovación sustancial frente a no innovar.

4.3 Ecuaciones en términos de probabilidad

Definimos los predictores lineales:

\[ \eta_{2i} = \alpha_2 + X_i'\beta_2 \]

\[ \eta_{3i} = \alpha_3 + X_i'\beta_3 \]

Entonces, las probabilidades estimadas se obtienen como:

\[ P(Y_i=1\mid X_i) = \frac{1}{1 + \exp(\eta_{2i}) + \exp(\eta_{3i})} \]

\[ P(Y_i=2\mid X_i) = \frac{\exp(\eta_{2i})}{1 + \exp(\eta_{2i}) + \exp(\eta_{3i})} \]

\[ P(Y_i=3\mid X_i) = \frac{\exp(\eta_{3i})}{1 + \exp(\eta_{2i}) + \exp(\eta_{3i})} \]

Estas tres probabilidades siempre cumplen que:

\[ P(Y_i=1\mid X_i)+P(Y_i=2\mid X_i)+P(Y_i=3\mid X_i)=1 \]

4.4 Desarrollo paso a paso de la probabilidad para cualquier categoría \(j\)

El modelo multinomial parte de una comparación entre cada categoría de respuesta y una categoría de referencia. Supongamos que la categoría de referencia es \(Y=0\).

Para cualquier categoría \(j \neq 0\), el modelo plantea:

\[ \log\left(\frac{\pi_j(\mathbf{x})}{\pi_0(\mathbf{x})}\right)=\eta_j \]

donde:

\[ \eta_j=\beta_{0j}+\beta_{1j}x_1+\beta_{2j}x_2+\cdots+\beta_{kj}x_k \]

El primer paso consiste en eliminar el logaritmo aplicando la función exponencial a ambos lados:

\[ \frac{\pi_j(\mathbf{x})}{\pi_0(\mathbf{x})}=e^{\eta_j} \]

Luego, despejamos la probabilidad de la categoría \(j\):

\[ \pi_j(\mathbf{x})=\pi_0(\mathbf{x})e^{\eta_j} \]

Esto indica que la probabilidad de cada categoría no base puede expresarse como una proporción de la probabilidad de la categoría de referencia.

Como todas las probabilidades deben sumar 1, se cumple que:

\[ \pi_0(\mathbf{x})+\pi_1(\mathbf{x})+\pi_2(\mathbf{x})+\cdots+\pi_{J-1}(\mathbf{x})=1 \]

Reemplazando cada \(\pi_j(\mathbf{x})\) por \(\pi_0(\mathbf{x})e^{\eta_j}\), se obtiene:

\[ \pi_0(\mathbf{x})+\pi_0(\mathbf{x})e^{\eta_1} +\pi_0(\mathbf{x})e^{\eta_2} +\cdots+ \pi_0(\mathbf{x})e^{\eta_{J-1}}=1 \]

Sacando factor común \(\pi_0(\mathbf{x})\):

\[ \pi_0(\mathbf{x}) \left[ 1+e^{\eta_1}+e^{\eta_2}+\cdots+e^{\eta_{J-1}} \right]=1 \]

Por tanto, la probabilidad de la categoría de referencia es:

\[ \pi_0(\mathbf{x})= \frac{1} {1+\sum_{m=1}^{J-1}e^{\eta_m}} \]

Finalmente, como:

\[ \pi_j(\mathbf{x})=\pi_0(\mathbf{x})e^{\eta_j} \]

se reemplaza \(\pi_0(\mathbf{x})\) por su expresión anterior:

\[ \pi_j(\mathbf{x})= \frac{e^{\eta_j}} {1+\sum_{m=1}^{J-1}e^{\eta_m}} \]

Esta es la ecuación general para calcular la probabilidad estimada de cualquier categoría \(j\neq 0\).

Para la categoría de referencia, la ecuación queda como:

\[ \pi_0(\mathbf{x})= \frac{1} {1+\sum_{m=1}^{J-1}e^{\eta_m}} \]

En el caso aplicado a la innovación empresarial, si la categoría de referencia es “No innovó”, las probabilidades serían:

\[ P(Y=\text{No innovó})= \frac{1} {1+e^{\eta_1}+e^{\eta_2}} \]

\[ P(Y=\text{Innovación incremental})= \frac{e^{\eta_1}} {1+e^{\eta_1}+e^{\eta_2}} \]

\[ P(Y=\text{Innovación sustancial})= \frac{e^{\eta_2}} {1+e^{\eta_1}+e^{\eta_2}} \]

donde:

\[ \eta_1 \]

representa la ecuación lineal para “Innovación incremental” frente a “No innovó”, y:

\[ \eta_2 \]

representa la ecuación lineal para “Innovación sustancial” frente a “No innovó”.

5 Lectura e inspección de la base de datos

# install.packages("nnet")
# install.packages("dplyr")
# install.packages("knitr")
# install.packages("kableExtra")

library(nnet)
library(dplyr)
library(knitr)
base1 <- read.table("base1.txt", header = TRUE)

dim(base1)
#> [1] 365  24
str(base1)
#> 'data.frame':    365 obs. of  24 variables:
#>  $ Grad_Proc_Y: chr  "No innovo" "Inn_Incremental" "No innovo" "No innovo" ...
#>  $ Grad_Prod_Y: chr  "No innovo" "No innovo" "Inn_Incremental" "No innovo" ...
#>  $ Sexo       : chr  "Hombre" "Hombre" "Hombre" "Hombre" ...
#>  $ Terciario  : chr  "Si" "Si" "Si" "No" ...
#>  $ P2601      : int  1 1 1 1 1 5 1 5 3 1 ...
#>  $ P2604      : int  3 5 1 1 3 1 3 1 1 3 ...
#>  $ P2603      : int  3 1 1 1 3 1 1 5 3 3 ...
#>  $ P2605      : int  5 5 1 5 2 5 2 2 4 2 ...
#>  $ P2606      : int  2 1 1 1 3 2 3 2 2 2 ...
#>  $ P30        : chr  "Si" "Si" "Si" "Si" ...
#>  $ P3700C     : int  25 22 20 140 30 10 20 25 20 30 ...
#>  $ RECRAMA    : chr  "Servicios no Financiero" "Industria" "Industria" "Industria" ...
#>  $ P3701      : int  5 2 5 2 2 5 5 2 2 1 ...
#>  $ P38_Formal : chr  "Si" "No" "Si" "No" ...
#>  $ P4201      : chr  "Si" "Si" "Si" "Si" ...
#>  $ P4202      : chr  "Si" "Si" "Si" "Si" ...
#>  $ P4203      : chr  "Si" "No" "Si" "Si" ...
#>  $ P60_01     : int  1 5 5 1 5 4 1 2 2 3 ...
#>  $ P60_02     : int  5 5 3 5 2 1 1 2 2 3 ...
#>  $ P60_03     : int  5 3 5 5 2 3 5 5 4 5 ...
#>  $ P60_04     : int  1 5 5 1 2 1 2 3 5 3 ...
#>  $ P60_05     : int  4 1 5 3 2 3 3 3 4 5 ...
#>  $ P60_06     : int  1 3 2 1 2 2 4 1 2 3 ...
#>  $ P60_07     : int  3 3 3 3 2 5 1 3 5 3 ...

5.1 Tratamiento de variables categóricas

Antes de ajustar el modelo, se recomienda definir correctamente las variables categóricas. En particular, se fija la categoría No innovo como referencia de la variable dependiente.

base1 <- base1 %>%
  mutate(
    Grad_Prod_Y = factor(Grad_Prod_Y,
                         levels = c("No innovo", "Inn_Incremental", "Inn_Sustancial")),
    Sexo = factor(Sexo),
    Terciario = factor(Terciario),
    P30 = factor(P30),
    RECRAMA = factor(RECRAMA),
    P38_Formal = factor(P38_Formal),
    P4201 = factor(P4201),
    P4202 = factor(P4202),
    P4203 = factor(P4203)
  )

summary(base1$Grad_Prod_Y)
#>       No innovo Inn_Incremental  Inn_Sustancial 
#>             128             162              75

5.2 Distribución de la variable dependiente

tabla_innovacion <- base1 %>%
  count(Grad_Prod_Y) %>%
  mutate(porcentaje = 100 * n / sum(n))

kable(tabla_innovacion,
      digits = 2,
      caption = "Distribución de empresas según grado de innovación de producto/servicio")
Distribución de empresas según grado de innovación de producto/servicio
Grad_Prod_Y n porcentaje
No innovo 128 35,07
Inn_Incremental 162 44,38
Inn_Sustancial 75 20,55

6 Diccionario de variables del modelo

El modelo multinomial utiliza como variable dependiente el grado de innovación de producto/servicio de la empresa. Las variables explicativas se organizan en tres dimensiones analíticas: características personales del decisor, características de la empresa y características del entorno. Esta organización permite vincular el análisis estadístico con la interpretación del fenómeno de innovación empresarial.

6.1 Variable dependiente

Diccionario de la variable dependiente
Nombre Variable Descripcion Categorias
Grado de innovación Grad_Prod_Y Clasifica a la empresa según el grado de novedad de la innovación de producto o servicio introducida. No innovo; Inn_Incremental; Inn_Sustancial

La categoría No innovo se utiliza como categoría de referencia. En consecuencia, el modelo estima dos comparaciones principales: Inn_Incremental frente a No innovo e Inn_Sustancial frente a No innovo.

6.2 Variables independientes

Diccionario de variables independientes utilizadas en el modelo
Dimension Nombre Variable Tipo Categorias_o_medicion
Características personales Sexo del decisor Sexo Categórica Hombre; Mujer
Características personales Nivel educativo terciario Terciario Categórica Si; No
Características personales Motivación intrínseca P2601 Ordinal / escala Escala de percepción/motivación
Características personales Motivación extrínseca P2604 Ordinal / escala Escala de percepción/motivación
Características personales Motivación por oportunidad P2603 Ordinal / escala Escala de percepción/motivación
Características personales Motivación por necesidad P2605 Ordinal / escala Escala de percepción/motivación
Características personales Formación específica empresarial P30 Categórica Si; No
Características de la empresa Tamaño de la empresa P3700C Cuantitativa Cantidad de personas ocupadas en la empresa
Características de la empresa Sector económico RECRAMA Categórica Comercio; Industria; Servicios no Financiero
Características de la empresa Riesgo empresarial P3701 Ordinal / escala Escala de percepción
Características de la empresa Cooperación formal P38_Formal Categórica Si; No
Características de la empresa Planificación P4201 Categórica Si; No
Características de la empresa Control P4202 Categórica Si; No
Características de la empresa Identificación de mercado P4203 Categórica Si; No
Características de la empresa Formalidad de la empresa P2606 Ordinal / escala Escala de percepción
Características del entorno Competencia informal P60_01 Ordinal / escala Escala de percepción del entorno
Características del entorno Corrupción P60_02 Ordinal / escala Escala de percepción del entorno
Características del entorno Impuestos P60_03 Ordinal / escala Escala de percepción del entorno
Características del entorno Dificultad para encontrar trabajadores cualificados P60_04 Ordinal / escala Escala de percepción del entorno
Características del entorno Obstáculos administrativos y regulatorios P60_05 Ordinal / escala Escala de percepción del entorno
Características del entorno Dificultad de financiación externa P60_06 Ordinal / escala Escala de percepción del entorno
Características del entorno Infraestructura física y tecnológica P60_07 Ordinal / escala Escala de percepción del entorno

En el ajuste del modelo se incorpora explícitamente la variable P3700C, correspondiente al tamaño de la empresa, medida como cantidad de personas ocupadas. Esta variable permite evaluar si el tamaño organizacional se asocia con cambios en la probabilidad relativa de realizar innovación incremental o sustancial frente a no innovar.

7 Ajuste del modelo multinomial

La especificación general del modelo es:

\[ \text{Grado de innovación} = f(\text{características personales},\ \text{características empresariales},\ \text{factores del entorno}) \]

modelo_prod <- multinom(
  Grad_Prod_Y ~ Sexo + Terciario + P2601 + P2604 + P2603 + P2605 + P2606 +
    P30 + P3700C + RECRAMA + P3701 + P38_Formal + P4201 + P4202 + P4203 +
    P60_01 + P60_02 + P60_03 + P60_04 + P60_05 + P60_06 + P60_07,
  data = base1,
  trace = FALSE
)

summary(modelo_prod)
#> Call:
#> multinom(formula = Grad_Prod_Y ~ Sexo + Terciario + P2601 + P2604 + 
#>     P2603 + P2605 + P2606 + P30 + P3700C + RECRAMA + P3701 + 
#>     P38_Formal + P4201 + P4202 + P4203 + P60_01 + P60_02 + P60_03 + 
#>     P60_04 + P60_05 + P60_06 + P60_07, data = base1, trace = FALSE)
#> 
#> Coefficients:
#>                 (Intercept)  SexoMujer TerciarioSi        P2601       P2604
#> Inn_Incremental   -3,239790 -0,4813028 -0,01164724 -0,006798263 -0,07535661
#> Inn_Sustancial    -2,679868 -0,1460288  0,18833655 -0,153810895 -0,09564207
#>                     P2603       P2605       P2606     P30Si      P3700C
#> Inn_Incremental 0,2505823 -0,02022193  0,04354005 0,3099136 0,002473018
#> Inn_Sustancial  0,2250799  0,23564848 -0,13126369 0,5184663 0,001246720
#>                 RECRAMAIndustria RECRAMAServicios no Financiero      P3701
#> Inn_Incremental        0,3107908                     -0,2537258 -0,2081407
#> Inn_Sustancial        -0,3843033                     -0,7236743 -0,1995087
#>                 P38_FormalSi   P4201Si    P4202Si   P4203Si    P60_01
#> Inn_Incremental    0,5493441 1,2691022 -1,1998027 1,2395791 0,2545143
#> Inn_Sustancial     1,0754343 0,8619518 -0,9717289 0,8742829 0,2902812
#>                       P60_02      P60_03     P60_04     P60_05     P60_06
#> Inn_Incremental -0,003138495  0,13800864 0,06884343 0,25775263 -0,1139884
#> Inn_Sustancial   0,048646397 -0,07200622 0,13790203 0,07518565 -0,1639093
#>                     P60_07
#> Inn_Incremental 0,03002041
#> Inn_Sustancial  0,05264150
#> 
#> Std. Errors:
#>                 (Intercept) SexoMujer TerciarioSi     P2601     P2604     P2603
#> Inn_Incremental   0,9946345 0,2878794   0,3280150 0,1192847 0,1018932 0,1069736
#> Inn_Sustancial    1,1824181 0,3402401   0,4148752 0,1431821 0,1208227 0,1242569
#>                     P2605     P2606     P30Si      P3700C RECRAMAIndustria
#> Inn_Incremental 0,1012928 0,1016446 0,2822449 0,006088975        0,3331556
#> Inn_Sustancial  0,1178427 0,1201823 0,3384646 0,007062014        0,3821743
#>                 RECRAMAServicios no Financiero      P3701 P38_FormalSi
#> Inn_Incremental                      0,3933532 0,08815654    0,3121051
#> Inn_Sustancial                       0,4672799 0,10645295    0,3871846
#>                   P4201Si   P4202Si   P4203Si    P60_01    P60_02    P60_03
#> Inn_Incremental 0,5062037 0,6748112 0,4964923 0,1039260 0,1112632 0,1188401
#> Inn_Sustancial  0,6319583 0,8194164 0,5944281 0,1227009 0,1350686 0,1444062
#>                     P60_04    P60_05    P60_06    P60_07
#> Inn_Incremental 0,09451434 0,1281334 0,1423890 0,1514863
#> Inn_Sustancial  0,11500536 0,1503578 0,1672411 0,1846528
#> 
#> Residual Deviance: 667,9903 
#> AIC: 763,9903

8 Resultados del modelo

8.1 Coeficientes, errores estándar, estadísticos z y valores p

Los coeficientes estimados por multinom() se presentan en términos de logaritmos de razones de odds. Para obtener los valores p se calcula el estadístico tipo Wald:

\[ z = \frac{\hat{\beta}}{SE(\hat{\beta})} \]

Luego:

\[ p\text{-valor} = 2 \left[1 - \Phi(|z|)\right] \]

resumen <- summary(modelo_prod)
coeficientes <- resumen$coefficients
errores <- resumen$standard.errors
z_valores <- coeficientes / errores
p_valores <- 2 * (1 - pnorm(abs(z_valores)))
odds_ratio <- exp(coeficientes)

resultados_modelo <- data.frame(
  categoria = rep(rownames(coeficientes), each = ncol(coeficientes)),
  variable = rep(colnames(coeficientes), times = nrow(coeficientes)),
  coeficiente = as.vector(t(coeficientes)),
  error_estandar = as.vector(t(errores)),
  z = as.vector(t(z_valores)),
  p_valor = as.vector(t(p_valores)),
  odds_ratio = as.vector(t(odds_ratio))
)

kable(resultados_modelo,
      digits = 4,
      caption = "Resultados del modelo de regresión logística multinomial")
Resultados del modelo de regresión logística multinomial
categoria variable coeficiente error_estandar z p_valor odds_ratio
Inn_Incremental (Intercept) -3,2398 0,9946 -3,2573 0,0011 0,0392
Inn_Incremental SexoMujer -0,4813 0,2879 -1,6719 0,0945 0,6180
Inn_Incremental TerciarioSi -0,0116 0,3280 -0,0355 0,9717 0,9884
Inn_Incremental P2601 -0,0068 0,1193 -0,0570 0,9546 0,9932
Inn_Incremental P2604 -0,0754 0,1019 -0,7396 0,4596 0,9274
Inn_Incremental P2603 0,2506 0,1070 2,3425 0,0192 1,2848
Inn_Incremental P2605 -0,0202 0,1013 -0,1996 0,8418 0,9800
Inn_Incremental P2606 0,0435 0,1016 0,4284 0,6684 1,0445
Inn_Incremental P30Si 0,3099 0,2822 1,0980 0,2722 1,3633
Inn_Incremental P3700C 0,0025 0,0061 0,4061 0,6846 1,0025
Inn_Incremental RECRAMAIndustria 0,3108 0,3332 0,9329 0,3509 1,3645
Inn_Incremental RECRAMAServicios no Financiero -0,2537 0,3934 -0,6450 0,5189 0,7759
Inn_Incremental P3701 -0,2081 0,0882 -2,3610 0,0182 0,8121
Inn_Incremental P38_FormalSi 0,5493 0,3121 1,7601 0,0784 1,7321
Inn_Incremental P4201Si 1,2691 0,5062 2,5071 0,0122 3,5577
Inn_Incremental P4202Si -1,1998 0,6748 -1,7780 0,0754 0,3013
Inn_Incremental P4203Si 1,2396 0,4965 2,4967 0,0125 3,4542
Inn_Incremental P60_01 0,2545 0,1039 2,4490 0,0143 1,2898
Inn_Incremental P60_02 -0,0031 0,1113 -0,0282 0,9775 0,9969
Inn_Incremental P60_03 0,1380 0,1188 1,1613 0,2455 1,1480
Inn_Incremental P60_04 0,0688 0,0945 0,7284 0,4664 1,0713
Inn_Incremental P60_05 0,2578 0,1281 2,0116 0,0443 1,2940
Inn_Incremental P60_06 -0,1140 0,1424 -0,8005 0,4234 0,8923
Inn_Incremental P60_07 0,0300 0,1515 0,1982 0,8429 1,0305
Inn_Sustancial (Intercept) -2,6799 1,1824 -2,2664 0,0234 0,0686
Inn_Sustancial SexoMujer -0,1460 0,3402 -0,4292 0,6678 0,8641
Inn_Sustancial TerciarioSi 0,1883 0,4149 0,4540 0,6499 1,2072
Inn_Sustancial P2601 -0,1538 0,1432 -1,0742 0,2827 0,8574
Inn_Sustancial P2604 -0,0956 0,1208 -0,7916 0,4286 0,9088
Inn_Sustancial P2603 0,2251 0,1243 1,8114 0,0701 1,2524
Inn_Sustancial P2605 0,2356 0,1178 1,9997 0,0455 1,2657
Inn_Sustancial P2606 -0,1313 0,1202 -1,0922 0,2747 0,8770
Inn_Sustancial P30Si 0,5185 0,3385 1,5318 0,1256 1,6794
Inn_Sustancial P3700C 0,0012 0,0071 0,1765 0,8599 1,0012
Inn_Sustancial RECRAMAIndustria -0,3843 0,3822 -1,0056 0,3146 0,6809
Inn_Sustancial RECRAMAServicios no Financiero -0,7237 0,4673 -1,5487 0,1215 0,4850
Inn_Sustancial P3701 -0,1995 0,1065 -1,8741 0,0609 0,8191
Inn_Sustancial P38_FormalSi 1,0754 0,3872 2,7776 0,0055 2,9313
Inn_Sustancial P4201Si 0,8620 0,6320 1,3639 0,1726 2,3678
Inn_Sustancial P4202Si -0,9717 0,8194 -1,1859 0,2357 0,3784
Inn_Sustancial P4203Si 0,8743 0,5944 1,4708 0,1413 2,3972
Inn_Sustancial P60_01 0,2903 0,1227 2,3658 0,0180 1,3368
Inn_Sustancial P60_02 0,0486 0,1351 0,3602 0,7187 1,0498
Inn_Sustancial P60_03 -0,0720 0,1444 -0,4986 0,6180 0,9305
Inn_Sustancial P60_04 0,1379 0,1150 1,1991 0,2305 1,1479
Inn_Sustancial P60_05 0,0752 0,1504 0,5000 0,6170 1,0781
Inn_Sustancial P60_06 -0,1639 0,1672 -0,9801 0,3270 0,8488
Inn_Sustancial P60_07 0,0526 0,1847 0,2851 0,7756 1,0541

9 Interpretación de parámetros estimados

9.1 Interpretación de los parámetros estimados en términos de probabilidad relativa

En el modelo de regresión logística multinomial, la interpretación de los parámetros se realiza siempre en relación con una categoría de referencia. En este caso, la categoría base es “No innovó”. Por tanto, cada coeficiente indica la dirección del efecto de una variable explicativa sobre la probabilidad relativa de pertenecer a una categoría de innovación respecto a no innovar.

El signo del coeficiente permite identificar la orientación del efecto:

  • Si el coeficiente es positivo, la variable aumenta la probabilidad relativa de pertenecer a la categoría analizada frente a la categoría de referencia.
  • Si el coeficiente es negativo, la variable disminuye la probabilidad relativa de pertenecer a la categoría analizada frente a la categoría de referencia.

Es importante señalar que esta lectura basada solo en el signo permite conocer la dirección del efecto, pero no su intensidad.

Ejemplo para una variable cualitativa

En el modelo ajustado, la variable Sexo_Mujer presenta un coeficiente negativo para la comparación Innovación incremental vs. No innovación.

Esto significa que, manteniendo constantes las demás variables del modelo, las empresas dirigidas por mujeres presentan una menor probabilidad relativa de introducir innovaciones incrementales frente a no innovar, en comparación con las empresas dirigidas por hombres.

La interpretación se formula de esta manera porque la categoría de referencia de la variable sexo es Hombre, y la categoría de referencia de la variable dependiente es No innovó.

Ejemplo para una variable cuantitativa

En el modelo ajustado, la variable Tamaño de la empresa presenta un coeficiente positivo para la comparación Innovación incremental vs. No innovación.

Esto indica que, manteniendo constantes las demás variables del modelo, a medida que aumenta el tamaño de la empresa, medido por la cantidad de trabajadores, aumenta la probabilidad relativa de introducir innovaciones incrementales frente a no innovar.

Sin embargo, dado que esta interpretación se basa únicamente en el signo del coeficiente, solo permite concluir la orientación del efecto. Para conocer la magnitud del cambio sería necesario calcular razones de odds, probabilidades predichas o efectos marginales.

9.2 Interpretación en log-odds

Para una variable explicativa \(X_k\), el coeficiente \(\beta_{jk}\) indica el cambio esperado en el logaritmo de la razón de probabilidades de pertenecer a la categoría \(j\) frente a la categoría de referencia, ante un aumento unitario en \(X_k\), manteniendo constantes las demás variables.

Por ejemplo, si el coeficiente asociado a SexoMujer en la ecuación Inn_Incremental es negativo, entonces:

\[ \log\left(\frac{P(\text{Inn Incremental})}{P(\text{No innovó})}\right) \]

disminuye para empresas dirigidas por mujeres respecto a empresas dirigidas por hombres, manteniendo constantes las demás variables.

9.3 Interpretación en odds ratio

La interpretación suele ser más directa si se transforma el coeficiente mediante la exponencial:

\[ OR = \exp(\hat{\beta}) \]

  • Si \(OR > 1\), aumenta la razón de odds de pertenecer a la categoría analizada frente a la categoría de referencia.
  • Si \(OR < 1\), disminuye la razón de odds de pertenecer a la categoría analizada frente a la categoría de referencia.
  • Si \(OR = 1\), no hay cambio en la razón de odds.

Por ejemplo, si:

\[ \hat{\beta}_{\text{SexoMujer, Inn Incremental}} = -0,48 \]

entonces:

\[ OR = \exp(-0,48) \approx 0,62 \]

Esto indicaría que, manteniendo constantes las demás variables, las empresas dirigidas por mujeres presentan una razón de odds aproximadamente 38% menor de realizar innovación incremental frente a no innovar, en comparación con las empresas dirigidas por hombres.

10 Bondad de ajuste del modelo

10.1 Test global de razón de verosimilitud

El test global compara el modelo completo contra un modelo nulo que contiene únicamente interceptos.

10.1.1 Hipótesis

\[ H_0: \beta_1 = \beta_2 = \cdots = \beta_k = 0 \]

El conjunto de variables explicativas no mejora el ajuste del modelo frente al modelo nulo.

\[ H_1: \text{al menos un } \beta_k \neq 0 \]

Al menos una variable explicativa contribuye significativamente a explicar el grado de innovación.

modelo_nulo <- multinom(Grad_Prod_Y ~ 1, data = base1, trace = FALSE)

anova(modelo_nulo, modelo_prod)
#>                                                                                                                                                                                           Model
#> 1                                                                                                                                                                                             1
#> 2 Sexo + Terciario + P2601 + P2604 + P2603 + P2605 + P2606 + P30 + P3700C + RECRAMA + P3701 + P38_Formal + P4201 + P4202 + P4203 + P60_01 + P60_02 + P60_03 + P60_04 + P60_05 + P60_06 + P60_07
#>   Resid. df Resid. Dev   Test    Df LR stat.        Pr(Chi)
#> 1       728   768,8009           NA       NA             NA
#> 2       682   667,9903 1 vs 2    46 100,8106 0,000005643405

También puede calcularse manualmente el estadístico de razón de verosimilitud:

\[ LR = -2(LL_0 - LL_1) \]

LL0 <- as.numeric(logLik(modelo_nulo))
LL1 <- as.numeric(logLik(modelo_prod))

LR <- -2 * (LL0 - LL1)
gl <- attr(logLik(modelo_prod), "df") - attr(logLik(modelo_nulo), "df")
p_global <- pchisq(LR, df = gl, lower.tail = FALSE)

test_global <- data.frame(
  logLik_nulo = LL0,
  logLik_modelo = LL1,
  LR = LR,
  gl = gl,
  p_valor = p_global
)

kable(test_global,
      digits = 4,
      caption = "Test global de razón de verosimilitud")
Test global de razón de verosimilitud
logLik_nulo logLik_modelo LR gl p_valor
-384,4004 -333,9952 100,8106 46 0

10.2 Test individual de Wald

El test individual evalúa si cada coeficiente estimado es estadísticamente distinto de cero.

10.2.1 Hipótesis para cada parámetro

\[ H_0: \beta_{jk} = 0 \]

\[ H_1: \beta_{jk} \neq 0 \]

Si el valor p es menor al nivel de significancia seleccionado, se rechaza la hipótesis nula y se concluye que la variable presenta evidencia estadística de asociación con la categoría analizada frente a la categoría de referencia.

resultados_modelo %>%
  mutate(significativo_5 = ifelse(p_valor < 0.05, "Sí", "No")) %>%
  filter(p_valor < 0.10) %>%
  arrange(categoria, p_valor) %>%
  kable(digits = 4,
        caption = "Parámetros con evidencia estadística al 10%")
Parámetros con evidencia estadística al 10%
categoria variable coeficiente error_estandar z p_valor odds_ratio significativo_5
Inn_Incremental (Intercept) -3,2398 0,9946 -3,2573 0,0011 0,0392
Inn_Incremental P4201Si 1,2691 0,5062 2,5071 0,0122 3,5577
Inn_Incremental P4203Si 1,2396 0,4965 2,4967 0,0125 3,4542
Inn_Incremental P60_01 0,2545 0,1039 2,4490 0,0143 1,2898
Inn_Incremental P3701 -0,2081 0,0882 -2,3610 0,0182 0,8121
Inn_Incremental P2603 0,2506 0,1070 2,3425 0,0192 1,2848
Inn_Incremental P60_05 0,2578 0,1281 2,0116 0,0443 1,2940
Inn_Incremental P4202Si -1,1998 0,6748 -1,7780 0,0754 0,3013 No
Inn_Incremental P38_FormalSi 0,5493 0,3121 1,7601 0,0784 1,7321 No
Inn_Incremental SexoMujer -0,4813 0,2879 -1,6719 0,0945 0,6180 No
Inn_Sustancial P38_FormalSi 1,0754 0,3872 2,7776 0,0055 2,9313
Inn_Sustancial P60_01 0,2903 0,1227 2,3658 0,0180 1,3368
Inn_Sustancial (Intercept) -2,6799 1,1824 -2,2664 0,0234 0,0686
Inn_Sustancial P2605 0,2356 0,1178 1,9997 0,0455 1,2657
Inn_Sustancial P3701 -0,1995 0,1065 -1,8741 0,0609 0,8191 No
Inn_Sustancial P2603 0,2251 0,1243 1,8114 0,0701 1,2524 No

11 Indicadores de evaluación del modelo

11.1 Pseudo R cuadrado de Nagelkerke

En modelos multinomiales no se utiliza el \(R^2\) clásico de regresión lineal. Una alternativa es el pseudo \(R^2\) de Nagelkerke:

\[ R^2_N = \frac{1 - \exp\left(\frac{2}{n}(LL_0 - LL_1)\right)}{1 - \exp\left(\frac{2}{n}LL_0\right)} \]

n <- nrow(base1)
R2_N <- (1 - exp((2 / n) * (LL0 - LL1))) / (1 - exp((2 / n) * LL0))

R2_N
#> [1] 0,2747697

Este indicador toma valores entre 0 y 1. Valores más altos indican mayor capacidad explicativa relativa del modelo respecto al modelo nulo. No debe interpretarse como proporción exacta de varianza explicada, sino como una medida comparativa de ajuste.

11.2 Matriz de clasificación y tasa de clasificación correcta

El modelo permite obtener la categoría predicha como aquella con mayor probabilidad estimada.

prob_pred <- predict(modelo_prod, type = "probs")
clase_pred <- colnames(prob_pred)[max.col(prob_pred)]
clase_pred <- factor(clase_pred, levels = levels(base1$Grad_Prod_Y))

matriz_clasificacion <- table(
  Observado = base1$Grad_Prod_Y,
  Predicho = clase_pred
)

matriz_clasificacion
#>                  Predicho
#> Observado         No innovo Inn_Incremental Inn_Sustancial
#>   No innovo              77              44              7
#>   Inn_Incremental        35             119              8
#>   Inn_Sustancial         21              43             11
tasa_clasificacion <- sum(diag(matriz_clasificacion)) / sum(matriz_clasificacion)
tasa_clasificacion
#> [1] 0,5671233

La tasa de clasificación correcta se calcula como:

\[ TCC = \frac{\text{número de casos correctamente clasificados}}{\text{número total de casos}} \]

11.3 Probabilidades predichas para perfiles empresariales

Además de los coeficientes, el modelo puede utilizarse para estimar probabilidades de innovación para perfiles concretos de empresas.

nuevo_perfil <- data.frame(
  Sexo = factor("Hombre", levels = levels(base1$Sexo)),
  Terciario = factor("Si", levels = levels(base1$Terciario)),
  P2601 = 3,
  P2604 = 3,
  P2603 = 3,
  P2605 = 3,
  P2606 = 3,
  P30 = factor("Si", levels = levels(base1$P30)),
  P3700C = mean(base1$P3700C, na.rm = TRUE),
  RECRAMA = factor("Comercio", levels = levels(base1$RECRAMA)),
  P3701 = 3,
  P38_Formal = factor("Si", levels = levels(base1$P38_Formal)),
  P4201 = factor("Si", levels = levels(base1$P4201)),
  P4202 = factor("Si", levels = levels(base1$P4202)),
  P4203 = factor("Si", levels = levels(base1$P4203)),
  P60_01 = 3,
  P60_02 = 3,
  P60_03 = 3,
  P60_04 = 3,
  P60_05 = 3,
  P60_06 = 3,
  P60_07 = 3
)

predict(modelo_prod, newdata = nuevo_perfil, type = "probs")

12 Selección de modelo mediante stepwise

El procedimiento step() puede utilizarse con fines exploratorios para identificar una especificación más parsimoniosa. Sin embargo, debe utilizarse con cautela y siempre con fundamento teórico.

modelo_step <- step(modelo_prod, trace = FALSE)
summary(modelo_step)

13 Ejercicio de fijación

Utilizando la base base1.txt, realice las siguientes actividades:

  1. Ajuste un modelo multinomial utilizando como variable dependiente Grad_Proc_Y.
  2. Defina como categoría de referencia Inn_Incremental.
  3. Estime los coeficientes, errores estándar, estadísticos z, valores p y odds ratios.
  4. Aplique un test global de razón de verosimilitud contra un modelo nulo.
  5. Calcule el pseudo \(R^2\) de Nagelkerke.
  6. Construya la matriz de clasificación y calcule la tasa de clasificación correcta.
  7. Redacte un resumen ejecutivo de los principales resultados obtenidos.

14 Mensaje metodológico final

La regresión logística multinomial es una herramienta útil cuando la variable dependiente presenta más de dos categorías y se desea analizar cómo un conjunto de covariables modifica la probabilidad relativa de pertenecer a cada categoría frente a una categoría base. En el estudio de la innovación empresarial, permite identificar si los factores personales, organizacionales y del entorno inciden de manera diferenciada sobre la probabilidad de realizar innovaciones incrementales o sustanciales.

Desde una perspectiva de investigación aplicada, el valor del modelo no se limita a identificar significancia estadística. También permite construir probabilidades predichas para perfiles empresariales concretos, evaluar la capacidad de clasificación del modelo y discutir la dirección e intensidad de los factores asociados a la capacidad innovadora de las empresas.

Nota metodológica: La presente guía fue elaborada con apoyo de herramientas de inteligencia artificial generativa, específicamente ChatGPT de OpenAI, como asistencia en la estructuración y redacción del material. La selección de contenidos, la validación conceptual y la revisión final son responsabilidad del docente.

15 Bibliografía

  • Agresti, A. (2018). An Introduction to Categorical Data Analysis. Wiley.

  • Hosmer, D. W., Lemeshow, S. y Sturdivant, R. X. (2013). Applied Logistic Regression. Wiley.

  • Wickham, H., François, R., Henry, L., Müller, K., y Vaughan, D. dplyr: A Grammar of Data Manipulation. R package.

  • Schauberger, P., y Walker, A. openxlsx: Read, Write and Edit xlsx Files. R package.

  • Xie, Y. knitr: A General-Purpose Package for Dynamic Report Generation in R. R package.

  • Ripley, B., & Venables, W. (2023). nnet: Feed-Forward Neural Networks and Multinomial Log-Linear Models (R package version 7.3-19). Comprehensive R Archive Network (CRAN). https://CRAN.R-project.org/package=nnet

  • Sanabria, D. (2024). Capacidad innovadora de las pequeñas y medianas empresas paraguayas: un análisis mediante regresión logística multinomial. Población y Desarrollo, 27(53), 29-45. https://scielo.iics.una.py/pdf/pdfce/v27n53/2076-054x-pdfce-27-53-29.pdf