REGRESIÓN LOGÍSTICA ORDINAL | EJEMPLOS DE ANÁLISIS DE DATOS EN R

REGRESIÓN LOGÍSTICA ORDINAL

Introducción

- La siguiente página explica cómo usar polr, el paquete de R para realizar una regresión logística ordinal.

- Para un tratamiento más matemático de la interpretación de los resultados, consulte: https://stats.oarc.ucla.edu/r/faq/ologit-coefficients/

Preparación

Asegúrese de que puede cargar los siguientes paquetes antes de intentar ejecutar los ejemplos de este documento. Si no tiene un paquete instalado, ejecute: install.packages(“packagename”), o si ve que la versión no está actualizada, ejecute: update.packages().

library(ggplot2) 
library(MASS) 
library(Hmisc) 

#Información de la versión de las librerias: 
#Code for this page was tested in R version 3.1.1 (2014-07-10) On: 2014-08-21 With:  Hmisc 3.14-4; Formula 1.1-2; survival 2.37-7; lattice 0.20-29; MASS 7.3-33; ggplot2 1.0.0; foreign 0.8-61; knitr 1.6

\(\textbf{Tenga en cuenta}\) El propósito de este documento es mostrar cómo usar varios comandos de análisis de datos. No cubre todos los aspectos del proceso de investigación que se espera que realicen los investigadores. En particular, no cubre la limpieza y verificación de datos, la verificación de suposiciones, el diagnóstico de modelos o los posibles análisis de seguimiento.

Ejemplos de regresión logística ordinal

\[\textbf{Ejemplo 1}\]
Una empresa de investigación de mercados quiere investigar qué factores influyen en el tamaño de la gaseosa (pequeña, mediana, grande o extra grande) que la gente pide en una cadena de comida rápida. Estos factores pueden incluir qué tipo de sándwich se pide (hamburguesa o pollo), si también se piden papas fritas o no, y la edad del consumidor. Si bien la variable de resultado, el tamaño de la gaseosa, obviamente está ordenada, la diferencia entre los distintos tamaños no es uniforme. La diferencia entre pequeño y mediano es de 10 onzas, entre mediano y grande 8, y entre grande y extra grande 12. \[\textbf{Ejemplo 2}\]
Un investigador está interesado en qué factores influyen en la obtención de medallas en la natación olímpica. Los predictores relevantes incluyen las horas de entrenamiento, la dieta, la edad y la popularidad de la natación en el país de origen del atleta. El investigador cree que la distancia entre el oro y la plata es mayor que la distancia entre la plata y el bronce. \[\textbf{Ejemplo 3}\]
Un estudio analiza los factores que influyen en la decisión de postularse a una escuela de posgrado. Se les pregunta a los estudiantes universitarios si es poco probable, algo probable o muy probable que soliciten ingreso a la escuela de posgrado. Por lo tanto, nuestra variable de resultado tiene tres categorías. También se recopilan datos sobre el estado educativo de los padres, ya sea que la institución de pregrado sea pública o privada, y el GPA actual. Los investigadores tienen motivos para creer que las “distancias” entre estos tres puntos no son iguales. Por ejemplo, la “distancia” entre “poco probable” y “algo probable” puede ser más corta que la distancia entre “algo probable” y “muy probable”. \[\textbf{Ejemplo 4}\]
Un investigador analiza los diversos factores que influyen en la calidad del frito de la papa. Para evaluar la calidad del frito, se utilizó una escala ascendente que va desde 1 (menor calidad) hasta 5 (mayor calidad). No obstante, debido a un desbalanceo en los datos que podría sesgar los resultados de la regresión, se decidió reducir las categorías de 5 a 4 durante el análisis. Los datos recopilados incluyen información sobre el genotipo, semestre y bloque, así como mediciones precisas de variables como Materia Seca del tubérculo y azúcares reductores. Se investiga la posibilidad de que exista una distancia significativa entre las distintas calidades de frito, lo que podría tener implicaciones importantes para el desarrollo y mejora de productos derivados de la papa.

