La obesidad constituye uno de los principales problemas de salud pública a nivel global, debido a su asociación con enfermedades crónicas, reducción en la calidad de vida y elevados costos para los sistemas de salud. Desde un punto de vista analítico, la obesidad no debe entenderse como una condición binaria, sino como un fenómeno multinivel, que abarca distintos grados de severidad.
En este informe se analiza la relación entre:
y la probabilidad de pertenecer a distintos niveles de obesidad, utilizando un modelo de regresión logística multinomial, tomando como referencia el estado de peso normal. El objetivo central es cuantificar y comparar cómo estos factores modifican el riesgo relativo de obesidad leve, moderada y severa.
La base de datos utilizada corresponde a un conjunto de datos ampliamente empleado en estudios académicos sobre obesidad. Para el análisis se seleccionaron únicamente las siguientes categorías:
Esta selección permite enfocar el análisis en la transición desde un estado saludable hacia distintos niveles de obesidad, eliminando categorías intermedias como sobrepeso o bajo peso, que podrían introducir ambigüedad interpretativa.
library(reshape2)
library(nnet)
library(readxl)
library(tidyverse)
library(readr)
library(kableExtra)
library(marginaleffects)
library(dplyr)
library(knitr)
data <- read_csv("ObesityDataSet.csv")
data <- data %>%
filter(NObeyesdad %in% c("Normal_Weight",
"Obesity_Type_I",
"Obesity_Type_II",
"Obesity_Type_III"))
A continuación, se presentan algunos estadísticos descriptivos que permiten una primera aproximación al comportamiento y características del conjunto de datos. En particular, se muestra una vista previa de las observaciones, el tamaño de la muestra, un resumen estadístico de las variables y la distribución relativa de la variable dependiente.
kable(head(data),align = "c")
| Gender | Age | Height | Weight | family_history_with_overweight | FAVC | FCVC | NCP | CAEC | SMOKE | CH2O | SCC | FAF | TUE | CALC | MTRANS | NObeyesdad |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Female | 21 | 1.62 | 64 | yes | no | 2 | 3 | Sometimes | no | 2 | no | 0 | 1 | no | Public_Transportation | Normal_Weight |
| Female | 21 | 1.52 | 56 | yes | no | 3 | 3 | Sometimes | yes | 3 | yes | 3 | 0 | Sometimes | Public_Transportation | Normal_Weight |
| Male | 23 | 1.80 | 77 | yes | no | 2 | 3 | Sometimes | no | 2 | no | 2 | 1 | Frequently | Public_Transportation | Normal_Weight |
| Male | 29 | 1.62 | 53 | no | yes | 2 | 3 | Sometimes | no | 2 | no | 0 | 0 | Sometimes | Automobile | Normal_Weight |
| Female | 23 | 1.50 | 55 | yes | yes | 3 | 3 | Sometimes | no | 2 | no | 1 | 0 | Sometimes | Motorbike | Normal_Weight |
| Male | 22 | 1.64 | 53 | no | no | 2 | 3 | Sometimes | no | 2 | no | 3 | 0 | Sometimes | Public_Transportation | Normal_Weight |
nrow(data)
[1] 1259
kable(summary(data))
| Gender | Age | Height | Weight | family_history_with_overweight | FAVC | FCVC | NCP | CAEC | SMOKE | CH2O | SCC | FAF | TUE | CALC | MTRANS | NObeyesdad | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Length:1259 | Min. :14.00 | Min. :1.500 | Min. : 42.30 | Length:1259 | Length:1259 | Min. :1.000 | Min. :1.000 | Length:1259 | Length:1259 | Min. :1.000 | Length:1259 | Min. :0.00000 | Min. :0.0000 | Length:1259 | Length:1259 | Length:1259 | |
| Class :character | 1st Qu.:21.00 | 1st Qu.:1.631 | 1st Qu.: 80.00 | Class :character | Class :character | 1st Qu.:2.000 | 1st Qu.:2.978 | Class :character | Class :character | 1st Qu.:1.564 | Class :character | 1st Qu.:0.03951 | 1st Qu.:0.0000 | Class :character | Class :character | Class :character | |
| Mode :character | Median :23.47 | Median :1.702 | Median :104.59 | Mode :character | Mode :character | Median :2.611 | Median :3.000 | Mode :character | Mode :character | Median :2.000 | Mode :character | Median :1.00000 | Median :0.5835 | Mode :character | Mode :character | Mode :character | |
| NA | Mean :24.88 | Mean :1.707 | Mean : 98.38 | NA | NA | Mean :2.478 | Mean :2.722 | NA | NA | Mean :2.022 | NA | Mean :0.95980 | Mean :0.6199 | NA | NA | NA | |
| NA | 3rd Qu.:26.00 | 3rd Qu.:1.775 | 3rd Qu.:116.45 | NA | NA | 3rd Qu.:3.000 | 3rd Qu.:3.000 | NA | NA | 3rd Qu.:2.532 | NA | 3rd Qu.:1.55848 | 3rd Qu.:1.0000 | NA | NA | NA | |
| NA | Max. :61.00 | Max. :1.980 | Max. :173.00 | NA | NA | Max. :3.000 | Max. :4.000 | NA | NA | Max. :3.000 | NA | Max. :3.00000 | Max. :2.0000 | NA | NA | NA |
tabla_freq <- data %>%
count(NObeyesdad) %>%
mutate(
Proporcion = n / sum(n),
Porcentaje = round(Proporcion * 100, 2)
)
kable(tabla_freq, caption = "Tabla de frecuencias de la variable dependiente",align = "c")
| NObeyesdad | n | Proporcion | Porcentaje |
|---|---|---|---|
| Normal_Weight | 287 | 0.2279587 | 22.80 |
| Obesity_Type_I | 351 | 0.2787927 | 27.88 |
| Obesity_Type_II | 297 | 0.2359015 | 23.59 |
| Obesity_Type_III | 324 | 0.2573471 | 25.73 |
La variable dependiente (estado de obesidad) presenta más de dos categorías mutuamente excluyentes y sin un orden estrictamente lineal en términos estadísticos. Por esta razón, se emplea un modelo logit multinomial, el cual estima de forma simultánea la probabilidad de pertenecer a cada categoría, en comparación con una categoría base.
Formalmente, el modelo estima ecuaciones del tipo:
\[ \log\left( \frac{P(Y = k)}{P(Y = \text{Normal Weight})} \right), \quad k \in \{I, II, III\}. \]El modelo permite evaluar efectos marginales diferenciados de estas variables sobre cada nivel de obesidad.
data$NObeyesdad <- as.factor(data$NObeyesdad)
data$Gender <- as.factor(data$Gender)
summary(data$FAF)
Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00000 0.03951 1.00000 0.95980 1.55848 3.00000
data$NObeyesdad2 <- relevel(data$NObeyesdad, ref = "Normal_Weight")
Los resultados del modelo logit multinomial evidencian un patrón robusto y no lineal en los determinantes del estado nutricional. La actividad física (FAF) presenta coeficientes negativos y estadísticamente significativos en todas las categorías de obesidad, confirmando su rol protector frente al aumento de peso corporal. Dicho efecto se intensifica en los niveles intermedios y severos de obesidad, lo que sugiere una relación no homogénea entre actividad física y severidad del estado obesogénico. El efecto del género es heterogéneo: mientras el género masculino incrementa significativamente la probabilidad relativa de obesidad tipo I y, de forma particularmente intensa, de obesidad tipo II, su efecto es negativo en obesidad tipo III. Esto indica que el impacto del género no es monótono y depende críticamente del nivel de severidad analizado.
modelo <- multinom(NObeyesdad2 ~ Gender + FAF, data = data)
## # weights: 16 (9 variable)
## initial value 1745.344601
## iter 10 value 1345.501764
## iter 20 value 1301.474103
## iter 30 value 1301.399364
## iter 30 value 1301.399360
## iter 30 value 1301.399360
## final value 1301.399360
## converged
summary(modelo)
## Call:
## multinom(formula = NObeyesdad2 ~ Gender + FAF, data = data)
##
## Coefficients:
## (Intercept) GenderMale FAF
## Obesity_Type_I 0.4483593 0.3486655 -0.3884671
## Obesity_Type_II -3.7017658 5.2477768 -0.7014259
## Obesity_Type_III 1.2810866 -5.5910332 -0.5363806
##
## Std. Errors:
## (Intercept) GenderMale FAF
## Obesity_Type_I 0.1451341 0.1667786 0.09495475
## Obesity_Type_II 0.7171441 0.7233257 0.11536477
## Obesity_Type_III 0.1410959 1.0094271 0.11029159
##
## Residual Deviance: 2602.799
## AIC: 2620.799
z <- summary(modelo)$coefficients / summary(modelo)$standard.errors
z
## (Intercept) GenderMale FAF
## Obesity_Type_I 3.089275 2.090590 -4.091076
## Obesity_Type_II -5.161816 7.255067 -6.080070
## Obesity_Type_III 9.079546 -5.538818 -4.863296
p <- (1 - pnorm(abs(z), 0, 1)) * 2
p
## (Intercept) GenderMale FAF
## Obesity_Type_I 2.006455e-03 3.656486e-02 4.293757e-05
## Obesity_Type_II 2.445660e-07 4.014566e-13 1.201299e-09
## Obesity_Type_III 0.000000e+00 3.045201e-08 1.154469e-06
Para facilitar la interpretación de los resultados, los coeficientes del modelo se transforman en razones de odds. Estas indican el cambio proporcional en las probabilidades relativas asociado a una variación unitaria en la variable explicativa.
La transformación de los coeficientes en razones de odds permite cuantificar con mayor claridad el impacto de la actividad física. Un incremento unitario en FAF reduce aproximadamente:
en 32 % las odds de obesidad tipo I, en 50 % las odds de obesidad tipo II, en 42 % las odds de obesidad tipo III,
en comparación con el estado de peso normal. Estos resultados confirman que la actividad física no solo reduce la probabilidad de obesidad, sino que ejerce un efecto particularmente fuerte en la transición hacia estados de obesidad más severos.
exp(coef(modelo))
## (Intercept) GenderMale FAF
## Obesity_Type_I 1.56574118 1.417175e+00 0.6780955
## Obesity_Type_II 0.02467991 1.901431e+02 0.4958777
## Obesity_Type_III 3.60054991 3.731171e-03 0.5848612
pp <- fitted(modelo)
kable(head(pp),align = "c")
| Normal_Weight | Obesity_Type_I | Obesity_Type_II | Obesity_Type_III |
|---|---|---|---|
| 0.1615256 | 0.2529072 | 0.0039864 | 0.5815808 |
| 0.4521763 | 0.2207498 | 0.0013607 | 0.3257131 |
| 0.3145839 | 0.3209679 | 0.3630026 | 0.0014456 |
| 0.1261817 | 0.2799884 | 0.5921348 | 0.0016952 |
| 0.2392469 | 0.2540137 | 0.0029280 | 0.5038114 |
| 0.4411614 | 0.3052204 | 0.2524326 | 0.0011857 |
El log‑likelihood del modelo estimado es considerablemente mayor (menos negativo) que el del modelo nulo, lo que indica que las variables explicativas aportan información relevante para explicar la pertenencia a los distintos estados de obesidad.
# Log-likelihood del modelo estimado
LL_modelo <- logLik(modelo)
LL_modelo
## 'log Lik.' -1301.399 (df=9)
# Modelo nulo (solo intercepto)
modelo_nulo <- multinom(
NObeyesdad2 ~ 1,
data = data
)
## # weights: 8 (3 variable)
## initial value 1745.344601
## final value 1741.427245
## converged
LL_nulo <- logLik(modelo_nulo)
LL_nulo
## 'log Lik.' -1741.427 (df=3)
El pseudo‑R2R^2R2 de McFadden obtenido (0.253) se encuentra dentro del rango considerado alto (> 0.20) para modelos de elección discreta, lo cual sugiere un buen ajuste global del modelo.
# Pseudo-R2 de McFadden
pseudo_R2 <- 1 - as.numeric(LL_modelo / LL_nulo)
pseudo_R2
## [1] 0.2526823
La matriz de confusión muestra que el modelo presenta una alta capacidad de clasificación para los estados de obesidad más severos (tipo II y III), con tasas de acierto cercanas al 100 % en dichas categorías. No obstante, el modelo presenta dificultades para distinguir entre peso normal y obesidad tipo I, categorías que son frecuentemente clasificadas como estados de mayor severidad. Este patrón sugiere que las variables incluidas capturan con mayor claridad los extremos del espectro de obesidad, mientras que los estados leves presentan mayor solapamiento, lo cual es consistente con la naturaleza gradual del fenómeno.
# Predicción de clase
pred_clase <- predict(modelo, data = data)
# Matriz de confusión
matriz_confusion <- table(
Observado = data$NObeyesdad,
Predicho = pred_clase
)
kable(matriz_confusion,align = "c")
| Normal_Weight | Obesity_Type_I | Obesity_Type_II | Obesity_Type_III | |
|---|---|---|---|---|
| Normal_Weight | 41 | 0 | 120 | 126 |
| Obesity_Type_I | 35 | 0 | 163 | 153 |
| Obesity_Type_II | 0 | 0 | 295 | 2 |
| Obesity_Type_III | 0 | 0 | 1 | 323 |
La tasa de acierto global del modelo es del 52,3 %, valor que supera ampliamente el nivel esperado por clasificación aleatoria dada la presencia de cuatro categorías. Si bien la capacidad de clasificación no es homogénea entre todas las categorías, el modelo presenta un desempeño sobresaliente en la identificación de los estados de obesidad moderada y severa. Este resultado es consistente con las métricas globales de ajuste, particularmente con un pseudo‑R2R^2R2 de McFadden de 0.253 y una mejora sustancial del log‑likelihood frente al modelo nulo. En conjunto, las métricas sugieren que el modelo es adecuado para fines explicativos y para la identificación de patrones de severidad, aunque presenta limitaciones como clasificador fino en los estados leves de obesidad.
# Tasa de acierto global
accuracy <- mean(pred_clase == data$NObeyesdad2)
accuracy
## [1] 0.5234313
En términos globales, el modelo logit multinomial presenta un buen desempeño explicativo, evidenciado por una mejora sustancial del log‑likelihood frente al modelo nulo y un pseudo‑R2R^2R2 de McFadden de 0.253, valor considerado alto en modelos de elección discreta. No obstante, el análisis de la matriz de confusión revela que el modelo identifica con alta precisión los estados de obesidad moderada y severa, mientras que presenta dificultades para distinguir entre peso normal y obesidad tipo I. Este comportamiento sugiere que las variables incluidas capturan con mayor claridad los extremos del espectro de obesidad, siendo más adecuadas para análisis explicativos que para clasificación individual detallada.
Al evaluar un escenario donde hombres y mujeres presentan el mismo nivel promedio de actividad física, se observa que:
Este resultado refuerza la interpretación de que el efecto del género no es únicamente indirecto a través de la actividad física, sino que persiste incluso cuando esta se mantiene constante.
dgen <- data.frame(
Gender = c("Female", "Male"),
FAF = mean(data$FAF, na.rm = TRUE)
)
dgen
## Gender FAF
## 1 Female 0.9598022
## 2 Male 0.9598022
predict(modelo, newdata = dgen, type = "probs")
## Normal_Weight Obesity_Type_I Obesity_Type_II Obesity_Type_III
## 1 0.2356968 0.2541828 0.002966997 0.507153368
## 2 0.2028433 0.3100108 0.485517315 0.001628514
Desde una perspectiva poblacional, la actividad física actúa como un mecanismo transversal de mitigación del riesgo, desplazando la masa de probabilidad desde estados obesogénicos hacia el peso normal.
El género masculino, por su parte, muestra un patrón diferencial: concentra mayor riesgo en obesidad moderada (tipo II), pero no en obesidad extrema (tipo III), una vez controlada la actividad física. Este hallazgo sugiere que los determinantes de la obesidad severa pueden responder a mecanismos distintos a los que explican la obesidad moderada.
Al simular probabilidades predichas a lo largo de todo el rango observado de actividad física, se identifican tres patrones robustos:
dact <- data.frame(
Gender = rep(c("Female", "Male"), each = 41),
FAF = rep(seq(min(data$FAF, na.rm = TRUE),
max(data$FAF, na.rm = TRUE),
length.out = 41), 2)
)
dact
## Gender FAF
## 1 Female 0.000
## 2 Female 0.075
## 3 Female 0.150
## 4 Female 0.225
## 5 Female 0.300
## 6 Female 0.375
## 7 Female 0.450
## 8 Female 0.525
## 9 Female 0.600
## 10 Female 0.675
## 11 Female 0.750
## 12 Female 0.825
## 13 Female 0.900
## 14 Female 0.975
## 15 Female 1.050
## 16 Female 1.125
## 17 Female 1.200
## 18 Female 1.275
## 19 Female 1.350
## 20 Female 1.425
## 21 Female 1.500
## 22 Female 1.575
## 23 Female 1.650
## 24 Female 1.725
## 25 Female 1.800
## 26 Female 1.875
## 27 Female 1.950
## 28 Female 2.025
## 29 Female 2.100
## 30 Female 2.175
## 31 Female 2.250
## 32 Female 2.325
## 33 Female 2.400
## 34 Female 2.475
## 35 Female 2.550
## 36 Female 2.625
## 37 Female 2.700
## 38 Female 2.775
## 39 Female 2.850
## 40 Female 2.925
## 41 Female 3.000
## 42 Male 0.000
## 43 Male 0.075
## 44 Male 0.150
## 45 Male 0.225
## 46 Male 0.300
## 47 Male 0.375
## 48 Male 0.450
## 49 Male 0.525
## 50 Male 0.600
## 51 Male 0.675
## 52 Male 0.750
## 53 Male 0.825
## 54 Male 0.900
## 55 Male 0.975
## 56 Male 1.050
## 57 Male 1.125
## 58 Male 1.200
## 59 Male 1.275
## 60 Male 1.350
## 61 Male 1.425
## 62 Male 1.500
## 63 Male 1.575
## 64 Male 1.650
## 65 Male 1.725
## 66 Male 1.800
## 67 Male 1.875
## 68 Male 1.950
## 69 Male 2.025
## 70 Male 2.100
## 71 Male 2.175
## 72 Male 2.250
## 73 Male 2.325
## 74 Male 2.400
## 75 Male 2.475
## 76 Male 2.550
## 77 Male 2.625
## 78 Male 2.700
## 79 Male 2.775
## 80 Male 2.850
## 81 Male 2.925
## 82 Male 3.000
# predicciones
pp_act <- cbind(
dact,
predict(modelo, newdata = dact, type = "probs")
)
# promedios por género
by(pp_act[, 3:ncol(pp_act)], pp_act$Gender, colMeans)
## pp_act$Gender: Female
## Normal_Weight Obesity_Type_I Obesity_Type_II Obesity_Type_III
## 0.293636017 0.245487455 0.002539272 0.458337256
## ------------------------------------------------------------
## pp_act$Gender: Male
## Normal_Weight Obesity_Type_I Obesity_Type_II Obesity_Type_III
## 0.266923332 0.309578068 0.421989742 0.001508859
El gráfico por facetas muestra que:
En niveles bajos de FAF, la probabilidad acumulada de obesidad severa es elevada. A medida que FAF aumenta, la probabilidad se redistribuye rápidamente hacia el estado de peso normal. Para niveles altos de FAF, la obesidad tipo III se vuelve prácticamente residual.
La actividad física no solo reduce el riesgo, sino que reconfigura completamente la distribución de estados nutricionales, especialmente en los extremos de mayor severidad.
lpp <- reshape2::melt(
pp_act,
id.vars = c("Gender", "FAF"),
value.name = "probability"
)
dim(lpp)
## [1] 328 4
ggplot(lpp, aes(x = FAF, y = probability, colour = Gender)) +
geom_line() +
facet_grid(variable ~ ., scales = "free")
kable(avg_slopes(modelo),align = "c")
| term | group | contrast | estimate | std.error | statistic | p.value | s.value | conf.low | conf.high |
|---|---|---|---|---|---|---|---|---|---|
| FAF | Normal_Weight | dY/dX | 0.0898020 | 0.0129552 | 6.9317241 | 0.0000000 | 37.8074478 | 0.0644103 | 0.1151938 |
| FAF | Obesity_Type_I | dY/dX | 0.0072157 | 0.0150340 | 0.4799555 | 0.6312591 | 0.6636959 | -0.0222505 | 0.0366818 |
| FAF | Obesity_Type_II | dY/dX | -0.0576891 | 0.0115970 | -4.9744734 | 0.0000007 | 20.5436488 | -0.0804188 | -0.0349593 |
| FAF | Obesity_Type_III | dY/dX | -0.0393287 | 0.0116452 | -3.3772499 | 0.0007321 | 10.4155832 | -0.0621528 | -0.0165045 |
| Gender | Normal_Weight | Male - Female | -0.0307068 | 0.0236408 | -1.2988907 | 0.1939814 | 2.3660095 | -0.0770418 | 0.0156283 |
| Gender | Obesity_Type_I | Male - Female | 0.0523577 | 0.0256882 | 2.0382014 | 0.0415298 | 4.5897094 | 0.0020098 | 0.1027056 |
| Gender | Obesity_Type_II | Male - Female | 0.4807420 | 0.0200407 | 23.9883312 | 0.0000000 | 420.0047460 | 0.4414630 | 0.5200209 |
| Gender | Obesity_Type_III | Male - Female | -0.5023929 | 0.0204003 | -24.6267041 | 0.0000000 | 442.4291841 | -0.5423768 | -0.4624090 |
(Estimate: 0.08980, Std. Error: 0.01296, z-value: 6.932, p-value < 0.001)
Un incremento en una unidad en la variable FAF aumenta la probabilidad de estar en la categoría “Normal_Weight” en 0.0898 (8.98 puntos porcentuales). Este efecto es altamente significativo.
Gender (Male - Female)
(Estimate: -0.03071, Std. Error: 0.02364, z-value: -1.299, p-value = 0.194)
Ser hombre en comparación con ser mujer disminuye la probabilidad de estar en “Normal_Weight” en 3.07 puntos porcentuales, sin embargo, este efecto no es estadísticamente significativo.
(Estimate: 0.00722, Std. Error: 0.01503, z-value: 0.480, p-value = 0.631)
Un incremento en FAF tiene un efecto positivo muy pequeño sobre la probabilidad de estar en “Obesity_Type_I”, pero este efecto no es significativo.
Gender (Male - Female)
(Estimate: 0.05236, Std. Error: 0.02569, z-value: 2.038, p-value = 0.0415)
Ser hombre aumenta la probabilidad de estar en “Obesity_Type_I” en 5.24 puntos porcentuales, y este efecto es estadísticamente significativo.
(Estimate: -0.05769, Std. Error: 0.01160, z-value: -4.974, p-value < 0.001)
Un incremento en FAF disminuye la probabilidad de estar en “Obesity_Type_II” en 5.77 puntos porcentuales. Este efecto es altamente significativo.
Gender (Male - Female)
(Estimate: 0.48074, Std. Error: 0.02004, z-value: 23.988, p-value < 0.001)
Ser hombre aumenta considerablemente la probabilidad de estar en “Obesity_Type_II” en 48.07 puntos porcentuales, siendo este efecto altamente significativo.
(Estimate: -0.03933, Std. Error: 0.01165, z-value: -3.377, p-value < 0.001)
Un incremento en FAF reduce la probabilidad de estar en “Obesity_Type_III” en 3.93 puntos porcentuales. Este efecto es significativo.
Gender (Male - Female)
(Estimate: -0.50239, Std. Error: 0.02040, z-value: -24.627, p-value < 0.001)
Ser hombre disminuye la probabilidad de estar en “Obesity_Type_III” en 50.24 puntos porcentuales, siendo este efecto altamente significativo.
Los resultados evidencian que la variable FAF (actividad física) juega un papel fundamental en la clasificación del estado nutricional. Un mayor nivel de actividad física incrementa significativamente la probabilidad de tener un peso normal, mientras que reduce la probabilidad de pertenecer a categorías más severas de obesidad (tipo II y tipo III).
Por otro lado, el género presenta efectos heterogéneos entre categorías. Ser hombre aumenta significativamente la probabilidad de obesidad tipo I y tipo II, pero reduce fuertemente la probabilidad de obesidad tipo III. No se observa un efecto significativo del género sobre la categoría de peso normal.
El modelo logit multinomial confirma que la obesidad es un fenómeno heterogéneo y que sus determinantes no actúan de forma uniforme sobre todos los niveles de severidad. La actividad física (FAF) se identifica como el principal factor protector: un incremento unitario en FAF aumenta en 9,0 puntos porcentuales la probabilidad de mantener un peso normal y reduce significativamente la probabilidad de obesidad tipo II (−5,8 pp) y tipo III (−3,9 pp). En términos relativos, la FAF reduce las odds de obesidad tipo I en 32 %, de tipo II en 50 % y de tipo III en 42 %, evidenciando un efecto más intenso en los niveles moderados y severos.
El género presenta un patrón claramente no lineal. Ser hombre incrementa de forma significativa la probabilidad de obesidad tipo I (+5,2 pp) y, especialmente, de obesidad tipo II (+48,1 pp), mientras que reduce marcadamente la probabilidad de obesidad tipo III (−50,2 pp). No se observa un efecto estadísticamente significativo del género sobre la probabilidad de permanecer en peso normal, lo que sugiere que su influencia se concentra en los estados intermedios del espectro obesogénico.
Desde el punto de vista del ajuste, el modelo presenta un buen desempeño explicativo, con un pseudo‑R² de McFadden de 0,253 y una mejora sustancial del log‑likelihood frente al modelo nulo. La tasa de acierto global alcanza el 52,3 %, con una capacidad de clasificación muy elevada en obesidad tipo II y III, aunque limitada para diferenciar entre peso normal y obesidad tipo I. En conjunto, los resultados respaldan la pertinencia de un enfoque multinomial y destacan la actividad física como eje central de intervención, especialmente para prevenir y contener los estados de obesidad más severos.