Modelos de Respuesta Ordinal

En diversas investigaciones se presentan variables de respuesta de respuesta ordinal, estas variables indican una jerarquización o un orden natural, y existen métodos de estimación para este tipo de datos.

Datos Ordenados

En muchas ocasiones la variable respuesta puede tener más de dos resultados, y a menudo estos suelen ser ordinales por naturaleza. Por ejemplo:

  • Categorías de edad.
  • Grado de Satisfacción de un Producto
  • Nivel de Educación.

Para estimar las probabilidades de pertenencia en cada uno de estos grupos no se debe usar los modelos logit o probit para datos de respuesta binaria, mucho menos MCO, ya que lo que se quiere estimar son las probabilidades de que cada caso u observación pertenezca a cierta categoría.

Modelos de Alternativas Ordenadas

Si la variable dependiente de un modelo de elección discreta, \(y_i\), expresa preferencias u opiniones de los individuos sobre una determinada cuestión, las alternativas del proceso de decisión pueden expresar implícitamente un orden de utilidad y tener, por tanto, ser de carácter ordinal. Los modelos de estimación son el modelo porbit y logit, pero adaptados para este tipo de variables de respuesta. Se construye a partir de una regresión latente, siendo: \[ y* = \beta´x+e \] Donde \(y*\) es una variable que no se observa, lo observable es: \[ y = 0 \text{ si } y* \leq 0 \\ y = 1 \text{ si } < y* \leq \mu_1 \\ y = 2 \text{ si } \mu_1 < y* \leq \mu_2 \\ \vdots \\ y = j \text{ si } \mu_{j-1} \leq y* \] Por ejemplo, en una encuesta de opinión las preferencias de los encuestados dependen de ciertos factores medibles 𝑥 y de otros factores no observables 𝜀. Al inicio pueden responder al cuestionario según su propia opinión 𝑦 ∗, pera de existir opciones de respuesta, entonces escogen aquella que mejor refleja sus propias preferencias sobre el tema. Para obtener cada uno de los parámetros se realiza una estimación por Máxima Verosimilitud. Distribución de Probabilidad

Estimación en R

Se tiene un base de datos de 850 clientes de un banco, se quiere estimar la probabilidad de que tengan cierto nivel de educación en base a variables como el ingreso, la experiencia en la empresa donde trabajan y la edad. Como la variable dependiente (nivel educativo), sigue una jerarquización, esto nos sugiere que un logit o un probit ordenado será beneficioso para explicar dicha variable. Para realizar la estimación de modelo ordenados en R, se debe hacer uso de la función polr(), que forma parte del paquete MASS. Se debe recordar que la opción predeterminada es la estimación logit, para especificar el probit se debe indicar en las opciones method = “probit”.

## Warning: package 'MASS' was built under R version 4.0.4

Se debe tener en cuenta que para estimar el modelo la variable de respuesta debe estar fijada como variable de factor, para eso se aplica la función factor() sobre la variable explicada. Los resultados de la estimación serán los siguientes:

## Call:
## polr(formula = factor(educ) ~ edad + empleo + ingresos, data = bankloan, 
##     Hess = TRUE)
## 
## Coefficients:
##              Value Std. Error  t value
## edad      0.005529   0.010386   0.5323
## empleo   -0.165654   0.016278 -10.1765
## ingresos  0.030614   0.003037  10.0819
## 
## Intercepts:
##     Value    Std. Error t value 
## 1|2   0.3538   0.3161     1.1194
## 2|3   1.9072   0.3232     5.9013
## 3|4   3.2855   0.3481     9.4396
## 4|5   6.1514   0.6125    10.0439
## 
## Residual Deviance: 1761.083 
## AIC: 1775.083

Estos resultados muestran en primer lugar una tabla con coeficientes, en donde se puede observar que para la variable empleo existe una relación inversa con la probabilidad de que se tenga el más alto nivel de educación. Se observan también los interceptos, también llamados puntos de corte, estos interceptos o puntos de corte indican donde se corta a la variable latente para separar los 5 grupos en donde observamos nuestra data. En general, estos no son usados para la interpretación de los resultados. Finalmente se observa también la desvianza residual y también el Criterio de Información de Akaike (AIC), muy útil para hacer comparaciones sobre el modelo. Para obtener las probabilidades se debe crear un nuevo conjunto de datos con las variables, en este caso se quiere la probabilidad de cada nivel cuando las variables toman su valor medio:

