El Modelo de Logit Adyacente es una extensión de la regresión logística diseñada para analizar variables de respuesta con categorías ordinales. A diferencia de otros modelos ordinales, este enfoque compara categorías consecutivas, permitiendo estudiar cómo las variables explicativas influyen en la transición entre niveles adyacentes de la escala.
Si la variable respuesta posee categorías ordenadas
\[
1 < 2 < 3 < \cdots < J,
\]
el modelo estima \(J - 1\) ecuaciones,
cada una correspondiente a la comparación entre dos categorías vecinas.
La forma funcional del modelo para cada par \((j, j+1)\) es:
\[ \log\left(\frac{P(Y = j+1 \mid X)}{P(Y = j \mid X)}\right) = \alpha_j + \beta^\top X, \]
donde:
- \(\alpha_j\) es el intercepto
asociado al punto de corte entre las categorías \(j\) y \(j+1\),
- \(\beta\) es el vector de
coeficientes comunes para todas las transiciones,
- \(X\) representa las variables
explicativas.
Este modelo es especialmente útil cuando interesa evaluar cómo ciertos factores afectan el paso de un nivel de satisfacción (o cualquier atributo ordinal) al siguiente, proporcionando una interpretación clara y detallada sobre los cambios entre categorías consecutivas.
El objetivo de este análisis es evaluar el nivel de satisfacción que tienen los egresados de la Universidad del Norte respecto al acceso a oportunidades laborales después de su graduación. La variable de interés, denominada AOL (Acceso a Oportunidades Laborales), se encuentra estructurada en tres categorías ordinales:
Dado que estas categorías poseen un orden natural, es adecuado utilizar un enfoque estadístico que conserve esta jerarquía y permita modelar la transición entre niveles de satisfacción.
Para este propósito se emplea el Modelo de Logit Adyacente (Adjacent Category Logit Model), una técnica de regresión ordinal que compara categorías consecutivas de la variable respuesta. Si las categorías se representan como:
\[ 1 < 2 < 3 < \cdots < J, \]
el modelo estima \(J - 1\) ecuaciones del tipo:
\[ \log \left( \frac{P(Y = j + 1)}{P(Y = j)} \right) = \alpha_j + \beta^\top X, \]
donde cada ecuación evalúa la razón de probabilidades entre dos niveles adyacentes de satisfacción. Esto permite analizar cómo variables explicativas influyen en el paso de un nivel al siguiente.
En este estudio se consideran como predictores:
El uso del Modelo de Logit Adyacente es especialmente apropiado porque permite interpretar los cambios entre categorías vecinas de satisfacción y detectar si factores académicos, socioeconómicos o laborales alteran significativamente la probabilidad de mejorar o empeorar el nivel de percepción sobre las oportunidades laborales posteriores al grado.
Evaluar cómo factores académicos, socioeconómicos y laborales influyen en el nivel de satisfacción de los egresados de la Universidad del Norte respecto al acceso a oportunidades laborales después de su graduación, mediante la aplicación del Modelo de Logit Adyacente.
Sea \(Y\) una variable respuesta ordinal con categorías ordenadas:
\[ 1 < 2 < \cdots < J. \]
El Modelo de Logit Adyacente especifica, para cada par de categorías consecutivas \((j, j+1)\), la siguiente relación:
\[ \log \left( \frac{P(Y = j+1 \mid X)}{P(Y = j \mid X)} \right) = \alpha_j + \boldsymbol{\beta}^\top \mathbf{X}, \]
donde:
Si la variable \(Y\) tiene \(J\) categorías, entonces existen \(J - 1\) ecuaciones adyacentes.
Por tanto, el vector completo de parámetros logísticos se escribe
como:
\[ \boldsymbol{\theta} = \begin{pmatrix} \alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_{J-1} \\ \boldsymbol{\beta} \end{pmatrix}. \]
Si \(\boldsymbol{\beta}\) tiene \(p\) coeficientes, entonces:
\[ \boldsymbol{\theta} \in \mathbb{R}^{(J-1) + p}. \]
Los estimadores de máxima verosimilitud obtenidos del modelo se expresan como:
\[ \widehat{\boldsymbol{\theta}} = \begin{pmatrix} \widehat{\alpha}_1 \\ \widehat{\alpha}_2 \\ \vdots \\ \widehat{\alpha}_{J-1} \\ \widehat{\boldsymbol{\beta}} \end{pmatrix}. \]
Donde:
En el caso de tu análisis, con tres niveles de satisfacción (Insatisfecho, Satisfecho, Muy satisfecho), se tienen:
\[ J = 3, \quad J - 1 = 2 \text{ ecuaciones} \]
por lo que:
\[ \boldsymbol{\theta} = \begin{pmatrix} \alpha_1 \\ \alpha_2 \\ \beta_{\text{Division}} \\ \beta_{\text{Estrato}} \\ \beta_{\text{Slaboral}} \end{pmatrix}. \]
y su vector de estimadores:
\[ \widehat{\boldsymbol{\theta}} = \begin{pmatrix} \widehat{\alpha}_1 \\ \widehat{\alpha}_2 \\ \widehat{\beta}_{\text{Division}} \\ \widehat{\beta}_{\text{Estrato}} \\ \widehat{\beta}_{\text{Slaboral}} \end{pmatrix}. \]
La base de datos utilizada en este estudio corresponde a una muestra recopilada durante el año 2024, conformada por egresados de los últimos cinco años pertenecientes a los distintos programas de pregrado de la institución. El objetivo de esta recolección es obtener información actualizada sobre características académicas, laborales y de percepción de los egresados, permitiendo analizar su nivel de satisfacción y explorar factores asociados a sus resultados profesionales.
La información fue obtenida mediante el proceso institucional de seguimiento a egresados, utilizando criterios uniformes para todos los programas. La base de datos incluye variables de tipo sociodemográfico, académico y de percepción, entre ellas:
La muestra resultante es representativa de la población reciente de egresados y permite realizar análisis estadísticos inferenciales, incluyendo el modelo logístico ordinal de categorías adyacentes aplicado en este informe.
# Instalación y librerías
library(VGAM)
## Warning: package 'VGAM' was built under R version 4.4.3
## Cargando paquete requerido: stats4
## Cargando paquete requerido: splines
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
# Exploración inicial de los datos
datos_e <- read_excel("C:/Users/LUIS PINO/Documents/P_final_estrato.xlsx")
head(datos_e)
## # A tibble: 6 × 5
## Usuario AOL Division Estrato Slaboral
## <chr> <chr> <chr> <dbl> <chr>
## 1 fcamilo Insatisfecho DCPRI 6 Activo
## 2 gutierrezvaleria Insatisfecho DCPRI 3 Inactivo
## 3 hcarbal Insatisfecho OTRAS 4 Activo
## 4 daiderl Insatisfecho INGENIERÍA 1 Inactivo
## 5 yinetho Insatisfecho NEGOCIOS 4 Activo
## 6 rcceledon Insatisfecho NEGOCIOS 4 Activo
datos <- read_excel("C:/Users/LUIS PINO/Documents/dataset5.xlsx")
head(datos)
## # A tibble: 6 × 16
## Timestamp PM2.5 Temperature Humidity Soil_Moisture
## <dttm> <dbl> <dbl> <dbl> <dbl>
## 1 2018-01-01 00:00:00 120. 21.9 54.0 22.5
## 2 2018-01-01 01:00:00 74.7 19.8 54.3 24.0
## 3 2018-01-01 02:00:00 69.1 26.7 99.0 11.6
## 4 2018-01-01 03:00:00 69.1 20.2 36.4 36.1
## 5 2018-01-01 04:00:00 232. 21.9 79.4 43.5
## 6 2018-01-01 05:00:00 143. 15.2 96.3 37.9
## # ℹ 11 more variables: Biodiversity_Index <dbl>, Nutrient_Level <dbl>,
## # Water_Quality <dbl>, Air_Quality_Index <dbl>, Pollution_Level <chr>,
## # Soil_pH <dbl>, Dissolved_Oxygen <dbl>, Chemical_Oxygen_Demand <dbl>,
## # Biochemical_Oxygen_Demand <dbl>, Total_Dissolved_Solids <dbl>,
## # Ecological_Health_Label <chr>
La base de datos contiene un conjunto de variables sociodemográficas, académicas y laborales que permiten caracterizar a los egresados y analizar sus niveles de satisfacción. A continuación se presenta una descripción general de las principales variables incluidas:
# Variable respuesta ordenada correctamente
datos_e$AOL <- factor(datos_e$AOL,
levels = c("Insatisfecho", "Satisfecho", "Muy_satisfecho"),
ordered = TRUE)
# División académica (nominal)
datos_e$Division <- factor(datos_e$Division)
# Estrato socioeconomico
datos_e$Estrato <- factor(datos_e$Estrato)
str(datos_e)
## tibble [1,925 × 5] (S3: tbl_df/tbl/data.frame)
## $ Usuario : chr [1:1925] "fcamilo" "gutierrezvaleria" "hcarbal" "daiderl" ...
## $ AOL : Ord.factor w/ 3 levels "Insatisfecho"<..: 1 1 1 1 1 1 1 1 1 1 ...
## $ Division: Factor w/ 7 levels "AD","DCPRI","HUMANIDADES",..: 2 2 6 4 5 5 2 2 2 5 ...
## $ Estrato : Factor w/ 6 levels "1","2","3","4",..: 6 3 4 1 4 4 5 5 4 3 ...
## $ Slaboral: chr [1:1925] "Activo" "Inactivo" "Activo" "Inactivo" ...
ggplot(datos_e, aes(x = AOL)) +
geom_bar(aes(y = (..count..) / sum(..count..)),
fill = "steelblue") +
geom_text(
aes(label = scales::percent((..count..) / sum(..count..), accuracy = 1),
y = ((..count..) / sum(..count..)) + 0.02),
stat = "count"
) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
labs(title = "Distribución porcentual de satisfacción sobre oportunidades laborales",
x = "Nivel de satisfacción",
y = "Porcentaje") +
theme_minimal()
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Gráfico exploratorio 2: Satisfacción por División Académica
df_prop <- datos_e %>%
group_by(Division, AOL) %>%
summarise(n = n(), .groups = "drop") %>%
group_by(Division) %>%
mutate(prop = n / sum(n))
ggplot(df_prop, aes(x = Division, y = prop, fill = AOL)) +
geom_col(position = "fill") +
geom_text(aes(label = scales::percent(prop, accuracy = 1)),
position = position_fill(vjust = 0.5),
color = "black",
size = 3) +
labs(title = "Proporción de satisfacción por División Académica",
x = "División",
y = "Proporción") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_fill_brewer(palette = "Blues") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
# Gráfico exploratorio 3: Satisfacción por Estrato
df_prop_est <- datos_e %>%
group_by(Estrato, AOL) %>%
summarise(n = n(), .groups = "drop") %>%
group_by(Estrato) %>%
mutate(prop = n / sum(n))
ggplot(df_prop_est, aes(x = factor(Estrato), y = prop, fill = AOL)) +
geom_col(position = "fill") +
geom_text(aes(label = scales::percent(prop, accuracy = 1)),
position = position_fill(vjust = 0.5),
color = "black",
size = 3) +
labs(title = "Proporción de satisfacción por Estrato socioeconómico",
x = "Estrato",
y = "Porcentaje") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_fill_brewer(palette = "Blues") +
theme_minimal()
df_prop_sl <- datos_e %>%
group_by(Slaboral, AOL) %>%
summarise(n = n(), .groups = "drop") %>%
group_by(Slaboral) %>%
mutate(prop = n / sum(n))
# Gráfico exploratorio 4: Satisfacción según Situación Laboral
ggplot(df_prop_sl, aes(x = Slaboral, y = prop, fill = AOL)) +
geom_col(position = position_dodge(width = 0.9)) +
geom_text(aes(label = scales::percent(prop, accuracy = 1)),
position = position_dodge(width = 0.9),
vjust = -0.3,
color = "black",
size = 3) +
labs(title = "Satisfacción según situación laboral actual",
x = "Situación laboral",
y = "Porcentaje") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1),
limits = c(0, 1)) +
scale_fill_brewer(palette = "Blues") +
theme_minimal()
Ahora se ajusta un modelo Logit Adyacente usando la función vglm() de R.
# Ajuste del modelo con la variable Estrato
modelo_comp <- vglm(AOL ~ Division + Slaboral + Estrato,
family = acat(parallel = TRUE),
data = datos_e)
# Ver resumen del modelo
summary(modelo_comp)
##
## Call:
## vglm(formula = AOL ~ Division + Slaboral + Estrato, family = acat(parallel = TRUE),
## data = datos_e)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept):1 0.41300 0.14844 2.782 0.005399 **
## (Intercept):2 0.25878 0.14395 1.798 0.072225 .
## DivisionDCPRI 0.05859 0.12796 0.458 0.647044
## DivisionHUMANIDADES 0.10049 0.12296 0.817 0.413796
## DivisionINGENIERÍA 0.40793 0.11758 3.470 0.000521 ***
## DivisionNEGOCIOS 0.52284 0.11806 4.429 9.48e-06 ***
## DivisionOTRAS -0.10423 0.13762 -0.757 0.448806
## DivisionSALUD 0.83403 0.15213 5.482 4.20e-08 ***
## SlaboralInactivo -0.32491 0.07627 -4.260 2.04e-05 ***
## Estrato2 0.01917 0.12277 0.156 0.875938
## Estrato3 -0.08498 0.11249 -0.755 0.450005
## Estrato4 0.08819 0.11529 0.765 0.444270
## Estrato5 -0.06284 0.13624 -0.461 0.644609
## Estrato6 0.20602 0.14927 1.380 0.167533
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Names of linear predictors: loglink(P[Y=2]/P[Y=1]), loglink(P[Y=3]/P[Y=2])
##
## Residual deviance: 3758.625 on 3836 degrees of freedom
##
## Log-likelihood: -1879.312 on 3836 degrees of freedom
##
## Number of Fisher scoring iterations: 4
##
## No Hauck-Donner effect found in any of the estimates
##
##
## Exponentiated coefficients:
## DivisionDCPRI DivisionHUMANIDADES DivisionINGENIERÍA DivisionNEGOCIOS
## 1.0603405 1.1057101 1.5037021 1.6868177
## DivisionOTRAS DivisionSALUD SlaboralInactivo Estrato2
## 0.9010153 2.3025882 0.7225933 1.0193516
## Estrato3 Estrato4 Estrato5 Estrato6
## 0.9185346 1.0922002 0.9390913 1.2287773
# Ajuste del modelo sin la variable Estrato - parallel = True
modelo_acat <- vglm(AOL ~ Division + Slaboral,
family = acat(parallel = TRUE),
data = datos_e)
# Ver resumen del modelo
summary(modelo_acat)
##
## Call:
## vglm(formula = AOL ~ Division + Slaboral, family = acat(parallel = TRUE),
## data = datos_e)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept):1 0.43249 0.11342 3.813 0.000137 ***
## (Intercept):2 0.28598 0.10708 2.671 0.007571 **
## DivisionDCPRI 0.04695 0.12742 0.368 0.712529
## DivisionHUMANIDADES 0.08562 0.12246 0.699 0.484476
## DivisionINGENIERÍA 0.39047 0.11679 3.343 0.000828 ***
## DivisionNEGOCIOS 0.51376 0.11772 4.364 1.28e-05 ***
## DivisionOTRAS -0.12850 0.13642 -0.942 0.346209
## DivisionSALUD 0.80799 0.15136 5.338 9.38e-08 ***
## SlaboralInactivo -0.32047 0.07573 -4.232 2.32e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Names of linear predictors: loglink(P[Y=2]/P[Y=1]), loglink(P[Y=3]/P[Y=2])
##
## Residual deviance: 3766.644 on 3841 degrees of freedom
##
## Log-likelihood: -1883.322 on 3841 degrees of freedom
##
## Number of Fisher scoring iterations: 4
##
## No Hauck-Donner effect found in any of the estimates
##
##
## Exponentiated coefficients:
## DivisionDCPRI DivisionHUMANIDADES DivisionINGENIERÍA DivisionNEGOCIOS
## 1.0480704 1.0893885 1.4776712 1.6715569
## DivisionOTRAS DivisionSALUD SlaboralInactivo
## 0.8794108 2.2434018 0.7258088
# Ajuste del modelo sin la variable Estrato - parallel = false
modelo_acat_f <- vglm(AOL ~ Division + Slaboral,
family = acat(parallel = FALSE),
data = datos_e)
summary(modelo_acat_f)
##
## Call:
## vglm(formula = AOL ~ Division + Slaboral, family = acat(parallel = FALSE),
## data = datos_e)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept):1 0.22018 0.20530 1.072 0.283515
## (Intercept):2 0.44929 0.17838 2.519 0.011776 *
## DivisionDCPRI:1 0.05086 0.27116 0.188 0.851217
## DivisionDCPRI:2 0.04058 0.23446 0.173 0.862600
## DivisionHUMANIDADES:1 0.34025 0.26103 1.303 0.192414
## DivisionHUMANIDADES:2 -0.12105 0.22247 -0.544 0.586376
## DivisionINGENIERÍA:1 0.69265 0.25679 2.697 0.006990 **
## DivisionINGENIERÍA:2 0.17759 0.20699 0.858 0.390915
## DivisionNEGOCIOS:1 0.78317 0.26227 2.986 0.002826 **
## DivisionNEGOCIOS:2 0.32608 0.20638 1.580 0.114101
## DivisionOTRAS:1 -0.28484 0.28551 -0.998 0.318438
## DivisionOTRAS:2 0.02277 0.25973 0.088 0.930148
## DivisionSALUD:1 0.65671 0.35234 1.864 0.062345 .
## DivisionSALUD:2 0.83784 0.25213 3.323 0.000891 ***
## SlaboralInactivo:1 0.01371 0.16278 0.084 0.932856
## SlaboralInactivo:2 -0.57444 0.13188 -4.356 1.33e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Names of linear predictors: loglink(P[Y=2]/P[Y=1]), loglink(P[Y=3]/P[Y=2])
##
## Residual deviance: 3753.119 on 3834 degrees of freedom
##
## Log-likelihood: -1876.559 on 3834 degrees of freedom
##
## Number of Fisher scoring iterations: 4
##
## No Hauck-Donner effect found in any of the estimates
##
##
## Exponentiated coefficients:
## DivisionDCPRI:1 DivisionDCPRI:2 DivisionHUMANIDADES:1
## 1.0521752 1.0414110 1.4052932
## DivisionHUMANIDADES:2 DivisionINGENIERÍA:1 DivisionINGENIERÍA:2
## 0.8859935 1.9990145 1.1943382
## DivisionNEGOCIOS:1 DivisionNEGOCIOS:2 DivisionOTRAS:1
## 2.1883895 1.3855295 0.7521336
## DivisionOTRAS:2 DivisionSALUD:1 DivisionSALUD:2
## 1.0230289 1.9284387 2.3113740
## SlaboralInactivo:1 SlaboralInactivo:2
## 1.0138087 0.5630187
lrtest(modelo_comp, modelo_acat)
## Likelihood ratio test
##
## Model 1: AOL ~ Division + Slaboral + Estrato
## Model 2: AOL ~ Division + Slaboral
## #Df LogLik Df Chisq Pr(>Chisq)
## 1 3836 -1879.3
## 2 3841 -1883.3 5 8.0194 0.1552
Para evaluar si la inclusión de la variable Estrato mejora significativamente el ajuste del modelo, se compararon los siguientes modelos anidados:
Modelo 1 (Completo):
\[
\text{AOL} \sim \text{Division} + \text{Slaboral} + \text{Estrato}
\]
Modelo 2 (Reducido):
\[
\text{AOL} \sim \text{Division} + \text{Slaboral}
\]
El test LRT analiza si la reducción en la log-verosimilitud al eliminar la variable Estrato es estadísticamente significativa.
Resultados:
| Modelo | Df | LogLik |
|---|---|---|
| Modelo 1 | 3836 | -1879.3 |
| Modelo 2 | 3841 | -1883.3 |
La diferencia en log-verosimilitud fue:
\[ \chi^2 = 8.02,\quad \text{gl} = 5,\quad p = 0.1552 \]
Interpretación:
El valor p = 0.1552 indica que no existe evidencia estadísticamente significativa para afirmar que el estrato socioeconómico mejora el ajuste del modelo.
En consecuencia, desde una perspectiva estadística, se podría trabajar con el modelo reducido, ya que eliminar Estrato no empeora significativamente el ajuste.
# Cálculo del estadístico de la prueba de razón de verosimilitudes
LRT_G <- deviance(modelo_acat) - deviance(modelo_acat_f)
# Grados de libertad (df)
df <- df.residual(modelo_acat) - df.residual(modelo_acat_f)
# p-valor del test LRT
p_value <- pchisq(LRT_G, df = df, lower.tail = FALSE)
data.frame(
Estadistico_LRT = LRT_G,
df = df,
p_value = p_value
)
## Estadistico_LRT df p_value
## 1 13.5256 7 0.06029173
En el análisis se empleó un Modelo de Logit Adyacente con
pendiente paralela (parallel = TRUE) para estudiar
los factores asociados al nivel de satisfacción (AOL) con las
oportunidades laborales percibidas por los egresados.
Se contrastaron dos modelos:
\[ H_0: \text{Las pendientes son paralelas (modelo restringido)} \\ H_1: \text{Las pendientes no son paralelas (modelo no restringido)} \]
Conclusión: El p-valor obtenido (0.0603) es mayor que 0.05, por lo que no se rechaza la hipótesis nula de que las pendientes son paralelas entre ecuaciones adyacentes.
El supuesto de paralelismo se cumple y el modelo con pendientes paralelas es adecuado.
Se evaluó si existía dependencia entre las observaciones debido a la
estructura por División.
Se calculó la media de la variable dependiente (AOL) para cada División,
encontrando que todas presentan el mismo valor promedio (AOL = 2). Esto
implica ausencia total de variación entre grupos.
Dado que la varianza entre divisiones es igual a cero, la estimación del ICC no es posible (modelo singular), lo que indica que no existe dependencia agrupada.
Conclusión: El supuesto de independencia se cumple.
library(car)
## Warning: package 'car' was built under R version 4.4.3
## Cargando paquete requerido: carData
##
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
## The following object is masked from 'package:VGAM':
##
## logit
X <- model.matrix(~ Division + Slaboral, data = datos_e)[, -1] # quitar intercepto
# Crear un data.frame de predictores
preds <- as.data.frame(X)
# Función para calcular VIF por variable manualmente
calc_vif <- function(df){
vif_vals <- numeric(ncol(df))
names(vif_vals) <- colnames(df)
for (i in seq_along(df)) {
model <- lm(df[[i]] ~ ., data = df[-i])
r2 <- summary(model)$r.squared
vif_vals[i] <- 1 / (1 - r2)
}
return(vif_vals)
}
vif_manual <- calc_vif(preds)
vif_manual
## DivisionDCPRI DivisionHUMANIDADES DivisionINGENIERÍA DivisionNEGOCIOS
## 2.028764 2.221185 2.661267 2.712787
## DivisionOTRAS DivisionSALUD SlaboralInactivo
## 1.773395 1.868838 1.009231
La función vif() no es compatible con objetos
vglm, por lo que se realizó una estimación manual de los
VIF ajustando modelos lineales auxiliares.
Todos los VIF se encuentran por debajo de 5 y muy por debajo del umbral crítico de 10.
Conclusión: No existe multicolinealidad problemática entre los predictores.
OR <- exp(coef(modelo_acat))
OR
## (Intercept):1 (Intercept):2 DivisionDCPRI DivisionHUMANIDADES
## 1.5410929 1.3310657 1.0480704 1.0893885
## DivisionINGENIERÍA DivisionNEGOCIOS DivisionOTRAS DivisionSALUD
## 1.4776712 1.6715569 0.8794108 2.2434018
## SlaboralInactivo
## 0.7258088
Se ajustó un modelo de regresión logística ordinal de categoría adyacente (ACAT) para evaluar los factores asociados con la satisfacción de los usuarios (AOL) en función de la división académica y la situación laboral. La variable respuesta fue tratada como ordinal con niveles: Insatisfecho, Satisfecho y Muy Satisfecho.
Previo al análisis, se verificaron los supuestos del modelo, incluyendo la paralelismo de las líneas (líneas paralelas) mediante un test de razón de verosimilitudes, el cual arrojó un p-valor = 0.0603, indicando que el supuesto se cumple. Por lo tanto, el modelo con líneas paralelas (modelo_acat) es adecuado para describir la relación entre los predictores y la satisfacción de los usuarios.
A continuación, se presentan los coeficientes del modelo y su interpretación en términos de odds ratios para cada variable independiente.
Se ajustó un modelo de regresión logística ordinal (ACAT) para evaluar el efecto de la división académica y la situación laboral sobre la satisfacción de los usuarios.
Los coeficientes exponentiados (OR) indican lo siguiente:
En general, estos resultados sugieren que tanto la división académica como la situación laboral influyen en la satisfacción de los usuarios.
El análisis mediante el modelo ACAT muestra que la división académica y la situación laboral están significativamente asociadas con la satisfacción de los usuarios. Los usuarios de Ingeniería, Negocios y Salud tienen mayor probabilidad de reportar niveles altos de satisfacción, mientras que los inactivos presentan menor probabilidad de encontrarse en niveles superiores de satisfacción. Estos resultados permiten interpretar confiablemente el efecto de estas variables sobre la satisfacción.