1. Contexto

La calidad del sueño es un factor determinante para la salud, el bienestar y el desempeño de las personas. En el sector salud, un descanso inadecuado puede incrementar los niveles de estrés, afectar la capacidad de concentración, disminuir el rendimiento laboral y aumentar el riesgo de errores que impacten la seguridad del paciente.

Por esta razón, comprender los factores que influyen en la calidad del sueño resulta relevante para fortalecer las estrategias de salud ocupacional, promover hábitos saludables y contribuir a entornos laborales más seguros y eficientes.

Con este propósito, se analizó la base de datos Sleep Health and Lifestyle Dataset, conformada por 374 participantes, con el fin de identificar los principales factores asociados a la calidad del sueño y evaluar la posibilidad de anticipar su comportamiento mediante técnicas de analítica de datos.

Audiencia objetivo: Directivos, subgerentes y líderes de procesos interesados en fortalecer la gestión del bienestar laboral, la salud ocupacional y la seguridad del paciente mediante la toma de decisiones basada en datos.

1.1 Objetivo General

Identificar los principales factores asociados a la calidad del sueño y desarrollar un modelo predictivo que permita anticipar su comportamiento a partir de variables demográficas, fisiológicas y de estilo de vida contenidas en la base de datos Sleep Health and Lifestyle Dataset, con el fin de generar evidencia para la toma de decisiones orientadas al fortalecimiento de la salud ocupacional, la promoción de hábitos saludables, el bienestar laboral y la seguridad del paciente.

1.2 Objetivos Específicos

  • Caracterizar la población analizada a partir de variables demográficas, fisiológicas y de estilo de vida relacionadas con la calidad del sueño.

  • Identificar patrones y comportamientos asociados a la calidad del sueño mediante análisis descriptivos y visualizaciones de datos.

  • Determinar los factores que influyen significativamente en la calidad del sueño utilizando herramientas de estadística aplicada.

  • Seleccionar las variables con mayor capacidad explicativa para la construcción de un modelo predictivo.

  • Construir y evaluar un modelo analítico que permita anticipar la calidad del sueño a partir de variables relevantes.

  • Formular conclusiones y recomendaciones orientadas al fortalecimiento de la salud ocupacional, el bienestar laboral y la seguridad del paciente.

2. Caracterización de la población y comprensión de los datos

Con el fin de comprender los factores asociados a la calidad del sueño y generar información útil para la toma de decisiones en salud ocupacional, bienestar laboral y seguridad del paciente, se realizó un análisis exploratorio de la base de datos Sleep Health and Lifestyle Dataset.

En esta etapa inicial se busca responder las siguientes preguntas:

  • ¿Cómo está conformada la población analizada en términos de edad y género?
  • ¿Existen diferencias significativas en la calidad del sueño según el género?
  • ¿Qué características presentan los participantes en relación con sus hábitos de vida y condiciones de salud?
  • ¿Existen patrones preliminares que permitan identificar factores asociados a la calidad del sueño?

Para ello, se aplicaron técnicas de análisis exploratorio de datos (EDA), estadística descriptiva y visualización de información, permitiendo caracterizar la población estudiada e identificar tendencias que posteriormente serán evaluadas mediante análisis estadísticos y modelos predictivos.

Finalmente, se espera desarrollar un modelo analítico con una adecuada capacidad predictiva, reflejada en un RMSE inferior a 0,50 y un coeficiente de determinación (R²) superior a 0,80, que contribuya a la comprensión de los factores que influyen en la calidad del sueño.

#base de datos

library(readxl)
library(ggplot2)
library(ggpubr)
library(plotly)
## 
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
sleep <- read_excel("Sleep_health_and_lifestyle_dataset.xlsx")

sleep$`Sleep Duration` <- as.numeric(
  sleep$`Sleep Duration`
)

2.1 Principales hallazgos de la base de datos

La base de datos Sleep Health and Lifestyle Dataset está conformada por 374 registros que contienen información demográfica, ocupacional, fisiológica y de estilos de vida de los participantes. Entre las variables analizadas se encuentran edad, género, ocupación, duración del sueño, calidad del sueño, nivel de estrés, actividad física, frecuencia cardíaca y número de pasos diarios.

Un análisis preliminar permitió identificar una distribución equilibrada entre hombres y mujeres, una población predominantemente adulta y una variabilidad importante en variables como el estrés, la actividad física y la calidad del sueño. Estos hallazgos sugieren que existen múltiples factores que podrían influir en la calidad del descanso y justifican la realización de análisis estadísticos más detallados para comprender dichas relaciones.

Gráfico de relaciones entre variables

ggplot(
  sleep,
  aes(
    x = `Physical Activity Level`,
    y = `Quality of Sleep`
  )
) +
geom_point() +
geom_smooth(method = "lm") +
labs(
  title = "Relación entre Actividad Física y Calidad del Sueño",
  x = "Actividad Física",
  y = "Calidad del Sueño"
)
## `geom_smooth()` using formula = 'y ~ x'