Descripción de los datos

Para nuestro análisis de datos a continuación, ampliaremos el Ejemplo 4 sobre la calidad de frito de la papa. Hemos utilizado un dataset que guardaremos con el nombre de ‘datos’:

#Se cargan los datos con ayuda de la libreria readxl
library(readxl)
datos<-read_xlsx("C:/Users/jorge/OneDrive/Escritorio/Datasets/papa/Prueba de Evaluación Agronómica_11_Localidades ENRIQUE DARGTHAN.xlsx")
#Se observan las primeras filas de los datos
head(datos)
## # A tibble: 6 × 9
##   Localidad Nlocalidad Semestre Bloque Genotipo `Gravedad Eespecífica`
##       <dbl> <chr>         <dbl>  <dbl> <chr>                     <dbl>
## 1         1 Obonuco           1      1 T1                         1.08
## 2         1 Obonuco           1      2 T1                         1.08
## 3         1 Obonuco           1      3 T1                         1.08
## 4         1 Obonuco           1      4 T1                         1.08
## 5         2 Tuquerres         1      1 T1                         1.08
## 6         2 Tuquerres         1      2 T1                         1.08
## # ℹ 3 more variables: `Materia Seca tuberculo` <dbl>, `Calidad de frito` <dbl>,
## #   `Azucres Reductores` <dbl>

En el conjunto de datos que estamos analizando tenemos la variable Calidad de frito, que se compone de cinco niveles (‘1’, ‘2’, ‘3’, ‘4’ y ‘5’), y será nuestra variable resultado en el análisis.Contamos con la variable Genotipo, que presenta 10 niveles y nos indica qué tipo de genotipo fue evaluado en cada caso. La variable Semestre también está presente en el conjunto de datos y se refiere a los efectos del ambiente durante dos períodos de tiempo distintos: Semestre 1 y Semestre 2. Para reducir la variabilidad causada por factores no deseados o no controlados que podrían afectar los resultados, utilizamos la variable Bloque.Otras dos variables que tenemos en cuenta como predictores son Materia Seca del tubérculo y Gravedad específica. La primera hace referencia a la biomasa del tubérculo, mientras que la segunda es una medida utilizada para determinar el contenido de materia seca en las papas.Por último, el conjunto de datos incluye la variable Azúcares reductores, que tiene varias aplicaciones y propósitos.

A continuación se realiza un analisis descriptivo de los datos:

lapply (datos[,  c ( "Calidad de frito" ,  "Genotipo" ,  "Semestre", 'Bloque')], table)
## $`Calidad de frito`
## 
##   1   2   3   4   5 
## 105 393 271 103   8 
## 
## $Genotipo
## 
##    T1    T2  UN 4 UN 50 UN 51 UN 52 UN 59 UN 63 UN 64  UN 9 
##    88    88    88    88    88    88    88    88    88    88 
## 
## $Semestre
## 
##   1   2 
## 440 440 
## 
## $Bloque
## 
##   1   2   3   4 
## 220 220 220 220

Se puede notar un evidente desequilibrio en las calidades de frito, ya que únicamente 8 unidades experimentales presentaron una calidad de frito con una calificación de cinco (5). Sin embargo, las variables Genotipo, Semestre y Bloque están equilibradas, contando con el mismo número de datos para cada genotipo/semestre/bloque.

Se realiza un resumen estadistico para cada una de las variables cuantitativas de nuestro estudio (Materia seca del tuberculo,gravedad específica,azúcares reductores)

lapply (datos[,  c ( "Gravedad Eespecífica" ,  "Materia Seca tuberculo", 'Azucres Reductores')], summary)
## $`Gravedad Eespecífica`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.052   1.079   1.087   1.088   1.096   1.154 
## 
## $`Materia Seca tuberculo`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   11.30   21.96   24.16   23.90   25.94   33.38 
## 
## $`Azucres Reductores`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00640 0.02480 0.04000 0.05447 0.07080 0.22160