##     empleo     edad ingresos predict(reg, ndata, type = "probs")
## 1 8.565882 35.02941 46.67529                         0.537466858
## 2 8.565882 35.02941 46.67529                         0.308531859
## 3 8.565882 35.02941 46.67529                         0.110137981
## 4 8.565882 35.02941 46.67529                         0.041258469
## 5 8.565882 35.02941 46.67529                         0.002604833

Los resultados nos indican que, de acuerdo a la base de datos en promedio, existen mayores probabilidades de que un cliente pertenezce al nivel educativo más bajo, es decir, al nivel 1, mientras que hay pocas probabilidades de que alguien pertenezca al nivel educativo más alto.

Ejemplo

Ejemplo 1: Logit Ordenado

La base de datos adjunta explica la influencia de la decisión de aplicar a la escuela de postgrado, estudiantes de pregrado son consultados si sería improbable, algo probable o muy probable aplicar a la escuela de postgrado. Las variables dependientes son la educación de los padres (binaria), una variable que indica si la institución de pregrado es pública o privada y el puntaje promedio de grado.

## # A tibble: 6 x 4
##                 apply pared public   gpa
##             <dbl+lbl> <dbl>  <dbl> <dbl>
## 1 2 [very likely]         0      0  3.26
## 2 1 [somewhat likely]     1      0  3.21
## 3 0 [unlikely]            1      1  3.94
## 4 1 [somewhat likely]     0      0  2.81
## 5 1 [somewhat likely]     0      0  2.53
## 6 0 [unlikely]            0      1  2.59

Una vez abiertos los datos se procede a estimar el modelo, con el comando ‘polr’, se deberá especificar para el caso de las variables categóricas la función factor(). La sintaxis para el procedimiento será la siguiente:

## Call:
## polr(formula = factor(apply) ~ factor(pared) + factor(public) + 
##     gpa, data = dat, Hess = TRUE)
## 
## Coefficients:
##                    Value Std. Error t value
## factor(pared)1   1.04769     0.2658  3.9418
## factor(public)1 -0.05879     0.2979 -0.1974
## gpa              0.61594     0.2606  2.3632
## 
## Intercepts:
##     Value   Std. Error t value
## 0|1  2.2039  0.7795     2.8272
## 1|2  4.2994  0.8043     5.3453
## 
## Residual Deviance: 717.0249 
## AIC: 727.0249

Los valores de los coeficientes para las variables ‘gpa’ y ‘pared’ son estadísticamente significativos, pero el coeficiente para la variable public no es significativo estadísticamente.

Ejemplo 2: Logit Ordenado II

Se tiene la base de datos ‘customer_dbase”, esta base de datos hipotética sobre información de individuos, En el siguiente ejemplo se estimará un modelo donde se observe la Probabilidad de que el individuo tenga ciertas ideas políticas y que los términos independientes sean la edad, la educación, una variable de pertenencia a un sindicato, la satisfacción laboral y el logaritmo de los ingresos familiares.

La variable dependiente contará con 7 alternativas:

  • Extremadamente liberal
  • Liberal
  • Ligeramente liberal
  • Moderado
  • Ligeramente Conservador
  • Convservador
  • Extremadamente Conservador

Se regresionará el modelo que tendrá la siguiente forma:

## Call:
## polr(formula = factor(polview) ~ age + union + lninc + factor(jobsat), 
##     data = customer, Hess = TRUE)
## 
## Coefficients:
##                     Value Std. Error t value
## age             0.0005888   0.001568  0.3755
## union           0.0861766   0.070488  1.2226
## lninc           0.2052847   0.035278  5.8190
## factor(jobsat)2 0.0519361   0.081307  0.6388
## factor(jobsat)3 0.0961094   0.082750  1.1614
## factor(jobsat)4 0.1820659   0.086362  2.1082
## factor(jobsat)5 0.0375419   0.092623  0.4053
## 
## Intercepts:
##     Value    Std. Error t value 
## 1|2  -2.5288   0.1587   -15.9328
## 2|3  -0.8142   0.1433    -5.6828
## 3|4  -0.0317   0.1419    -0.2230
## 4|5   1.4347   0.1433    10.0090
## 5|6   2.3615   0.1459    16.1861
## 6|7   4.9360   0.1792    27.5417
## 
## Residual Deviance: 16782.18 
## AIC: 16808.18

El modelo estimado muestra significancia a nivel individual sólo para la variable lninc.

Bibliografía