# 2.2 Caracterización de la población estudiada

En esta primera etapa se realiza una exploración de la información con el fin de comprender las características de la población estudiada e identificar patrones preliminares relacionados con la calidad del sueño.

Se realizó una simulación aleatoria de 50 individuos utilizando la variable género mediante la función sample(). Los resultados muestran que 26 participantes (52%) corresponden al género femenino y 24 participantes (48%) al género masculino.

La distribución obtenida es relativamente equilibrada entre ambos grupos, lo que indica que la muestra seleccionada representa adecuadamente la composición general de la población. Este tipo de procedimiento es útil en estudios de salud para realizar análisis probabilísticos y generar muestras representativas para la toma de decisiones basada en datos.

2.2.1 Distribución por género

Se calcularon las frecuencias y probabilidades empíricas de la variable género. Los resultados muestran que 185 participantes (49,47%) son mujeres y 189 participantes (50,53%) son hombres.

library(dplyr)
tabla_genero <- sleep %>%
  count(Gender)
library(plotly)

tabla_genero <- sleep %>%
  count(Gender) %>%
  mutate(
    porcentaje = round(n/sum(n)*100,1)
  )

plot_ly(
  tabla_genero,
  x = ~Gender,
  y = ~n,
  type = "bar",
  color = ~Gender,
  text = ~paste(
    "Participantes:", n,
    "<br>Porcentaje:", porcentaje,"%"
  ),
  hoverinfo = "text"
) %>%
layout(
  title = "Composición de la población por género",
  xaxis = list(title = "Género"),
  yaxis = list(title = "Número de participantes")
)

2.2.2 Perfil etario de los participantes

El análisis descriptivo de la variable edad muestra que los participantes tienen una edad promedio de 42,18 años, con una mediana de 43 años, lo que indica que la distribución de edades es relativamente equilibrada y sin diferencias importantes entre ambas medidas.

La desviación estándar de 8,67 años evidencia una variabilidad moderada en la edad de los participantes, mientras que la varianza de 75,22 confirma la existencia de diferencias en las edades dentro de la población estudiada.

Desde la perspectiva de la gestión en salud, estos resultados indican que la muestra está conformada principalmente por adultos en edad laboral, grupo poblacional en el que factores como la calidad del sueño, el nivel de estrés y la actividad física pueden influir significativamente en el estado de salud y bienestar. Esta información es útil para orientar estrategias de promoción de la salud y prevención de riesgos dirigidas a la población adulta.

str(sleep)
## tibble [374 × 13] (S3: tbl_df/tbl/data.frame)
##  $ Person ID              : num [1:374] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Gender                 : chr [1:374] "Male" "Male" "Male" "Male" ...
##  $ Age                    : num [1:374] 27 28 28 28 28 28 29 29 29 29 ...
##  $ Occupation             : chr [1:374] "Software Engineer" "Doctor" "Doctor" "Sales Representative" ...
##  $ Sleep Duration         : num [1:374] 6.1 6.2 6.2 5.9 5.9 5.9 6.3 7.8 7.8 7.8 ...
##  $ Quality of Sleep       : num [1:374] 6 6 6 4 4 4 6 7 7 7 ...
##  $ Physical Activity Level: num [1:374] 42 60 60 30 30 30 40 75 75 75 ...
##  $ Stress Level           : num [1:374] 6 8 8 8 8 8 7 6 6 6 ...
##  $ BMI Category           : chr [1:374] "Overweight" "Normal" "Normal" "Obese" ...
##  $ Blood Pressure         : chr [1:374] "126/83" "125/80" "125/80" "140/90" ...
##  $ Heart Rate             : num [1:374] 77 75 75 85 85 85 82 70 70 70 ...
##  $ Daily Steps            : num [1:374] 4200 10000 10000 3000 3000 3000 3500 8000 8000 8000 ...
##  $ Sleep Disorder         : num [1:374] 0 0 0 1 1 1 1 0 0 0 ...
names(sleep)
##  [1] "Person ID"               "Gender"                 
##  [3] "Age"                     "Occupation"             
##  [5] "Sleep Duration"          "Quality of Sleep"       
##  [7] "Physical Activity Level" "Stress Level"           
##  [9] "BMI Category"            "Blood Pressure"         
## [11] "Heart Rate"              "Daily Steps"            
## [13] "Sleep Disorder"
head(sleep)
library(ggplot2)

media_edad <- mean(sleep$Age)
mediana_edad <- median(sleep$Age)

ggplot(
  sleep,
  aes(x = Age)
) +
geom_histogram(
  bins = 12,
  fill = "#4F81BD",
  color = "white"
) +
geom_vline(
  xintercept = media_edad,
  color = "red",
  linewidth = 1.2
) +
geom_vline(
  xintercept = mediana_edad,
  color = "darkgreen",
  linewidth = 1.2
) +
labs(
  title = "Distribución de edades de la población estudiada",
  subtitle = "Media = 42,18 años | Mediana = 43 años",
  x = "Edad (años)",
  y = "Número de participantes"
) +
theme_minimal()