Con ayuda de la libreria ggplot se realizan un graficos de cajas con los cuales se puede observar el efecto de las distintas variables en la variable respuesa Calidad de frito

ggplot(datos, aes(x = `Calidad de frito`, y = `Azucres Reductores`, group=`Calidad de frito`)) +
  labs(title = "Efecto Azucares reductores en calidad de frito por bloque")+
  geom_boxplot(size = .75) +
  geom_jitter(alpha = .5)+
  facet_grid(~ Bloque) +
  stat_summary(fun = "mean", geom = "point", shape = 19, size = 4, color = "red", position = position_dodge(width = 0.75))+
  theme(axis.text.x = element_text(angle = 0, hjust = 1, vjust = 1),plot.title = element_text(hjust = 0.5))+
  theme_minimal()

ggplot(datos, aes(x = `Calidad de frito`, y = `Materia Seca tuberculo`, group=`Calidad de frito`)) +
  labs(title = "Efecto Materia seca del tuberculo en calidad de frito por bloque")+
  geom_boxplot(size = .75) +
  geom_jitter(alpha = .5)+
  stat_summary(fun = "mean", geom = "point", shape = 19, size = 4, color = "red", position = position_dodge(width = 0.75))+
  facet_grid(~ Bloque) +
  theme(axis.text.x = element_text(angle = 0, hjust = 1, vjust = 1),plot.title = element_text(hjust = 0.5))+
  theme_minimal()

ggplot(datos, aes(x = `Calidad de frito`, y = `Gravedad Eespecífica`, group=`Calidad de frito`)) +
  labs(title = "Efecto Gravedad Específica en calidad de frito por bloque")+
  geom_boxplot(size = .75) +
  geom_jitter(alpha = .5)+
  stat_summary(fun = "mean", geom = "point", shape = 19, size = 4, color = "red", position = position_dodge(width = 0.75))+
  facet_grid(~ Bloque) +
  theme(axis.text.x = element_text(angle = 0, hjust = 1, vjust = 1),plot.title = element_text(hjust = 0.5))+
  theme_minimal()

ggplot(datos, aes(x = `Calidad de frito`, y =Bloque , group=`Calidad de frito`)) +
  labs(title = "Efecto Bloque en calidad de frito")+
  geom_boxplot(size = .75) +
  geom_jitter(alpha = .5)+
  theme(axis.text.x = element_text(angle = 0, hjust = 1, vjust = 1),plot.title = element_text(hjust = 0.5))+
  theme_minimal()

Métodos de análisis que se podrían considerar

A continuación se muestra una lista de algunos métodos de análisis que puede haber encontrado. Algunos de los métodos enumerados son bastante razonables, mientras que otros han caído en desgracia o tienen limitaciones.

Regresión logística ordenada: el enfoque de este documento

Regresión OLS:este análisis es problemático porque se violan los supuestos de OLS cuando se utiliza con una variable de resultado que no es de intervalo.

Regresión logística multinomial: Esto es similar a hacer una regresión logística ordenada, excepto que se supone que no hay orden en las categorías de la variable de resultado (es decir, las categorías son nominales). La desventaja de este enfoque es que se pierde la información contenida en el pedido.

Regresión probit ordenada: Esto es muy, muy similar a ejecutar una regresión logística ordenada. La principal diferencia está en la interpretación de los coeficientes.

Regresión logística ordenada

A continuación, usamos el comando polr de la libreria MASS para estimar un modelo de regresión logística ordenado. El nombre del comando proviene de la regresión logística de probabilidades proporcionales, destacando la suposición de probabilidades proporcionales en nuestro modelo. polr utiliza la interfaz de fórmula estándar de R para especificar un modelo de regresión con resultados seguidos de predictores. También especificamos Hess=TRUE para que el modelo devuelva la matriz de información observada de la optimización (llamada Hessian) que se utiliza para obtener errores estándar.