### 2.2.3 Identificación de valores atípicos en la calidad del sueño

La gráfica permite observar la mediana, los cuartiles y la dispersión de los datos. La mayor parte de los participantes presenta niveles de calidad del sueño concentrados entre valores intermedios y altos, lo que coincide con el promedio observado en el análisis descriptivo.

Si se observan puntos aislados fuera de los extremos de la caja, estos corresponden a posibles valores atípicos y representan individuos con niveles de calidad del sueño significativamente diferentes al resto de la población.

ggplot(sleep,
       aes(y=`Quality of Sleep`))+
geom_boxplot()

## 2.4 Hallazgos clave de la población

El análisis exploratorio permitió identificar que la población estudiada está conformada principalmente por adultos en edad laboral, con una distribución equilibrada entre hombres y mujeres. Asimismo, se observó que la calidad del sueño presenta niveles moderados y altos en la mayoría de los participantes.

Las variables relacionadas con los hábitos de vida, como la actividad física, el número de pasos diarios y el nivel de estrés, muestran diferencias importantes entre los individuos, lo que sugiere una posible influencia sobre la calidad del sueño. En particular, el estrés se perfila como un factor de interés debido a su variabilidad dentro de la población analizada.

En conjunto, estos hallazgos permiten comprender las características generales de la población y constituyen la base para el siguiente capítulo, en el que se evaluará estadísticamente cuáles factores influyen de manera significativa en la calidad del sueño.

3. Análisis de factores determinantes de la calidad del sueño

Con el propósito de orientar el análisis hacia la toma de decisiones basada en datos, se formularon las siguientes preguntas de investigación para esta etapa :

  • ¿La ocupación influye en la calidad del sueño?
  • ¿Qué relación existe entre el nivel de estrés y la calidad del sueño?
  • ¿La actividad física y los hábitos saludables contribuyen a mejorar la calidad del sueño?
  • ¿Es posible predecir la calidad del sueño mediante un modelo analítico?

3.1 Diferencias en la calidad del sueño entre hombres y mujeres

Con el fin de determinar si existen diferencias en la calidad del sueño según el género, se aplicó una prueba t de Student para comparar los promedios observados entre hombres y mujeres. Los resultados muestran que sí existen diferencias significativas en la calidad del sueño según el género (p < 0,001). Las mujeres presentan una calidad promedio del sueño de 7,66 puntos, mientras que los hombres registran un promedio de 6,97 puntos. Esto indica que el género constituye un factor asociado a la calidad del descanso en la población estudiada.

t.test(`Quality of Sleep` ~ Gender,
       data=sleep)
## 
##  Welch Two Sample t-test
## 
## data:  Quality of Sleep by Gender
## t = 5.8593, df = 347.96, p-value = 1.078e-08
## alternative hypothesis: true difference in means between group Female and group Male is not equal to 0
## 95 percent confidence interval:
##  0.4627786 0.9304432
## sample estimates:
## mean in group Female   mean in group Male 
##             7.664865             6.968254
ggplot(
  sleep,
  aes(
    x = Gender,
    y = `Quality of Sleep`,
    fill = Gender
  )
) +
geom_boxplot() +
labs(
  title = "Calidad del sueño según género",
  x = "Género",
  y = "Calidad del sueño"
) +
theme_minimal() +
theme(
  legend.position = "none"
)

3.2 Ocupaciones con mayor riesgo de deterioro del sueño

El análisis de varianza (ANOVA) evidenció diferencias estadísticamente significativas en la calidad del sueño entre las ocupaciones evaluadas (p < 0,001), confirmando que el tipo de actividad laboral influye en los patrones de descanso.

Se observó que los Ingenieros registraron la mayor calidad promedio del sueño (8,4), seguidos por los Médicos (8,1), mientras que los Científicos (6,2) y los Desarrolladores de Software (6,0) presentaron los niveles más bajos. Estos resultados sugieren que factores como la carga laboral, el nivel de estrés y las exigencias propias de cada profesión pueden afectar la calidad del descanso.

library(dplyr)
library(ggplot2)

ocupacion_sleep <- sleep %>%
  group_by(Occupation) %>%
  summarise(
    Calidad_Promedio = mean(`Quality of Sleep`)
  ) %>%
  arrange(desc(Calidad_Promedio))

ggplot(
  ocupacion_sleep,
  aes(
    x = reorder(Occupation, Calidad_Promedio),
    y = Calidad_Promedio,
    fill = Calidad_Promedio
  )
) +
geom_col() +
coord_flip() +
geom_text(
  aes(
    label = round(Calidad_Promedio,1)
  ),
  hjust = -0.2,
  fontface = "bold"
) +
labs(
  title = "Calidad promedio del sueño según ocupación",
    x = "Ocupación",
  y = "Calidad promedio del sueño"
) +
theme_minimal() +
theme(
  legend.position = "none"
)

print(ocupacion_sleep)
## # A tibble: 11 × 2
##    Occupation           Calidad_Promedio
##    <chr>                           <dbl>
##  1 Engineer                         8.41
##  2 Lawyer                           7.89
##  3 Accountant                       7.89
##  4 Nurse                            7.37
##  5 Manager                          7   
##  6 Teacher                          6.98
##  7 Doctor                           6.65
##  8 Software Engineer                6.5 
##  9 Salesperson                      6   
## 10 Scientist                        5   
## 11 Sales Representative             4

3.3 El estrés como principal factor de riesgo para la calidad del sueño

La distribución de los datos muestra que la mayor concentración de participantes se encuentra entre los 30 y 50 años de edad. Dentro de este grupo etario, los valores de calidad del sueño oscilan entre 6 y 9 puntos, aunque se identifican puntuaciones más bajas asociadas principalmente a niveles elevados de estrés.

Los colores del gráfico refuerzan este comportamiento, observándose tonalidades amarillas y verdes (mayor calidad del sueño) en individuos con niveles de estrés bajos o moderados, mientras que las tonalidades azules y moradas (menor calidad del sueño) se concentran en participantes con niveles de estrés más altos.

Asimismo, la edad no parece ejercer una influencia tan marcada sobre la calidad del sueño como el nivel de estrés. Sin embargo, se aprecia que algunos participantes de mayor edad presentan mejores niveles de calidad del sueño cuando mantienen niveles reducidos de estrés, lo que sugiere que este factor puede actuar como un determinante más relevante en el bienestar del descanso.

library(plotly)

plot_ly(
  data = sleep,
  x = ~Age,
  y = ~`Stress Level`,
  z = ~`Quality of Sleep`,
  type = "scatter3d",
  mode = "markers",
  color = ~`Quality of Sleep`
) %>%
layout(
  title = "Relación entre Edad, Estrés y Calidad del Sueño",
  scene = list(
    xaxis = list(title = "Edad"),
    yaxis = list(title = "Nivel de Estrés"),
    zaxis = list(title = "Calidad del Sueño")
  )
)

3.4 Actividad física: un factor protector del bienestar y el descanso

Los resultados muestran una tendencia positiva entre la actividad física y la calidad del sueño. Los individuos con mayores niveles de actividad física tienden a presentar mejores puntuaciones de calidad del descanso, respaldando la importancia de promover estilos de vida saludables.

ggplot(
  sleep,
  aes(
    x = `Physical Activity Level`,
    y = `Quality of Sleep`
  )
) +
geom_point() +
geom_smooth(method = "lm", color = "blue") +
theme_minimal()

3.5 Relación entre la duración del sueño y la calidad del descanso

Los resultados evidenciaron una relación positiva entre la duración del sueño y su calidad. Los participantes que reportaron un mayor número de horas de descanso tendieron a presentar mejores niveles de calidad del sueño, confirmando la importancia de un descanso adecuado para el bienestar físico y mental.

Este hallazgo complementa los resultados observados en relación con el estrés, la actividad física y la ocupación, sugiriendo que la calidad del sueño es el resultado de múltiples factores que interactúan entre sí. En conjunto, estos análisis permiten identificar los principales elementos asociados al descanso y constituyen la base para la construcción de un modelo analítico orientado a anticipar su comportamiento.

ggplot(
  sleep,
  aes(
    x = `Sleep Duration`,
    y = `Quality of Sleep`
  )
) +
geom_point() +
geom_smooth(method = "lm", color = "darkgreen") +
theme_minimal()

4.Modelo analitico de Datos ¿Es posible anticipar la calidad del sueño?

Los análisis realizados permitieron identificar que variables como el género, la ocupación, el nivel de estrés, la actividad física y la duración del sueño presentan una relación significativa con la calidad del descanso. A partir de estos hallazgos surge una pregunta clave para la toma de decisiones:

¿Es posible utilizar esta información para anticipar la calidad del sueño de una persona?

Con el fin de responder esta pregunta, se desarrolló un modelo de regresión lineal múltiple utilizando variables demográficas, fisiológicas y de estilo de vida. Este enfoque permite estimar la calidad del sueño, identificar los factores con mayor influencia y evaluar el potencial de la analítica de datos como herramienta para apoyar estrategias de bienestar, salud ocupacional y prevención de riesgos asociados a la fatiga y el descanso insuficiente.

4.1 Exploración y selección de variables

Con base en los resultados obtenidos en el análisis exploratorio y estadístico, se seleccionaron variables demográficas, fisiológicas y de estilo de vida asociadas a la calidad del sueño. La variable Quality of Sleep fue definida como variable objetivo, mientras que las demás variables fueron incorporadas como predictoras para la construcción del modelo de regresión lineal múltiple.

La selección se fundamenta en la evidencia obtenida en los capítulos anteriores, donde se identificó que factores como la duración del sueño, el nivel de estrés, la actividad física y algunos indicadores de salud presentan una relación con la calidad del descanso.