Definiciones

Para entender cómo interpretar los coeficientes, primero establezcamos alguna notación y revisemos los conceptos involucrados en la regresión logística ordinal.Teniendo a \(Y\) como un resultado ordinal con \(j\) categorías. Entonces \(P(Y\leq j)\) es la probabilidad acumulada de \(Y\) menor o igual a una categoria específica \(j=1,...,J-1\). Las probabilidades de ser menor o igual que una categoría en particular se pueden definir como: \[\frac{P(Y\leq j)}{P(Y>j)}\] para \(j=1,...,J-1\) desde \(P(Y>J)=0\) y dividir por cero no esta definido. Las \(\textbf{probabilidades logaritmicas}\) tambien se conocen como \(\textbf{logit}\) por lo que \[\frac{P(Y\leq j)}{P(Y>j)}=logit(P(Y\leq J))\] El modelo polr de regresión logistica ordinal se parametriza como \[logit(P(Y\leq j))=\beta_{j0}-\eta_1x_1-...-\eta_px_p.\]

Entonces podemos ajustar el siguiente modelo de regresión logística ordinal teniendo en cuenta todos las variables.

Antes de avanzar con la construcción del modelo, se excluye la categoría de calidad de frito 5. Las unidades experimentales que originalmente tenían esta calidad son reasignadas a la categoría de calidad de frito anterior, es decir, calidad de frito 4. Esta acción se toma debido a un desbalance o desequilibrio en la última categoría de calidad de frito, ya que cuenta con muy pocos registros (solo 8 registros), lo que podría afectar los resultados del modelo. Al hacer esta corrección, buscamos garantizar una representación más equitativa de los datos y mejorar la confiabilidad de los resultados del análisis.

#Se hace uso de la libreria dplyr para realizar la transformación
library(dplyr)
datos <- datos %>%
  mutate(`Calidad de frito` = ifelse(`Calidad de frito` == 5, 4, `Calidad de frito`))
#Se imprimen valores restantes de calidad de frito
unique(datos$`Calidad de frito`)
## [1] 2 3 1 4

Una vez realizada la transformación se prosigue a realizar el modelo teniendo en cuenta todas las variables (a excepción de Gravedad Eespecífica que no será tenida en cuenta de momento) y luego eliminando aquellas variables que no tienen un efecto en la variable respuesta Calidad de frito

# Se modifica la clase de la variable respuesta para que no sea tomada como numerica
datos$`Calidad de frito`=as.factor(datos$`Calidad de frito`)

#Se crea modelo y se guarda en la variable mod
mod1<-polr(`Calidad de frito` ~ `Materia Seca tuberculo` + `Azucres Reductores`+Bloque+ Genotipo + Semestre + (Genotipo * Semestre), data = datos, Hess=TRUE)