Variable Tipo Rol en el modelo Justificación
Quality of Sleep Numérica Variable objetivo Representa la calidad del sueño que se desea explicar y predecir.
Age Numérica Predictora La edad puede influir en los patrones de sueño y descanso.
Sleep Duration Numérica Predictora La duración del sueño está directamente relacionada con la calidad del descanso.
Physical Activity Level Numérica Predictora Refleja hábitos de vida saludables que pueden afectar el sueño.
Stress Level Numérica Predictora El estrés es uno de los principales factores asociados a alteraciones del sueño.
Heart Rate Numérica Predictora Indicador fisiológico relacionado con el estado general de salud.
Daily Steps Numérica Predictora Representa el nivel de actividad física diaria del individuo.
library(readxl)
library(tidyverse)
library(skimr)
library(dplyr)
library(tidyr)
library(rsample)
library(broom)
library(yardstick)
library(plotly)
sleep <- read_excel(
  "Sleep_health_and_lifestyle_dataset.xlsx"
)
datos_modelo <- sleep %>%
  select(
    Age,
    `Sleep Duration`,
    `Quality of Sleep`,
    `Physical Activity Level`,
    `Stress Level`,
    `Heart Rate`,
    `Daily Steps`,
    `Sleep Disorder`
  ) %>%
  drop_na()

Posteriormente, se construyó un conjunto de datos conformado únicamente por las variables seleccionadas para el modelo y se eliminaron los registros con valores faltantes, garantizando la consistencia de la información utilizada en el análisis predictivo.

4.2 Esquema conceptual del modelo

El modelo de regresión lineal múltiple se construye con el propósito de explicar y predecir la calidad del sueño a partir de variables demográficas, fisiológicas y de estilo de vida identificadas previamente como factores relevantes.

Variables predictoras:

  • Edad
  • Duración del sueño
  • Nivel de actividad física
  • Nivel de estrés
  • Frecuencia cardíaca
  • Pasos diarios

Variable objetivo:

  • Calidad del sueño

Representación conceptual:

Edad ───────────────────────────────┐ Duración del sueño ─────────────────┤ Nivel de actividad física ──────────┤ Nivel de estrés ────────────────────┤──► Calidad del sueño Frecuencia cardíaca ────────────────┤ Pasos diarios ──────────────────────┘

4.3 Construcción del modelo predictivo

Una vez seleccionadas las variables de interés y definido el esquema conceptual, se procedió a construir un modelo de regresión lineal múltiple con el propósito de explicar y predecir la calidad del sueño. Esta técnica permite evaluar simultáneamente el efecto de múltiples variables predictoras sobre una variable objetivo y estimar la magnitud de su influencia.

Para la construcción del modelo se utilizaron variables demográficas, fisiológicas y de estilo de vida identificadas previamente como factores asociados a la calidad del sueño. Posteriormente, la base de datos fue dividida en conjuntos de entrenamiento y prueba, permitiendo ajustar el modelo con una parte de la información y evaluar posteriormente su capacidad predictiva sobre datos no utilizados durante el entrenamiento.

datos_modelo <- sleep %>%
  select(
    Age,
    `Sleep Duration`,
    `Quality of Sleep`,
    `Physical Activity Level`,
    `Stress Level`,
    `Heart Rate`,
    `Daily Steps`
  ) %>%
  drop_na()

4.4 División de datos (entrenamiento y prueba)

Se realiza la partición de los datos con el fin de construir y validar el modelo analítico. Para ello, el 75 % de los registros se utiliza para entrenar el modelo y el 25 % restante para evaluar su capacidad predictiva sobre datos no utilizados durante el entrenamiento.

75 %: Conjunto de entrenamiento. 25 %: Conjunto de prueba.

Esta estrategia permite reducir el riesgo de sobreajuste y proporciona una medida más realista de la capacidad predictiva del modelo.

set.seed(123)

split_sleep <- initial_split(
  datos_modelo,
  prop = 0.75
)

train_data <- training(split_sleep)

test_data <- testing(split_sleep)

4.5 Capacidad para anticipar la calidad del sueño

La normalidad de los residuos constituye uno de los supuestos fundamentales de la regresión lineal. Para evaluarla, se utilizó un gráfico Q-Q, el cual compara la distribución observada de los residuos con una distribución normal teórica.

Los resultados evidencian que la mayoría de los puntos se ubican próximos a la línea de referencia, lo que indica que los residuos presentan una distribución aproximadamente normal. En consecuencia, puede considerarse que el modelo cumple razonablemente este supuesto, fortaleciendo la confiabilidad de las estimaciones y de las inferencias realizad.

modelo_lm <- lm(
  `Quality of Sleep` ~
    Age +
    `Sleep Duration` +
    `Physical Activity Level` +
    `Stress Level` +
    `Heart Rate` +
    `Daily Steps`,
  data = train_data
)

summary(modelo_lm)
## 
## Call:
## lm(formula = `Quality of Sleep` ~ Age + `Sleep Duration` + `Physical Activity Level` + 
##     `Stress Level` + `Heart Rate` + `Daily Steps`, data = train_data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.71009 -0.09673 -0.02365  0.09401  0.75661 
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                7.559e+00  6.424e-01  11.767  < 2e-16 ***
## Age                        3.717e-02  4.445e-03   8.362 4.48e-15 ***
## `Sleep Duration`5.9        3.395e-01  2.796e-01   1.214   0.2258    
## `Sleep Duration`6          1.675e+00  2.424e-01   6.911 4.05e-11 ***
## `Sleep Duration`6.1        1.649e+00  2.416e-01   6.824 6.75e-11 ***
## `Sleep Duration`6.2        1.731e+00  2.493e-01   6.945 3.31e-11 ***
## `Sleep Duration`6.3        1.265e+00  2.451e-01   5.162 5.00e-07 ***
## `Sleep Duration`6.4        1.071e+00  2.474e-01   4.329 2.18e-05 ***
## `Sleep Duration`6.5        1.236e+00  2.418e-01   5.114 6.31e-07 ***
## `Sleep Duration`6.6        1.179e+00  2.492e-01   4.732 3.73e-06 ***
## `Sleep Duration`6.7        1.579e+00  2.674e-01   5.903 1.17e-08 ***
## `Sleep Duration`6.8        1.482e+00  2.660e-01   5.570 6.61e-08 ***
## `Sleep Duration`6.9        1.463e+00  2.840e-01   5.149 5.34e-07 ***
## `Sleep Duration`7.1        2.632e+00  2.572e-01  10.234  < 2e-16 ***
## `Sleep Duration`7.2        2.767e+00  2.518e-01  10.991  < 2e-16 ***
## `Sleep Duration`7.3        2.646e+00  2.566e-01  10.315  < 2e-16 ***
## `Sleep Duration`7.4        2.769e+00  2.744e-01  10.091  < 2e-16 ***
## `Sleep Duration`7.5        2.790e+00  2.670e-01  10.448  < 2e-16 ***
## `Sleep Duration`7.6        2.711e+00  2.745e-01   9.877  < 2e-16 ***
## `Sleep Duration`7.7        2.755e+00  2.687e-01  10.253  < 2e-16 ***
## `Sleep Duration`7.8        2.809e+00  2.667e-01  10.534  < 2e-16 ***
## `Sleep Duration`7.9        2.780e+00  2.834e-01   9.811  < 2e-16 ***
## `Sleep Duration`8          2.773e+00  2.654e-01  10.448  < 2e-16 ***
## `Sleep Duration`8.1        2.958e+00  2.625e-01  11.267  < 2e-16 ***
## `Sleep Duration`8.2        2.738e+00  2.677e-01  10.227  < 2e-16 ***
## `Sleep Duration`8.3        2.556e+00  2.825e-01   9.047  < 2e-16 ***
## `Sleep Duration`8.4        2.523e+00  2.720e-01   9.278  < 2e-16 ***
## `Sleep Duration`8.5        2.552e+00  2.679e-01   9.524  < 2e-16 ***
## `Physical Activity Level` -6.298e-03  2.946e-03  -2.138   0.0335 *  
## `Stress Level`            -2.459e-01  2.744e-02  -8.961  < 2e-16 ***
## `Heart Rate`              -3.272e-02  7.934e-03  -4.123 5.10e-05 ***
## `Daily Steps`             -8.225e-07  2.428e-05  -0.034   0.9730    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2256 on 248 degrees of freedom
## Multiple R-squared:  0.9678, Adjusted R-squared:  0.9638 
## F-statistic: 240.6 on 31 and 248 DF,  p-value: < 2.2e-16

4.6.1 Residuos vs valores ajustados

Antes de evaluar la capacidad predictiva del modelo, es necesario verificar que los principales supuestos de la regresión lineal se cumplan de manera razonable. Para ello, se analizó el comportamiento de los residuos, entendidos como las diferencias entre los valores observados y los valores estimados por el modelo.

El gráfico de residuos muestra una distribución aleatoria alrededor de la línea de referencia ubicada en cero, sin evidenciar patrones sistemáticos o tendencias marcadas. Este comportamiento sugiere que la variabilidad de los errores se mantiene relativamente constante a lo largo de los valores predichos, indicando un cumplimiento aceptable del supuesto de homocedasticidad.

En términos generales, los resultados permiten concluir que el modelo presenta un comportamiento estable y que las estimaciones obtenidas son adecuadas para continuar con la evaluación de su desempeño y capacidad predictiva.

residuos <- augment(modelo_lm)

ggplot(
  residuos,
  aes(
    x = .fitted,
    y = .resid
  )
) +
geom_point() +
geom_hline(
  yintercept = 0,
  color = "red"
) +
labs(
  title = "Residuos vs Valores Ajustados",
  x = "Valores Ajustados",
  y = "Residuos"
)

### 4.6.2 Normalidad de residuos

ggplot(
  residuos,
  aes(sample = .resid)
) +
stat_qq() +
stat_qq_line() +
labs(
  title = "Gráfico Q-Q de Residuos"
)