# Observar resumen del modelo (mod)
summary(mod1)
## Call:
## polr(formula = `Calidad de frito` ~ `Materia Seca tuberculo` + 
##     `Azucres Reductores` + Bloque + Genotipo + Semestre + (Genotipo * 
##     Semestre), data = datos, Hess = TRUE)
## 
## Coefficients:
##                               Value Std. Error   t value
## `Materia Seca tuberculo`  0.0061549    0.02508  0.245431
## `Azucres Reductores`     39.0675167    2.42465 16.112631
## Bloque                   -0.0004901    0.06135 -0.007987
## GenotipoT2                1.2373783    0.95850  1.290959
## GenotipoUN 4              0.1852580    0.97116  0.190760
## GenotipoUN 50             0.9406537    0.95790  0.981995
## GenotipoUN 51             1.1123567    0.95019  1.170664
## GenotipoUN 52             1.5122161    0.95142  1.589434
## GenotipoUN 59            -0.1124807    0.95942 -0.117238
## GenotipoUN 63             1.5908668    0.98630  1.612960
## GenotipoUN 64            -2.1293350    0.96434 -2.208084
## GenotipoUN 9              1.2870080    1.02616  1.254194
## Semestre                 -0.3077166    0.43342 -0.709980
## GenotipoT2:Semestre      -0.9590377    0.60622 -1.581997
## GenotipoUN 4:Semestre    -0.1860227    0.61594 -0.302016
## GenotipoUN 50:Semestre   -0.8554629    0.60728 -1.408670
## GenotipoUN 51:Semestre   -0.7118782    0.60592 -1.174879
## GenotipoUN 52:Semestre   -0.6610357    0.60589 -1.091025
## GenotipoUN 59:Semestre    0.3057607    0.60860  0.502403
## GenotipoUN 63:Semestre   -0.8638778    0.61875 -1.396167
## GenotipoUN 64:Semestre    0.0927145    0.60732  0.152661
## GenotipoUN 9:Semestre    -0.5537919    0.63086 -0.877831
## 
## Intercepts:
##     Value   Std. Error t value
## 1|2 -1.2445  0.9244    -1.3462
## 2|3  1.9563  0.9175     2.1322
## 3|4  4.7626  0.9395     5.0695
## 
## Residual Deviance: 1608.271 
## AIC: 1658.271

El resultado del modelo reafirma las observaciones del análisis descriptivo, en el que se ha constatado que variables como la Materia Seca del tubérculo y el bloqueo no influyen de gran manera en la calidad del frito. Por lo tanto, en el siguiente modelo, se considerarán únicamente las variables explicativas que realmente impactan en la variable resultado.

#Se crea modelo nuevo con variable que tienen un efecto en la variable resultado
mod2<-polr(`Calidad de frito` ~ `Azucres Reductores`+ Genotipo + Semestre + (Genotipo * Semestre), data = datos, Hess=TRUE)

# Observar resumen del modelo (mod)
summary(mod2)
## Call:
## polr(formula = `Calidad de frito` ~ `Azucres Reductores` + Genotipo + 
##     Semestre + (Genotipo * Semestre), data = datos, Hess = TRUE)
## 
## Coefficients:
##                           Value Std. Error t value
## `Azucres Reductores`   39.07467     2.4224 16.1303
## GenotipoT2              1.23866     0.9583  1.2925
## GenotipoUN 4            0.18107     0.9710  0.1865
## GenotipoUN 50           0.93561     0.9574  0.9773
## GenotipoUN 51           1.10638     0.9497  1.1649
## GenotipoUN 52           1.49974     0.9502  1.5784
## GenotipoUN 59          -0.11177     0.9592 -0.1165
## GenotipoUN 63           1.57725     0.9846  1.6019
## GenotipoUN 64          -2.12503     0.9642 -2.2038
## GenotipoUN 9            1.26750     1.0228  1.2393
## Semestre               -0.30124     0.4326 -0.6963
## GenotipoT2:Semestre    -0.95954     0.6063 -1.5827
## GenotipoUN 4:Semestre  -0.18477     0.6160 -0.2999
## GenotipoUN 50:Semestre -0.85592     0.6072 -1.4095
## GenotipoUN 51:Semestre -0.71429     0.6058 -1.1790
## GenotipoUN 52:Semestre -0.66009     0.6060 -1.0892
## GenotipoUN 59:Semestre  0.29888     0.6078  0.4917
## GenotipoUN 63:Semestre -0.86150     0.6186 -1.3927
## GenotipoUN 64:Semestre  0.08901     0.6073  0.1466
## GenotipoUN 9:Semestre  -0.54873     0.6304 -0.8705
## 
## Intercepts:
##     Value   Std. Error t value
## 1|2 -1.3865  0.6991    -1.9832
## 2|3  1.8158  0.6950     2.6126
## 3|4  4.6205  0.7186     6.4302
## 
## Residual Deviance: 1608.331 
## AIC: 1654.331