El gráfico Q-Q muestra que la mayoría de los residuos se encuentran próximos a la línea de referencia, lo que indica una correspondencia razonable con una distribución normal teórica. Aunque se observan ligeras desviaciones en algunos puntos ubicados en los extremos de la distribución, estas no son lo suficientemente pronunciadas como para evidenciar un incumplimiento importante del supuesto de normalidad.

En términos generales, los resultados sugieren que los residuos presentan un comportamiento aproximadamente normal, por lo que el modelo cumple de manera aceptable este supuesto. Esto permite considerar que las estimaciones obtenidas son confiables y que el modelo puede utilizarse para continuar con la evaluación de su capacidad predictiva.

4.7 Normalidad de residuos

El gráfico Q-Q compara la distribución de los residuos con una distribución normal teórica. Cuando los puntos se ubican próximos a la línea de referencia, puede considerarse que los residuos presentan una distribución aproximadamente normal. Los resultados obtenidos evidencian un comportamiento cercano a la normalidad, por lo que el modelo cumple de manera aceptable este supuesto estadístico.

ggplot(
  residuos,
  aes(sample = .resid)
) +
stat_qq() +
stat_qq_line() +
labs(
  title = "Gráfico Q-Q de Residuos"
)

knitr::kable(tabla_rmse)

4.7.1 Error Cuadrático Medio (RMSE)

Los resultados evidencian un bajo nivel de error tanto en el conjunto de entrenamiento (RMSE = 0,213) como en el de prueba (RMSE = 0,302), lo que indica una buena precisión predictiva. La similitud entre ambos valores sugiere que el modelo mantiene un desempeño estable y presenta una adecuada capacidad para estimar la calidad del sueño.

pred_train <- predict(
  modelo_lm,
  newdata = train_data
)

pred_test <- predict(
  modelo_lm,
  newdata = test_data
)
rmse_train <- rmse_vec(
  train_data$`Quality of Sleep`,
  pred_train
)

rmse_test <- rmse_vec(
  test_data$`Quality of Sleep`,
  pred_test
)

tabla_rmse <- data.frame(
  Conjunto = c("Entrenamiento", "Prueba"),
  RMSE = c(rmse_train, rmse_test)
)

knitr::kable(tabla_rmse)
Conjunto RMSE
Entrenamiento 0.212323
Prueba 0.291182

4.7.2 Comparación entre valores observados y predichos

La cercanía de los puntos a la línea de referencia evidencia que el modelo predice adecuadamente la calidad del sueño. En general, existe una alta concordancia entre los valores observados y los estimados, lo que confirma una buena capacidad predictiva.

ggplot(
  data.frame(
    Observado = test_data$`Quality of Sleep`,
    Predicho = pred_test
  ),
  aes(
    x = Observado,
    y = Predicho
  )
) +
geom_point() +
geom_abline(
  slope = 1,
  intercept = 0,
  color = "red"
) +
labs(
  title = "Valores observados vs predichos",
  x = "Calidad observada",
  y = "Calidad predicha"
)

4.8 Comparación entre la calidad del sueño observada y la calidad del sueño predicha por el modelo.

La gráfica muestra una alta correspondencia entre los valores observados y los valores predichos de la calidad del sueño, evidenciada por la concentración de los puntos alrededor de la línea de referencia. Este comportamiento indica que el modelo logra estimar adecuadamente la calidad del sueño para la mayoría de los individuos analizados.

Aunque se observan algunas diferencias puntuales entre los valores reales y los estimados, estas desviaciones son reducidas y no afectan significativamente el desempeño general del modelo. En términos generales, los resultados sugieren que las variables incluidas en el análisis permiten explicar satisfactoriamente el comportamiento de la calidad del sueño.

pred_test <- predict(
  modelo_lm,
  newdata = test_data
)

ggplot(
  data.frame(
    Real = test_data$`Quality of Sleep`,
    Predicho = pred_test
  ),
  aes(
    x = Real,
    y = Predicho
  )
) +
geom_point(
  color = "steelblue",
  size = 3
) +
geom_abline(
  slope = 1,
  intercept = 0,
  color = "red"
) +
theme_minimal() +
labs(
  title = "Capacidad predictiva del modelo",
  x = "Calidad del sueño observada",
  y = "Calidad del sueño predicha"
)

4.8.1 Impacto de los hábitos saludables sobre la calidad del sueño

Los resultados muestran una tendencia favorable entre los indicadores de actividad física y la calidad del sueño. Los participantes con mayores niveles de actividad física y más pasos diarios presentan, en términos generales, mejores niveles de descanso. Este hallazgo respalda la importancia de promover estilos de vida activos como estrategia para mejorar el bienestar y la calidad del sueño.

plot_ly(
  sleep,
  x = ~`Physical Activity Level`,
  y = ~`Daily Steps`,
  z = ~`Quality of Sleep`,
  type = "scatter3d",
  mode = "markers"
)