El modelo estimado se puede escribir como:

\[logit(\hat{P}(Y\leq1)= -1.3865 - 39.07467 * Azucres Reductores - 1.23866 * GenotipoT2 - 0.18107 * GenotipoUN 4 - 0.93561 * GenotipoUN 50 - 1.10638 * GenotipoUN 51 - 1.49974 * GenotipoUN 52 + 0.11177 * GenotipoUN 59 - 1.57725 * GenotipoUN 63 + 2.12503 * GenotipoUN 64 - 1.26750 *GenotipoUN 9+0.30124*Semestre + 0.95954*GenotipoT2:Semestre+0.18477*GenotipoUN 4:Semestre+0.85592*GenotipoUN 50:Semestre+0.71429*GenotipoUN 51:Semestre+0.66009*GenotipoUN 52:Semestre-0.29888*GenotipoUN 59:Semestre+0.86150*GenotipoUN 63:Semestre-0.08901*GenotipoUN 64:Semestre+0.54873*GenotipoUN 9:Semestre\] \[logit(\hat{P}(Y\leq2)= 1.8158 - 39.07467 * Azucres Reductores - 1.23866 * GenotipoT2 - 0.18107 * GenotipoUN 4 - 0.93561 * GenotipoUN 50 - 1.10638 * GenotipoUN 51 - 1.49974 * GenotipoUN 52 + 0.11177 * GenotipoUN 59 - 1.57725 * GenotipoUN 63 + 2.12503 * GenotipoUN 64 - 1.26750 *GenotipoUN 9+0.30124*Semestre + 0.95954*GenotipoT2:Semestre+0.18477*GenotipoUN 4:Semestre+0.85592*GenotipoUN 50:Semestre+0.71429*GenotipoUN 51:Semestre+0.66009*GenotipoUN 52:Semestre-0.29888*GenotipoUN 59:Semestre+0.86150*GenotipoUN 63:Semestre-0.08901*GenotipoUN 64:Semestre+0.54873*GenotipoUN 9:Semestre\] \[logit(\hat{P}(Y\leq3)= 4.6205 - 39.07467 * Azucres Reductores - 1.23866 * GenotipoT2 - 0.18107 * GenotipoUN 4 - 0.93561 * GenotipoUN 50 - 1.10638 * GenotipoUN 51 - 1.49974 * GenotipoUN 52 + 0.11177 * GenotipoUN 59 - 1.57725 * GenotipoUN 63 + 2.12503 * GenotipoUN 64 - 1.26750 *GenotipoUN 9+0.30124*Semestre + 0.95954*GenotipoT2:Semestre+0.18477*GenotipoUN 4:Semestre+0.85592*GenotipoUN 50:Semestre+0.71429*GenotipoUN 51:Semestre+0.66009*GenotipoUN 52:Semestre-0.29888*GenotipoUN 59:Semestre+0.86150*GenotipoUN 63:Semestre-0.08901*GenotipoUN 64:Semestre+0.54873*GenotipoUN 9:Semestre\]

En la salida anterior, vemos

  • Call, aquí R nos recuerda qué tipo de modelo ejecutamos, qué opciones especificamos, etc.

  • A continuación, vemos la tabla de coeficientes de salida de regresión habitual que incluye el valor de cada coeficiente, los errores estándar y el valor t, que es simplemente la relación entre el coeficiente y su error estándar. No hay una prueba de significancia por defecto.

  • A continuación, vemos las estimaciones de las tres intersecciones, que a veces se denominan puntos de corte. Las intersecciones indican dónde se corta la variable latente para formar los cuatro grupos que observamos en nuestros datos. Tenga en cuenta que esta variable latente es continua. En general, estos no se utilizan en la interpretación de los resultados. Los puntos de corte están estrechamente relacionados con los umbrales, que son informados por otros paquetes estadísticos.

  • Finalmente, vemos la desviación residual así como el AIC. Tanto la desviación como el AIC son útiles para la comparación de modelos.

Algunas personas no están satisfechas sin un valor p. Una forma de calcular un valor p en este caso es comparar el valor t con la distribución normal estándar, como la prueba z. Por supuesto, esto solo es cierto con infinitos grados de libertad, pero se aproxima razonablemente con muestras grandes, y se vuelve cada vez más sesgado a medida que disminuye el tamaño de la muestra. Este enfoque se usa en otros paquetes de software como Statay es trivial de hacer. Primero almacenamos la tabla de coeficientes, luego calculamos los valores p y los combinamos con la tabla.

## Se almacenan los coeficientes del resumen del segundo modelo
ctable<-coef(summary(mod2))
## Se calculan los valores p con ayuda de la función pnorm y se almacenan
p <-pnorm(abs(ctable[, "t value" ]),  lower.tail=FALSE )* 2 
## Se genera una tabla combinada 
(ctable  <-  cbind (ctable,  "p value"  = p ))
##                              Value Std. Error    t value      p value
## `Azucres Reductores`   39.07466705  2.4224380 16.1303061 1.562442e-58
## GenotipoT2              1.23866314  0.9583490  1.2924969 1.961851e-01
## GenotipoUN 4            0.18106721  0.9709790  0.1864790 8.520691e-01
## GenotipoUN 50           0.93560708  0.9573832  0.9772545 3.284432e-01
## GenotipoUN 51           1.10638149  0.9497452  1.1649246 2.440495e-01
## GenotipoUN 52           1.49973749  0.9501849  1.5783639 1.144820e-01
## GenotipoUN 59          -0.11176789  0.9592463 -0.1165164 9.072433e-01
## GenotipoUN 63           1.57724894  0.9846381  1.6018564 1.091874e-01
## GenotipoUN 64          -2.12503131  0.9642380 -2.2038452 2.753523e-02
## GenotipoUN 9            1.26749828  1.0227944  1.2392503 2.152528e-01
## Semestre               -0.30123833  0.4326216 -0.6963090 4.862353e-01
## GenotipoT2:Semestre    -0.95954112  0.6062521 -1.5827427 1.134801e-01
## GenotipoUN 4:Semestre  -0.18476599  0.6160097 -0.2999401 7.642229e-01
## GenotipoUN 50:Semestre -0.85591984  0.6072381 -1.4095292 1.586788e-01
## GenotipoUN 51:Semestre -0.71428893  0.6058404 -1.1790051 2.383961e-01
## GenotipoUN 52:Semestre -0.66008930  0.6060134 -1.0892322 2.760515e-01
## GenotipoUN 59:Semestre  0.29887751  0.6078179  0.4917221 6.229158e-01
## GenotipoUN 63:Semestre -0.86149572  0.6185793 -1.3927006 1.637104e-01
## GenotipoUN 64:Semestre  0.08901179  0.6072563  0.1465803 8.834633e-01
## GenotipoUN 9:Semestre  -0.54873379  0.6304020 -0.8704506 3.840542e-01
## 1|2                    -1.38646259  0.6990936 -1.9832289 4.734186e-02
## 2|3                     1.81577519  0.6950148  2.6125704 8.986419e-03
## 3|4                     4.62051811  0.7185606  6.4302414 1.274014e-10

Al no haber interacción se puede evaluar el efecto de los componentes principales del modelo.

También podemos obtener intervalos de confianza para las estimaciones de los parámetros. Éstos se pueden obtener perfilando la función de verosimilitud o usando los errores estándar y asumiendo una distribución normal. Tenga en cuenta que los intervalos de confianza perfilados no son simétricos (aunque suelen ser casi simétricos). Si el intervalo de confianza del 95% no cruza 0, la estimación del parámetro es estadísticamente significativa.

## Con ayuda de la función confint se obtienen Intervalos de confianza perfilados
(ci  <-  confint (mod2)) 
## Waiting for profiling to be done...
##                             2.5 %     97.5 %
## `Azucres Reductores`   34.4378549 43.9390625
## GenotipoT2             -0.6384962  3.1209622
## GenotipoUN 4           -1.7215598  2.0873694
## GenotipoUN 50          -0.9395823  2.8160589
## GenotipoUN 51          -0.7529608  2.9727732
## GenotipoUN 52          -0.3585878  3.3689240
## GenotipoUN 59          -1.9916335  1.7709731
## GenotipoUN 63          -0.3467719  3.5160278
## GenotipoUN 64          -4.0211182 -0.2380795
## GenotipoUN 9           -0.7290533  3.2846372
## Semestre               -1.1498964  0.5469451
## GenotipoT2:Semestre    -2.1500536  0.2278520
## GenotipoUN 4:Semestre  -1.3933916  1.0227297
## GenotipoUN 50:Semestre -2.0484457  0.3333053
## GenotipoUN 51:Semestre -1.9042633  0.4719763
## GenotipoUN 52:Semestre -1.8510661  0.5259549
## GenotipoUN 59:Semestre -0.8929479  1.4910923
## GenotipoUN 63:Semestre -2.0775206  0.3487756
## GenotipoUN 64:Semestre -1.1027342  1.2795946
## GenotipoUN 9:Semestre  -1.7885466  0.6844403
## Intervalos de confianza asumiendo normalidad
confint.default (mod2) 
##                             2.5 %     97.5 %
## `Azucres Reductores`   34.3267757 43.8225584
## GenotipoT2             -0.6396665  3.1169927
## GenotipoUN 4           -1.7220166  2.0841511
## GenotipoUN 50          -0.9408296  2.8120437
## GenotipoUN 51          -0.7550848  2.9678478
## GenotipoUN 52          -0.3625906  3.3620656
## GenotipoUN 59          -1.9918561  1.7683203
## GenotipoUN 63          -0.3526063  3.5071042
## GenotipoUN 64          -4.0149031 -0.2351595
## GenotipoUN 9           -0.7371420  3.2721385
## Semestre               -1.1491611  0.5466845
## GenotipoT2:Semestre    -2.1477734  0.2286912
## GenotipoUN 4:Semestre  -1.3921228  1.0225908
## GenotipoUN 50:Semestre -2.0460847  0.3342450
## GenotipoUN 51:Semestre -1.9017143  0.4731364
## GenotipoUN 52:Semestre -1.8478537  0.5276751
## GenotipoUN 59:Semestre -0.8924237  1.4901787
## GenotipoUN 63:Semestre -2.0738888  0.3508974
## GenotipoUN 64:Semestre -1.1011888  1.2792123
## GenotipoUN 9:Semestre  -1.7842989  0.6868314

Con estos intervalos de confianza nos damos cuenta que tan solo 2 componentes no contienen al 0 en el intervalo, estos serian Azucres Reductores y GenotipoUN 64.Entonces, para Azucres Reductores diríamos que para un aumento de una unidad en Azucres Reductores(es decir, pasar de 0 a 1), esperamos un aumento de 39.07 en el valor esperado de Calidad de fritoen la escala de probabilidades logarítmicas, dado que se mantienen todas las demás variables en el modelo constante. Para GenotipoUN 64, diríamos que para un aumento de una unidad en GenotipoUN 64, esperaríamos una disminución de 2.13 en el valor esperado de Calidad de frito en la escala logarítmica de probabilidades, dado que todas las demás variables del modelo se mantienen constantes.

Referencias:

Ordinal Logistic Regression | R Data Analysis Examples. (s.f.). https://stats.oarc.ucla.edu/r/dae/ordinal-logistic-regression/