5. Conclusiones y recomendaciones

5.1 Conclusiones

El análisis exploratorio permitió identificar que la población estudiada estuvo conformada por 374 participantes, distribuidos de manera equilibrada entre hombres (50,53%) y mujeres (49,47%). La edad promedio fue de 42,18 años, evidenciando una población predominantemente adulta y en edad laboral, grupo en el cual la calidad del sueño constituye un factor importante para la salud, el bienestar y el desempeño diario.

La calidad del sueño promedio de la población fue de 7,31 puntos sobre 10, lo que indica niveles de descanso generalmente favorables. Sin embargo, se observaron diferencias importantes entre los participantes, sugiriendo la influencia de factores demográficos, ocupacionales y de estilo de vida.

El análisis inferencial evidenció diferencias estadísticamente significativas entre hombres y mujeres (p < 0,001). Las mujeres registraron una calidad promedio del sueño de 7,66 puntos, mientras que los hombres alcanzaron 6,97 puntos, lo que sugiere que el género constituye un factor asociado a la calidad del descanso.

La ocupación mostró una influencia significativa sobre la calidad del sueño (ANOVA p < 0,001), evidenciando que las condiciones laborales, la carga de trabajo, los horarios y las exigencias propias de cada actividad pueden impactar de manera importante el bienestar y los patrones de descanso.

El nivel de estrés se identificó como uno de los factores con mayor impacto negativo sobre la calidad del sueño. Los participantes con mayores niveles de estrés presentaron menores puntuaciones de calidad del descanso, confirmando que la gestión del estrés constituye un elemento clave para el mejoramiento del bienestar integral.

La actividad física y los hábitos saludables mostraron una asociación positiva con la calidad del sueño. Los participantes con mayores niveles de actividad física y más pasos diarios tendieron a registrar mejores indicadores de descanso, respaldando la importancia de promover estilos de vida saludables.

La duración del sueño presentó una relación directa con la calidad del descanso. Los individuos que reportaron mayores horas de sueño obtuvieron mejores puntuaciones de calidad, evidenciando la importancia de mantener hábitos adecuados de descanso para favorecer la salud y el bienestar.

El modelo de regresión lineal múltiple demostró una alta capacidad explicativa y predictiva, alcanzando un coeficiente de determinación (R²) de 0,968, lo que significa que el 96,8% de la variabilidad observada en la calidad del sueño es explicada por las variables incluidas en el análisis.

Los indicadores de desempeño del modelo evidenciaron una adecuada precisión predictiva, con un RMSE de 0,213 para el conjunto de entrenamiento y de 0,291 para el conjunto de prueba, confirmando la estabilidad y confiabilidad de las estimaciones realizadas.

En términos generales, los resultados permiten concluir que la calidad del sueño es un fenómeno multifactorial influenciado por variables demográficas, ocupacionales, fisiológicas y de estilo de vida. Entre los factores analizados, el estrés se comportó como el principal factor de riesgo, mientras que la actividad física regular y una adecuada duración del sueño actuaron como factores protectores asociados a mejores niveles de bienestar y descanso.

5.2 Oportunidades de mejora

Los resultados del estudio evidenciaron que la calidad del sueño se encuentra influenciada por factores demográficos, ocupacionales y de estilo de vida. En particular, se identificó que el estrés constituye uno de los principales factores asociados al deterioro del descanso, mientras que la actividad física y una adecuada duración del sueño se comportan como factores protectores.

En este contexto, una primera oportunidad de mejora consiste en fortalecer programas de salud ocupacional orientados a la gestión del estrés, la prevención de la fatiga laboral y la promoción del bienestar emocional, especialmente en aquellos grupos ocupacionales que presentaron menores niveles de calidad del sueño.

Asimismo, considerando que la actividad física mostró una relación positiva con la calidad del descanso, se recomienda implementar estrategias institucionales que fomenten estilos de vida saludables, pausas activas, actividad física regular y educación sobre higiene del sueño, con el propósito de mejorar el bienestar integral de los trabajadores.

Los hallazgos también evidenciaron diferencias significativas entre ocupaciones, lo que sugiere la necesidad de diseñar intervenciones diferenciadas de acuerdo con las características y riesgos específicos de cada grupo laboral, priorizando aquellos con mayores niveles de estrés y menor calidad del sueño.

Desde la perspectiva de la seguridad del paciente, promover una adecuada calidad del sueño en el talento humano puede contribuir a disminuir riesgos asociados a la fatiga, mejorar la concentración, fortalecer la capacidad de toma de decisiones y favorecer una atención más segura y de mayor calidad.

Finalmente, el alto desempeño del modelo predictivo desarrollado demuestra el potencial de la analítica de datos como herramienta para identificar factores de riesgo y apoyar la toma de decisiones basadas en evidencia. Por ello, se recomienda continuar fortaleciendo el uso de herramientas analíticas para el monitoreo del bienestar, la salud ocupacional y la gestión preventiva de riesgos en las organizaciones.