Vigilancia Epidemiológica

Los Sistemas de Vigilancia Epidemiológica (SVE) son herramientas organizadas para recopilar, analizar, interpretar y difundir información sobre eventos de salud pública, con el objetivo de detectar, prevenir y controlar enfermedades y otros riesgos para la salud. Estos sistemas permiten monitorear patrones, tendencias y brotes, proporcionando datos esenciales para la toma de decisiones en salud pública, planificación de estrategias y evaluación de intervenciones.

Los tipos de vigilancia son:

Activa: Yo busco el caso

Pasiva: El caso llega al servicio de salud

Centinela: Métodos sistemáticos y rutinarios. Para ciertas enfermedades se designan instituciones centinela que envian reportes periodicos.

*Pueden ser más de una. Ej: VIH tiene vig. activa y pasiva

Los componentes de los sistemas de vigilancia son:

1.Entrada: Entran los datos al sistema a partir de diferentes fuentes (vig. activa, pasiva, centinela, investigaciones, encuestas). Los datos debem ser exactos, oportunos, fidedignos, completos, objetivos, validos, comparables y representativos.

Cuando entra la info se hace un diagnostico inicial que busca conocer la magnitud del problema mediante variables como la dist. geográfica, la edad, etc. También se revisan políticas actuales.

En la entrada suelo sacar la prevalencia y al final la incidencia (proporción de casos nuevos)

2.Procesamiento: Se prepara el análisis. Se define cada cuanto se hará cada tipo de vigilancia y cómo. (persona-tiempo-espacio: a quién vigilo, donde y cada cuanto)

3.Salida: Acá se hace el análisis, plan de contingencia, difusión, propuestas, prevención, etc.

4.Retroalimentación: Veo si mis medidas funcionaron. De acá puedo volver a la salida y hacer cambios.

Atributos de la vig epidemiologica: Representatividad, oportunidad, flexibilidad, aceptabilidad, sensibilidad, especificidad, vp+, vp-.

1. Sensibilidad, Especificidad, VP+ y VP-

Sensibilidad P(+/E)

Es la proporción de enfermos correctamente clasificado. Mide la proporción de positivos entre los enfermos

Es una medida de cuán bien el modelo detecta a las personas que realmente tienen la condición, una sensibilidad de 0.71 (94/132) significa que el 71% de de los enfermos serán correctamente clasificados (darán positivo)

Tasa de FN: 1 - Sensibilidad

Especificidad P(-/S)

Es la proporción de sanos correctamente clasificado. Mide la proporción de negativos entre los que NO están enfermos

Es una medida de cuán bien el modelo detecta a las personas que no tienen la condición. Una especificidad de 0.95 (653/868) significa que el 95% de los no enfermos serán correctamente clasificados como negativos (no enfermos)

Tasa de FP: 1- Especificidad

Valor predictivo Positivo P(E/+)

Mide la proporción de enfermos entre los positivos (De los positivos que porcentaje está enfermo)

Un VP+ de 0.3(94/309) significa que el 30% de los casos predichos como positivos realmente son positivos.

Valor predictivo Negativo P(S/-)

Mide la proporción de sanos entre los negativos

Un VP- de 0.95(653/691) significa que el 95% de los casos predichos como negativos realmente no tienen la condición.

Los valores predictivos se ven afectados por la prevalencia de la enferemedad

Prevalencia alta <- VP+ alto

Prevalencia baja <- VP- alto

Esto se debe a que si la prevalencia es baja, muchas personas que se sometan a la prueba, independiente de su presición, no tendrán la enfermedad,por lo que es de esperar una alta cantidad de FP

2.Medidas en Epidemiología

Las medidas en epidemiología se pueden dividir en tres grupos:

Medidas de frecuencia: Miden la ocurrencia de un fenómeno de salud en una población.

Medidas de asociación: Permiten identificar asociaciones entre factores de riesgo y eventos de salud.

Medidas de impacto potencial: Permiten evaluar la magnitud en la que un factor de riesgo o una intervención experimental afectan los desenlaces clínicos.

2.1 Medidas de frecuencia

Razón:

Es una comparación entre dos cantidades. El numerador NO está contenido en el denominador. Se usa para establecer una relación entre dos grupos diferentes.

Por ejemplo, supongamos que queremos ver que tan afectadas se han visto las ciudades A y B por una enferemedad, mediante la comparación de la incidencia.

A: 10.000 habitantes, 125 nuevos enfermos (Incidencia= 100/10.000 = 0.0125)

B: 5.000 habitantes, 50 nuevos enfermos (Incidencia= 50/5.000 = 0.01)

Razón de incidencia = Incidencia(A)/ Incidencia(B) = 0.0125/0.01 = 1.25

Mediante la razón de incidencia estaríamos comparando la incidencia de la enfermedad entre estas dos ciudades. Ya que es 1.25, A tiene 1.25 veces la incidencia observada en el B, lo que se puede expresar como un 25% de aumento relativo en comparación con B.

Si la razón hubiera sido uno significa que la incidencia es la misma para A y B

Proporción:

La proporción nos indica un % del total. p = n/total

Si de 1000 personas 250 son fumadoras la proporción de fumadores es 250/1000 = 0.25. El 25% son fumadores.

Tasa:

La tasa relaciona el número de casos ocurridos en una población durante un período de tiempo específico. El denominador incluye el tiempo. Se interpreta como persona/tiempo

Ej: Por 5 años se observó la incidencia de la incluencia en una ciudad con una población promedio de 100.000 habitantes. Se registrarón 10.000 casos.

Tasa = 10.000 / (100.000 x 5) = 0.02

En promedio, el 2% de la población en riesgo desarrolla la enfermedad cada año. Hay 20 casos (1000 x 0.02) por cada 1000 habitantes por año.

Incidencia:

La incidencia es la frecuencia con la que ocurren casos nuevos. La incidencia acumulada y la densidad de incidencia son dos formas de medirla, pero difieren en cómo consideran el tiempo y la población.

Incidencia acumuladas:

Es la proporción de individuos en riesgo que desarrollan la enfermedad durante un período de tiempo específico.El grupo no deberia partir con enfermos, al final se calcula la IA para ver cuantos enfermos hubo. Lleva una unidad de tiempo pero a diferencia de la tasa no se añade el tiempo en los cálculos.

Ej: Durante 1 mes se siguió a 100 personas. 20 se enfermaron.

IA= 20/100 = 0.2 -> 20%/mes

La IA de un mes fue del 20%

Densidad de Incidencia:

Es la velocidad con la que ocurren casos nuevos. Considera el tiempo de exposición, que NO es fijo y varia entre individuos.

Ej: Hay 5 personas expuestas durante diferentes tiempos. Se registran 2 casos nuevos

Persona 1: 10 meses

Persona 2: 8 meses

Persona 3: 7 meses

Persona 4: 9 meses

Persona 5: 9 meses

Calculamos TP:10 + 8 + 7 + 9 + 9 = 43 personas-meses

DI = 2/43 = 0.0465

En promedio, ocurren 0.0465 casos nuevos por cada persona seguida durante un mes. Hay 46.5 casos nuevos por cada 1000 meses/ persona. En promedio, por cada 1,000 personas que son seguidas durante un mes, ocurren 46.5 casos nuevos.

Para cohertes grandes (más de 100 individuos) se suele multiplicar directamente el tiempo x personas para calcular el TP

Ej: 100 personas en 2 años. TP = 2x100 = 200 años-personas.

*Si seguimos a todos los individuos por 1 mes, 1 año, o cualquier tiempo que sea de 1, DI y IA son iguales.

Veamoslo en un caso practico: En 3 meses se presentan 20 casos entre 100 pacientes en los servicios de urgencia, donde los pacientes están max 2 días, y en traumatologia, donde los pacientes están 10 días en promedio. Se quiere implementar un programa de ayuda, en que servicio debería hacerse primero?

DI(urgencias) = 20 casos/ 100x2(TP) = 0.1 casos por día/persona

DI(traumatología) = 20 / 100 x 10 = 0.02 casos por día/persona

DI es mas alta en urgencias. Por cada 1000 pacientes en 1 día, se presentan 100 casos. Tiene sentido porque un menor tiempo de exposición implica un mayor riesgo.

Prevalencia

*La diferencia entre incidencia y prevalencia es que la incidencia se refiere a los casos nuevos de una enfermedad, mientras que la prevalencia se refiere a los casos existentes

Prevalencia puntual:

No considera el tiempo, es n/total.

Prevalencia de periodo:

Es propia de los estudios longitudinales. Son los casos de una enferemdad en un periodo de tiempo, considerando tanto los casos existentes como los nuevos. Probabilidad de que un individuo sea un caso en cualquier momento dentro de un determinado período

Al estimar la prevalencia de periodo en niños con cancer, se podria encontrar que la prevalencia ha aumentado porque la duración de la enfermedad es larga, a pesar de que la incidencia sea estable, porque se consideran todos los casos durente ese tiempo.

2.2 Medidas de asociación

Riesgo Relativo (RR):

Mide la proporción de riesgos entre el grupo expuesto y el no expuesto. Siempre oscila entre 0 e infinito positivo.

Responde a la pregunta: ¿Cuánto mayor (o menor) es el riesgo en el grupo expuesto en comparación con el no expuesto?

  • RR < 1 la exposición es un factor protector

  • RR > 1 la exposición es un factor de riesgo

  • RR = 1 la exposición no se relaciona con la enfermedad

Entre las personas que tuvieron un ataque, 2 están expuestos al medicamento y 4 no lo están.

RR = (2/100)/(4/100) = 0.5

La exposición al medicamento es un factor protector. Hay un 50% (1-0.5) menos decasos al usar la medicación.

  • Siempre interpretamos el RR en relación con 1.

Razón de prevalencia (RP):

Se usa en diseños transversales. Se interpreta y se calcula de la misma forma que en RR pero en vez de usar la incidencia se usa la prevalencia. (expuestos/no expuestos)

  • RP < 1 la exposición es un factor protector

  • RP > 1 la exposición es un factor de riesgo

  • RP = 1 la exposición no se relaciona con la enfermedad

Odds Ratio (OR)

Odds: Es una forma alternativa de calcular la probabilidad, representa la “chance” de que ocurra un evento. Son el cociente entre el número de eventos y el número de “no eventos”.

Por ejemplo, si en un mes de 31 días llueven 10, las odds de que lluevan son

ODDS= 10(dias que llueve)/21(días que no llueve)

*La problemática de las odds es que no son simétricas (La simetría es deseable para cualquier estimador). Esto se arregla con un ligartimo de odds. ej:

10/21 = 0.476 /ln = -0.74

21/10 = 2.1 /ln = 0.74

Odds ratio : Se interpreta y calcula igual que el RR pero usando las odds en vez de la incidencia. (Odds Expuestos/ Odds No Expuestos). Interpretamos con CHANCES, no probabilidades.

*Cuando la incidencia es alta el OR es equivalente al RR

Riesgo atribuible (RA):

Nos dice cual es el riesgo que se podría evitar si la exposición no está presente. Se usa para evaluar el impacto real o absoluto de la exposición en términos de exceso de riesgo en el grupo expuesto.

Responde a la pregunta: ¿Cuánto del riesgo en el grupo expuesto puede atribuirse exclusivamente a la exposición?

Uso RA para medir el impacto entre riesgos absolutos. RR cuando quiero comparar entre grupos

Ej: Grupo control = 100 de 1000 tienen gripe

Grupo tratamiento = 70 de 1000 tienen gripe

RR= 70/1000/100/1000 = 0.7: En expuestos disminuye en un 30% la prob de contagiarse

RA= 70/1000 - 100/1000 = -0.03: Sin la exposición habría un 3% más de riesgo

Observación RR

Los Riesgos Relativos (RR) pueden transmitir una importancia exagerada del efecto de la exposición en algunos contextos, especialmente cuando no se considera la incidencia absoluta del evento en la población. Ej:

Grupo expuesto: Incidencia: 2 casos por 10,000 personas (Ie=0.0002)

Grupo no expuesto: Incidencia: 1 caso por 10,000 personas (Ine=0.0001)

RR = 0.0002/0.0001 = 2

La diferencia absoluta de riesgo es de solo 1 caso, pero el RR nos dice que se tene un 100% más de riesgo o el doble de posibilidades de desarrollar la enfermedaded ante la exposición.

Para esto se puede complementar el RR con el RA

RA=Ie−Ine=0.0002−0.0001=0.0001

El 0.01% del riesgo en el grupo expuesto se debe exclusivamente a la exposición al factor de riesgo.

Inferencia de medidas de asociación

RR y OR son estimadores de parametros poblacionales, para hacer inferencias en tornos ellos podemos calcular sus intervalos de confianza, que corresponden a un rango en el que es probable (usalmente al 95%) encontrar el verdadero paramétro de la población.

Para Riesgo relativo:

Para Odss Ratio:

Ya que calculo los intervalos usando ln, tras calcularlos debo sacar la exponencial También los interpretamos en torno a 1

Ej: Para RR [2.61; 4.66] -> Tiene entre un 161% a un 366$ más probabilidades de enfermarse ante la exposición

3. Test de Hipótesis

Pasos para contrastar una hipotésis:

  1. Formulasmos una hipotésis nula y una alternativa.

  2. Construir estadistico de prueba.

  3. Derivar regla de decisión y elegir rechazar o no rechazar H0.

Las hipotesis nunca se aceptan, solo se rechazan o no se rechazan.

H0: Hipotésis nula: La asumimos como cierta, es lo que sabemos hasta el momento

H1: Hipótesis alternativa: Es nuestra hipoétisis

Siempre formulamos nuestras hipótesis en terminos de parametros. Podemos hacer pruebas unilaterales (< o >) o bilaterales (!=)

p-value: Probabilidad de que ocurra H1 si H0 es verdadera. Usualmente rechazamos H0 con un p-value < 0.05, ya que esto significa que es muy improbable que haya ocurrido H1 si H0 es cierta.

3.1 Prueba Z

Prueba Z para una proporción

En R utilizamos prop.test

prop.test(x,n,p,altervative) x=numero de casos de interes, n=tamaño muestra, p =proporcion teorica(con la que quiero contrastar la observada), alternative = depende de si queremos hacer una prueba unilateral (greater o less) o bilateral (two.sided)

Sabemos que en los 2000 al 30% le gustaba el centella, en una muestra actual de 50 personas,a 22 de ellas le gustaba ¿Es significativa esta diferencia?

Prueba unilateral

H0: P <=0.3

H1: p > 0.3

prop.test(22,50,p=.3, alternative="greater")
## 
##  1-sample proportions test with continuity correction
## 
## data:  22 out of 50, null probability 0.3
## X-squared = 4.0238, df = 1, p-value = 0.02243
## alternative hypothesis: true p is greater than 0.3
## 95 percent confidence interval:
##  0.3213673 1.0000000
## sample estimates:
##    p 
## 0.44

El test también nos proporciona el intervalo de confianza, que va desde el .32 hasta 1, eso es porque está calculando el intervalo a 1 cola. Estamos 95% confiados de que la verdadera proporción es al menos 0.32, por lo que rechazamos H0, lo podemos confirmar con el p-value, que es menor a 0.05

(Siempre que uso greater el lim superior es 1. Con less el inferior es 0)

Prueba bilateral

prop.test(22,50,p=.3, alternative=“two.sided”)

H0: P = 0.3

H1: P != 0.3

Estoy un 95% confiada de que la verdadera proporción está entre 0.3026 a 0.58, por lo que por poco, rechazo H0. Si 0.3 estuviera dentro del intervalo entonces no rechazaría.

Prueba Z para dos proporciones

Comparamos las proporciones entre 2 grupos

Ho: P1=P2 (P1-P2 = 0)

H1: P1 =/ P2 (P1-P2 != 0)

0 es un valor nulo para los intervalos de confianza de la prueba Z. Si el intervalo pasa por 0 entonces hay una alta probabilidad de que la diferencia de proporciones sea 0 ,es decir, que no haya una diferencia de proporciones, por lo que ante este caso no se rechaza H0.

Como ejemplo utilizaré la base de datos de la encuesta INJUV. Compararé la proporción de de consumo de diferentes drogas entre las personas que tienen al menos un trastorno mental, con la proporción de consumo en las personas que no tienen trastornos.

P1: proporción de consumo para personas con al menos un trastorno mental

P2: proporción de consumo para personas sin trastornos mentales

Lectura y limpieza de datos

#LECTURA
data <- readRDS(url("https://github.com/JoseRTM/Clases-R/raw/main/jovenes.rds"))

#LIMPIEZA
#Se renombraron las variables para hacer más digerible el análisis.
#Todos los 99 se trasformaron en NA.
#Las variables se recodificaron trasformando las variables dicotómicas de (1,2) a (0,1)
datos <- data %>% select (alcohol = P76_1, cigarro = P76_2, marihuana = P76_3, cocaina = P76_4, pbc=P76_5, depresion = P104_1, tratamiento= P103) %>%
  mutate(across(everything(), ~ replace(., . == 99, NA))) %>%
  mutate(across(c(alcohol, cigarro, marihuana, cocaina, pbc, depresion), 
                ~ ifelse(. == 2, 0, .)))

Test de prop:

  tabla_combinada <- datos %>%
    filter(!is.na(tratamiento)) %>%
    mutate(tratamiento = factor(tratamiento, levels = c(1, 0))) %>%
    group_by(tratamiento) %>%
    summarise(
      total = n(),  
      cigarro = sum(cigarro == 1, na.rm = TRUE), 
      marihuana = sum(marihuana == 1, na.rm = TRUE),  
      alcohol = sum(alcohol == 1, na.rm = TRUE),  
      cocaina = sum(cocaina == 1, na.rm = TRUE), 
      pbc = sum(pbc == 1, na.rm = TRUE)  
    )

# Para cigarro
prop_cigarro <- prop.test(x = tabla_combinada$cigarro, n = tabla_combinada$total)
prop_cigarro # solo se mostrara este prop en el markdown
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  tabla_combinada$cigarro out of tabla_combinada$total
## X-squared = 50.915, df = 1, p-value = 9.644e-13
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  0.07839662 0.14232267
## sample estimates:
##    prop 1    prop 2 
## 0.4360902 0.3257306
# Para marihuana
prop_marihuana <- prop.test(x = tabla_combinada$marihuana, n = tabla_combinada$total)

# Para alcohol
prop_alcohol <- prop.test(x = tabla_combinada$alcohol, n = tabla_combinada$total)

# Para cocaina
prop_cocaina <- prop.test(x = tabla_combinada$cocaina, n = tabla_combinada$total)

# Para pbc
prop_pbc <- prop.test(x = tabla_combinada$pbc, n = tabla_combinada$total)

ic_tabla <- tibble(
  droga = c("Cigarro", "Marihuana", "Alcohol","Cocaina", "PBC"),
  ic_inferior = c(prop_cigarro$conf.int[1], prop_marihuana$conf.int[1],  prop_alcohol$conf.int[1], prop_cocaina$conf.int[1],prop_pbc$conf.int[1] ),
  ic_superior = c(prop_cigarro$conf.int[2], prop_marihuana$conf.int[2],  prop_alcohol$conf.int[2], prop_cocaina$conf.int[2], prop_pbc$conf.int[2]))

ic_tabla <- ic_tabla %>%
  mutate(signif = ifelse(ic_inferior > 0 | ic_superior < 0, "*", ""))

Para el test de proporción para el consumo de cigarro rechazo H0 ya que el intervalo no pasa por 0 (0.078 - 0.142) y el p-value(1.095e-12) es menor a 0.05.

Ahora visualicemos y analizemos con más detalle los intervalos de confianza para todas las drogas:

ggplot(ic_tabla, aes(x = droga, ymin = ic_inferior, ymax = ic_superior)) +
  geom_errorbar(width = 0.2, color = "red") +  # Barras de error para los intervalos de confianza
  geom_point(aes(y = (ic_inferior + ic_superior) / 2), size = 3, color = "blue") +  # Punto medio para cada intervalo
  labs(
    title = "Intervalos de Confianza para diferencia entre P1 y P2 para diferentes drogas",
    x = "Droga",
    y = "Intervalo de Confianza"
  ) +
  theme_minimal() +  # Tema limpio
  theme(axis.text.x = element_text(angle = 45, hjust = 1))   +
  geom_text(aes(y = ic_superior + 0.01, label = signif),  # Coloca el asterisco sobre los intervalos
            position = position_dodge(width = 0.5), size = 5, color = "black")

En el caso de la marihuana, la diferencia de proporciones es entre 8.1% y 14.3% mayor para el grupo con al menos un trastorno. Para el alcohol, la proporción es entre 3.59% y 9.85% mayor .Para el cigarro, la proporción es entre 7.8% y 14.2% mayor. Para la cocaína, el intervalo es entre 0.33% y 2.64% mayor. Todos estos intervalos son positivos y no incluyen el 0, lo que indica que las diferencias observadas son estadísticamente significativas. Por otro lado, el intervalo para PBC incluye el 0, lo que sugiere que no hay una diferencia significativa en su consumo entre ambos grupos, pero esto podría deberse a el bajo n de personas que consumen pasta base.

3.2 CHI-SQUARE

Se usa para evaluar la relación entre variables cualitativas. Este test no nos entrega un intervalo de confianza, solo nos dice si hay relación o no.

H0: Variables independientes

H1: Variables relacionadas

Para el ejemplo seguiremos usando la encuesta INJUV.

tabla_depresion_cigarro <- table(datos$depresion, datos$cigarro)
chisq.test(tabla_depresion_cigarro)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  tabla_depresion_cigarro
## X-squared = 9.6049, df = 1, p-value = 0.001941

Se encontró una relación estadísticamente significante entre la depresión y el cigarro, con un p value <0.05.

3.3 Prueba T

Prueba T para una muestra

Los t-test para una muestra sirven para determinar si la media de una muestra es significativamente diferente de un valor hipotético o de referencia.

Ej: Un estudio mide la presión arterial sistólica (PAS) en una muestra de pacientes hipertensos. El valor promedio poblacional para PAS es de 120 mmHg. Queremos evaluar si la PAS media de esta muestra (130mmHg) es significativamente diferente de 120 mmHg.

H0: MU = 120

H1: MU != 120

# Simular datos: presión arterial sistólica (PAS)
set.seed(123)
pas_muestra <- rnorm(50, mean = 130, sd = 15)  # Muestra de 50 pacientes

# Prueba t para comparar la media con el valor normativo (120 mmHg)
t.test(pas_muestra, mu = 120, alternative = "two.sided")
## 
##  One Sample t-test
## 
## data:  pas_muestra
## t = 5.3542, df = 49, p-value = 2.272e-06
## alternative hypothesis: true mean is not equal to 120
## 95 percent confidence interval:
##  126.5691 134.4630
## sample estimates:
## mean of x 
##  130.5161

El intervalo de confianza (126.56 - 134.46) no pasa por 120, por lo que la media de PAS para los pacientes hipertensos es significativamente diferente de la PAS promedio poblacional.

Prueba T para dos muestras

Compara las medias entre dos muestras

H0: MU1 = MU2 (MU1-MU2 = 0)

H1: MU1 != MU2 (MU1-MU2 != 0)

Antes de realizar un t-test para dos muestras, tenemos hacer un test de igualdad de varianza, porque esto afecta cómo se calcula el t-test.

H0: Varianza en grupo 1 / varianza en grupo 2 = 1 (si la división en 1 significa que son iguales)

H1: Varianza en grupo 1 / varianza en grupo 2 != 1

El valor nulo en este caso sería 1, si no pasa por 1 rechazo H0

En caso de que sean diferentes en el t.test debo usar var.equal = FALSE

Como ejemplo usaremos una base de datos del Mineduc con los puntajes de la PAES. Compararemos la media de puntaje NEM entre los que pertenecen al decil 10 (el de mayor ingresos) y el resto.

#Lectura de datos
data <- readRDS(url("https://github.com/JoseRTM/AED_UDP/raw/refs/heads/main/mineduc_paes.rds"))

#Para esto crearemos una variable dicotómica llamada decil10, que codifica un 1 para los que pertenecen a este grupo y un 0 para los que no.
#También transformaremos los 99 en NA

data <- data %>%
  mutate(across(where(is.numeric), ~ na_if(., 99))) %>%
  mutate(decil10 = ifelse(INGRESO_PERCAPITA_GRUPO_FA == 10 & !is.na(INGRESO_PERCAPITA_GRUPO_FA), 1, 0))

Partiré realizando un análisis descriptivo

ggplot(data, aes(x = factor(decil10), y = PTJE_NEM)) +
  geom_boxplot(fill = "lightblue", color = "darkblue") +
  labs(title = "Comparativa de NEM entre personas de decil 10 y el resto", 
       x = "Decil10", 
       y = "Puntaje NEM") +
  theme_minimal()

Los puntajes del decil 10 de la muestra si se distribuyen en rangos más altos comparados con el resto de los deciles. Para hacer inferencias sobre estos hallazgos debo realizar los test de hipótesis.

Primero realizamos el test de igualdad de varianza:

var.test(data$PTJE_NEM~data$decil10)
## 
##  F test to compare two variances
## 
## data:  data$PTJE_NEM by data$decil10
## F = 1.222, num df = 295231, denom df = 14119, p-value < 2.2e-16
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  1.193034 1.251394
## sample estimates:
## ratio of variances 
##           1.222026

Rechazo H0, debo usar FALSE en el t.test

Ahora realizo la prueba T.

t.test(data$PTJE_NEM~data$decil10, var.equal = FALSE)
## 
##  Welch Two Sample t-test
## 
## data:  data$PTJE_NEM by data$decil10
## t = -67.589, df = 15815, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
##  -95.38529 -90.00878
## sample estimates:
## mean in group 0 mean in group 1 
##        682.6644        775.3615

El intervalo de confianza nos entrega el rango entre el que puede estar la diferencia de medias entre el grupo 1 y 2,su valor nulo es 0. En este caso el intervalo no pasa por 0, por lo que rechazo H0, con un intervalo de confianza de (-95.38 a -90.00) y un p-value (2.2e-16)

Las personas que pertenecen al decil 10 tienen en promedio entre 90 a 95.4 más puntos en el puntaje NEM.

3.4 ANOVA

Se utiliza para comparar la media de más de dos grupos

H0: MU1 = MU2 = MU3 = MU_K = 0 (La media de todos los grupos es igual)

H1: Hay al menos un par de medias distintas

Este test no especifica qué medias son diferentes, para esto hay que usar tukey

Como ejemplo seguiremos usando la base de datos del ministerio con puntajes PAES. Ahora compararemos la media de puntajes entre todos los deciles.

anova <- aov(PTJE_NEM~factor(INGRESO_PERCAPITA_GRUPO_FA),data=data)
summary(anova)
##                                        Df    Sum Sq  Mean Sq F value Pr(>F)    
## factor(INGRESO_PERCAPITA_GRUPO_FA)      9 1.750e+08 19443628   645.9 <2e-16 ***
## Residuals                          229758 6.916e+09    30102                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 79584 observations deleted due to missingness

Rechazo H0. Hay al menos un par de medias diferentes.

Para ver cuales son utilizo tukey, que compara las medias entre cada grupo. Para entenderlo mejor se recomienda plotearlo.

tukey <- TukeyHSD(anova)
data<- data %>% mutate(INGRESO_PERCAPITA_GRUPO_FA = 
                         na_if(INGRESO_PERCAPITA_GRUPO_FA, 99))
# puedo usar directamente plot(tukey) pero no se verá tan claro

#Usare ggplot para que se vea mejor
# Extraer resultados para graficar
tukey_data <- data.frame(tukey$`factor(INGRESO_PERCAPITA_GRUPO_FA)`)
tukey_data$Comparison <- rownames(tukey_data)

# Gráfico de intervalos de confianza para las diferencias de medias
ggplot(tukey_data, aes(x = Comparison, y = diff, ymin = lwr, ymax = upr)) +
  geom_pointrange() +
  geom_hline(yintercept = 0, linetype = "dashed", color = "red") +  # Línea en el 0
  coord_flip() +
  theme_minimal() +
  labs(title = "Diferencias significativas en el test de Tukey",
       x = "Comparación entre grupos",
       y = "Diferencia de medias",
       caption = "Solo se incluyen diferencias con p.adj < 0.05") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Cada linea nos muestra el intervalo de diferencia de medias entre dos grupos. Todas las que pasen por 0 no tienen significancia, ya que es esto significa que entre estos grupos es probable que la dif de medias sea 0.

Como es de esperar, el grupo 10 tiene los rangos mas altos de diferencias de medias. Ya que el grafico nos muestra diferencias, aquellas que sean positivas significan que el primer grupo tiene una mayor media, y las negativas significan que el segundo grupo tiene una mayor media.

Si queremos verlo con mayor detalle podemos ver tukey directamente, que no entrega los intervalos de confianza para cada diferencia de medias. Por ejemplo para el 10-1 el intervalo es de (111.958 - 122.408). Las personas del decil 10 tienen en promedio entre 112 a 122 más puntaje NEM que las del decil 1.

3.5 Correlación

La correlación mide el grado de relación entre dos variables cuantitativas. Siempre oscila entre -1 y 1. Los valores negativos inidican una relación inversamente proporcional, los positivos una directamente proporcional. Podemos interpretarlos de la sig. forma:

0 a 0.3 baja correlación

0.3 a 0.6 media

0.6 hacia arriba es alta

Para hacer inferencias utilizamos el cor.test

H0: r = 0 (no hay correlación)

H1: r != 0

Seguiremos con el ejemplo de las pruebas. Podemos hacer un corPlot para ver la correlación entre los puntajes de todas las pruebas.

corPlot(data[,2:8])

Ahora visualicemos mediante un gráfico de puntos las relación entre el puntaje de MATE1 con el puntaje de MATE2

data %>% 
  filter(MATE1_REG_ACTUAL > 0, MATE2_REG_ACTUAL > 0) %>% 
ggplot(., aes(x = MATE1_REG_ACTUAL, y = MATE2_REG_ACTUAL))+
  geom_point() +
  geom_smooth(method = "lm")

La linea apunta hacia arriba, observamos una relacion positiva entre los puntajes de la prueba mate1 y mate2.

Ahora realizamos el cor.test para estas dos:

cor.test(data$MATE1_REG_ACTUAL,data$MATE2_REG_ACTUAL, use = "complete.obs")
## 
##  Pearson's product-moment correlation
## 
## data:  data$MATE1_REG_ACTUAL and data$MATE2_REG_ACTUAL
## t = 280.84, df = 287597, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4610455 0.4667818
## sample estimates:
##       cor 
## 0.4639185

Rechazo H0, la correlación de mate1 con mate 2 es de entre 0.48 a 0.49, una correlación media.

Al interpretar hay que tener en cuenta que correlación no significa causalidad.

3.6 Limitaciones

Las limitaciones de las pruebas de significación estadística giran principalmente en torno a su mal uso e interpretación.

Es problemático que los p-value se usen como una herramienta de caza, un “visto bueno” que se aplica de manara mecánica sin el proceso de análisis que debería llevarse a cabo al investigar.

La nularidad se da con poca frecuencia en la naturaleza, por lo que no es difícil encontrar significancia, y cuando no se encuentra se suele argumentar con que “el tamaño de muestra no fue suficiente”, ya que con un tamaño de muestra lo suficientemente grande es casi un hecho que se encontrará significancia.

Además, es un recurso al que se acude con frecuencia en contextos en los que no debería ser usado, como fuera del ámbito inferencial o para comprobar que la hipótesis nula es verdadera, lo cual es teóricamente incorrecto. También es común que se confunda la significancia estadística con la significancia clínica, cuando la primera no implica necesariamente la segunda. Puede que haya significancia estadística pero el efecto sea pequeño, y por tanto no haya significancia clínica.

Es por esto que se sugiere siempre utilizar los intervalos de confianza y el valor nulo correspondiente a cada test, ya que nos dan cuenta de significancia estadística y además de la magnitud del efecto.

4.Muestreo

Con el muestreo determino que parte de la población analizo para hacer inferencias respecto a ésta. Existe el probabilistico y el no probabilistico.

La representatividada de la muestra depende de su tamaño y el azar, no del tipo de muestreo.

4.1 Tipos de muestreo

Probabilistico

Existe una probabilidad asociada a la selección de elementos de la población.

Muestreo Aleatorio simple: Todos los elementos tienen la misma probabilidad de ser seleccionados. En la práctica es dificil de hacer porque necesitamos un listado completo de la población.

Muestreo Sistemático: Lo uso cuando no tengo un listado. Se basa en una progresión aritmética.

Muestreo Estratificado: La población se divide en grupos (estratos) según una característica en común, y se realiza un muestreo aleatorio dentro de cada estrato. Los estratos que suelen utilizarse son Región, zona urbana y sexo.

Si una región tiene más habitantes se obtiene una muestra mayor que sea proporcional a la cantidad de habitantes para que pueda ser representativa.

Muestreo por Conglomerado: La población se divide en conglomerados naturales (grupos con caracteristicas en común) y se selecciona al azar uno o varios conglomerados completos para el estudio. ej:entia

Diseño complejo: Mezcla diferentes tipos de muestreo.

No probabilistico

Este tipo de muestreo no se basa en el azar, sino el la selección mediante criterios subjetivos o practicos. Es más sencillo, pero no garantiza una gran representatividad.

Muestreo por conveniencia: Se eligen los individuos más accesibles o disponibles para el investigador. ej:Mandar un google Forms

Muestreo por cuotas: Se fija una cuota para diferentes subgrupos y se seleccionan individuos hasta completar esas cuotas.ej: Encuestar a 50 hombres y 50 mujeres en una ciudad.

Muestreo bola de nieve: Se selecciona a un individuo inicial, quien a su vez recomienda a otros participantes, y así sucesivamente. Se utiliza para poblaciones dificiles de localizar como personas con ITS o consumidores de drogas.

*Existe un tipo de muestreo semiprobabilistico llamado RDS (Respondent-Driven Sampling), que también se usa para “Poblaciones ocultas”, se parece al de bola de nieve, pero el RDS es más estructurado, limita el número de referidos por participante, utiliza incentivos y aplica ajustes estadísticos para corregir sesgos y obtener estimaciones representativas, mientras que el muestreo bola de nieve es más exploratorio, no controla el sesgo y se usa principalmente con fines cualitativos o descriptivos.

En la encuesta INJUV se usa un muestreo del tipo probabilístico polietápico. Primero, se seleccionan unidades grandes de la población, como regiones, y luego se hace un muestreo estratificado porporcional dentro de estas. En la segunda etapa, se eligen unidades más pequeñas, como conglomerados o manzanas.El margen de error muestral asciende a +/- 1,00%, a nivel nacional (y de un máximo de 4,9% a nivel regional), con un nivel de confianza del 95%, bajo supuesto de varianza máxima. Es decir, se utiliza un Error absoluto de max 4.9% para estimar el n necesario para cada región.

4.2 Tamaño muestral

Para poblaciones infinitas (>100.000) Caption for the picture.

p es la p a priori que se define mediante un estudio piloto o investigaciones previas, cuando no se tiene se suele utilizar p= 0.5 basandose en el supuesto de máxima varianza

Eo es el error absoluto que representa la distancia máxima el investigador está dispuesto a aceptar entre la estimación puntual y los límites del intervalo. (*Tras el estudio el ancho de los intervalos de confianza no deberian superar el doble del error absoluto que se estableció al calcular n, pero esto no siempre ocurre, sobre todo cuando la p priori difiere mucho de la p real)

Un menor error absoluto se traduce en un n más grande.

Para poblaciones finitas (<100.000) se debe usar una correción, sino se puede calcular un tamaño de muestra mayor al necesario.

Caption for the picture. n se calcula con la formula anterior, N corresponde al tamaño de la población.

Ej: Quiero calcular el n para una población de 5000 personas, al 95% con una precisión del 1%.

n = (1.96² x 0.5(1-0.5))/ 0.01² n = 9604 (Sin corrección)

n= 9064/ 1 + (9604 -1 / 5000) n= 3288 (Con correción)

La corrección de población finita también debe aplicarse a los intervalos de confianza o estos perderán precisión.

La fórmula para calcular el tamaño muestral en estudios analíticos se utiliza porque estos estudios buscan comparar proporciones entre dos grupos para detectar asociaciones significativas. Considera el error tipo I(α) y tipo II(β)

p es la proporción promedio entre los grupos, p1 y p2 son la proporción de cada grupo

zα al 95% = 1.96 // zβ con un poder estadistico al 80% = 0.84

Ej: Quieres determinar si un tratamiento tiene efecto. La proporción a priori de la enfermedad en el grupo tratado es de 0.2 y en el control de 0.4. Quieres un poder estadistico al 80% y una significancia al 95%

En total necesitarás 82 participantes por grupo.

Para determinar el tamaño de muestra para comparar medias entre dos grupos se utiliza la siguiente formula:

En caso de que se desconozca la varianza poblacional (o2) hay que estimar la varianza muestral (sp) a través de la sig formula: Si n1 y n2 so iguales la fórmula se reduce a

5. Regresión Lineal

La idea de la regresión lineal es explicar el comportamiento de una variable dependiente en función de una variable independiente. Esto se hace a través de una recta que pretende generar el menor promedio de residuos posible.

En la RL la variable dependiente siempre es cuantitativa. La variable independiente puede ser cuanti o cuali. Es importante considerar el tipo de dato de la variable dependiente, si son cualitativas usamos la Regresión Logistica (Binomial, multinomial u ordinal).

Si es cuanti, la interpreto como que por cada unidad de aumento en X1, la variable dependiente aumenta en B1 (unidad de medida).

Si es cuali se utiliza una variable dummie. Se elige una categoría de referencia, y se crea una variable binaria que toma el valor de 1 para la otra categoría y 0 para la de referencia.

El coeficiente asociado a la variable cualitativa representa la diferencia promedio en la variable dependiente entre la categoría de referencia y la otra categoría.

EJ: Estamos modelando el ingreso (variable dependiente) en función del sexo (cualitativo: hombre o mujer) y los años de experiencia (cuantitativo).

Para la variable cuantitativa “años de experiencia”: Por cada año adicional de experiencia, el ingreso aumenta en B1 pesos.

Para la variable cualitativa “sexo” (si “hombre” es la categoría de referencia): El coeficiente B2 para “mujer” indica cuánto mayor o menor es el ingreso promedio de las mujeres en comparación con los hombres, manteniendo constante la experiencia.

Supongamos la sig formula: Ingreso = 20.000 + 2000(X1) -5000(X2)

X1= Experiencia / X2= Mujer (codificada como dummy: 1 si es mujer, 0 si es hombre).

La interpretación sería: Una persona sin experiencia y hombre (categoría de referencia) ganará 20.000. Por cada año adicional de experiencia, el ingreso aumenta en 2.000, sin importar el sexo. Ser mujer está asociado con un ingreso promedio 5.000 menor al de los hombres, manteniendo constante la experiencia.

5.1 Modelos en R

modelo <- lm(dependiente ~ independiente1 + independiente2 + independienteN , data = datos)

Con summary(modelo) puedo ver los resultados y con confint(modelo) los intervalos de confianza

El modelo me entregará:

Un Intercepto y la pendiente para cada variable indepeniente y su p-value. En caso de que haya alguna variable sin significancia, si no afecta el R2 de mi modelo es mejor sacarla, para tener un modelo mas parcemonioso (mas simple).

Con el intercepto y las pendientes puedo construir la formula y = b0 +b1x para hacer predicciones.

R-squared: Nos dice el % de variabilidad de la variable dependiente que se explica en base al modelo. Es ideal que sea sobre 0.8 (La variabilidad de Y se explica en un 80% por este modelo)

p-value de anova: No tiene que ver con el test de hipotesis anova. H1: al menos una de las variables independientes tiene un efecto significativo sobre la variable dependiente.

5.2 Supuestos

Al realizar modelos de regresión lineal se deben revisar los siguientes supuestos para garantizar que el modelo sea válido, interpretable y estadísticamente confiable:

1. Linealidad La relación entre las variables independientes y la dependiente debe ser lineal. El grafico de residuos deberia verse disperso, sin patrones claros.

En R: plot(modelo_1\(fitted.values, modelo_1\)residuals, xlab = “Valores Predichos”, ylab = “Residuos”, main = “Valores Predichos vs Residuos”) abline(h = 0, col = “red”) para graficar los residuos vs valores predichos.

Corrección: Incluir términos no lineales como x^2 o x^3 en el modelo.

data\(variable2 <- data\)variable^2 Se incluirá variable 2 que es variable ^2

2. Homocedasticidad Los residuos deben tener varianza constante en todos los niveles de los valores predichos.

En R: bptest(modelo) para el test de Breusch-Pagan (H0:Homocedasticidad//H1:Heterocedasticidad)

residualPlot(modelo) para visualizar, en el grafico optimo la linea deberia estar sobre 0 y los puntos no se deberian abrir.

Corrección: Utilizar errores estándar robustos con vcovHC(modelo, “HC3”) Elijo el h del 1 al 3 dependiendo de que tanto se curve. El 3 es el mas corrector.

modelo_robust_3 <- coeftest(modelo, vcov = vcovHC(modelo, “HC3”)) modelo_robust_1 <- coeftest(modelo, vcov = vcovHC(modelo, “HC1”)) modelo_robust_0 <- coeftest(modelo, vcov = vcovHC(modelo, “HC0”))

models_robust <- list(modelo, modelo_robust_0, modelo_robust_1, modelo_robust_3) screenreg(models_robust, custom.model.names = c(“Modelo sin SE robustos”, “Robusto HC0”, “Robusto HC1”, “Robusto HC3”))

3. Normalidad de los residuos Los residuos deben seguir una distribución normal, lo que permite realizar inferencias válidas.

En R: **qqnorm(modelo\(residuals)** para el gráfico Q-Q y qqline(modelo\)residuals) para la línea de referencia.En el grafico ideal los puntos se pegan bien a la linea roja. Este grafico es mas flexible. si la parte de al medio se pega y los extremos no entonces si podria considerar la normalidad.

Corrección: Aplicar transformaciones a la variable dependiente, como logaritmo o raíz cuadrada.

4. Ausencia de multicolinealidad Las variables independientes no deben estar altamente correlacionadas entre sí, evitando redundancia.

En R: vif(modelo) para calcular el factor de inflación de la varianza (VIF). Si el VIF es sobre 5 hay multicolinealidad.

Corrección: Eliminar una de las variables correlacionadas, ya que ambas explican lo mismo.

Los supuestos siempre mandan por sobre el R2, si hay multicolanieadad eliminos las variables aunque se reduzca.

5. Independencia de los errores Los errores deben ser independientes entre sí, especialmente en datos temporales o espaciales.

En R: dwtest(modelo) para realizar el test de Durbin-Watson. h0 = los errores son independientes.

Corrección: Usar modelos para datos autocorrelacionados, como regresión de Prais-Winsteno o regresión de Cochrane-Orcutt, o ajustar un modelo ARIMA.

Los paquetes que se usan son:

library(car): Funciones para análisis de regresión

library(lmtest):Tests de regresión

library(sandwich): Estimación robusta de errores estándar

library(nortest): Prueba de normalidad

library(DescTools): Test de colinealidad

5.3 Ejemplos

Ejemplo 1: BMI (Variables cuanti)

Como ejemplo usaremos una base de datos que contiene datos del largo o ancho de partes del cuerpo, altura y peso. Crearemos un modelo de regresión lineal para predecir el ancho de la cadera (BMXHIP).

data2 <- read_sav(url("https://github.com/FranvTapia/bases/raw/main/BMI.sav"))
modelo_hip <- lm(BMXHIP ~ BMXWT + BMXWAIST + BMXARMC + BMXARML + BMXBMI + BMXHT + BMXLEG, data = data2)
summary(modelo_hip)
## 
## Call:
## lm(formula = BMXHIP ~ BMXWT + BMXWAIST + BMXARMC + BMXARML + 
##     BMXBMI + BMXHT + BMXLEG, data = data2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -26.7925  -3.2052  -0.1254   2.9529  19.1108 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -5.197776   4.215222  -1.233    0.218    
## BMXWT       -0.202436   0.025952  -7.800 7.11e-15 ***
## BMXWAIST    -0.055955   0.009801  -5.709 1.18e-08 ***
## BMXARMC     -0.390959   0.029902 -13.075  < 2e-16 ***
## BMXARML     -0.150794   0.037242  -4.049 5.20e-05 ***
## BMXBMI       2.824953   0.074606  37.865  < 2e-16 ***
## BMXHT        0.430908   0.027306  15.780  < 2e-16 ***
## BMXLEG      -0.044141   0.028312  -1.559    0.119    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.892 on 6684 degrees of freedom
##   (2168 observations deleted due to missingness)
## Multiple R-squared:  0.8837, Adjusted R-squared:  0.8836 
## F-statistic:  7256 on 7 and 6684 DF,  p-value: < 2.2e-16

BMXLEG no tiene significancia, por lo que es conveniente sacarla.

En este modelo hay problemas de multicolaniedad

#car para VIF
vif(modelo_hip)
##     BMXWT  BMXWAIST   BMXARMC   BMXARML    BMXBMI     BMXHT    BMXLEG 
## 92.288506  8.495426  7.395345  3.323079 80.369265 21.011121  2.916647
#Hay multicolaniedad con varias variables

Hay multicolinealidad en varias variables, esto se debe corregir eliminandolas del modelo.

#Primero eliminare peso y altura porque bmi se calcula a partir de ambas y vere que pasa
modelo_hip <- lm(BMXHIP ~ BMXWAIST + BMXARMC + BMXARML + BMXBMI, data = data2)
#Siguen habiendo alta multicolinealidad, vere que pasa si elimino el BMI
modelo_hip <- lm(BMXHIP ~ BMXWAIST + BMXARMC + BMXARML, data = data2)
vif(modelo_hip)
## BMXWAIST  BMXARMC  BMXARML 
## 3.462256 3.550639 1.224031
#Ya no hay multicolaniedad

Se terminan dejando solo 3 variables. A pesar de que disminuye el R2 ya no hay multicolinealidad. Los ajustes se aprecian principalmente en los beta. Antes de ajustar, eran casi todos negativos, y bastante distantes del valor que tienen tras el ajuste. Por ejemplo, antes del ajuste, el modelo nos decia que por cada cm de cadera, la cintura disminuia en 0.05cm, lo que no tiene sentido desde un punto de vista teórico, ahora ese beta es 0.43.

summary(modelo_hip)
## 
## Call:
## lm(formula = BMXHIP ~ BMXWAIST + BMXARMC + BMXARML, data = data2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.820  -4.533  -0.444   4.029  37.705 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 49.494366   1.039653   47.61   <2e-16 ***
## BMXWAIST     0.434248   0.008397   51.71   <2e-16 ***
## BMXARMC      1.175659   0.027799   42.29   <2e-16 ***
## BMXARML     -0.656771   0.030545  -21.50   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.649 on 6750 degrees of freedom
##   (2106 observations deleted due to missingness)
## Multiple R-squared:  0.7919, Adjusted R-squared:  0.7918 
## F-statistic:  8561 on 3 and 6750 DF,  p-value: < 2.2e-16

Por cada cm de cintura la cadera aumenta en promedio 0.43cm.

Por cada cm de la circunferencia del brazo la cadera aumenta en promedio 1.17 cm.

Por cada cm del largo del brazo la cadera disminuye en promedio 0.65cm.

La variabilidad del tamaño de la cadera se explica en un 79% por este modelo.

confint(modelo_hip)
##                  2.5 %     97.5 %
## (Intercept) 47.4563191 51.5324134
## BMXWAIST     0.4177870  0.4507096
## BMXARMC      1.1211642  1.2301528
## BMXARML     -0.7166488 -0.5968940

Estimo, con un 95% de confianza que: Por cada cm de cintura la cadera aumenta entre 0.42cm a 0.45cm .Por cada cm de la circunferencia del brazo la cadera aumenta entre 1.12cm a 1.23cm. Por cada cm del largo del brazo la cadera disminuye entre 0.6cm a 0.72cm

Ejemplo 2: PSU (Variables cuali)

La variable dependiente será el promedio de los puntajes de las pruebas y la independietes el decil, puntaje nem y puntaje ranking.

Primero revisamos los datos

summary(data)
##  INGRESO_PERCAPITA_GRUPO_FA    PTJE_NEM       PTJE_RANKING    CLEC_REG_ACTUAL 
##  Min.   : 1.00              Min.   :   0.0   Min.   :   0.0   Min.   :   0.0  
##  1st Qu.: 2.00              1st Qu.: 582.0   1st Qu.: 585.0   1st Qu.: 438.0  
##  Median : 4.00              Median : 699.0   Median : 713.0   Median : 573.0  
##  Mean   : 4.39              Mean   : 686.9   Mean   : 703.8   Mean   : 510.4  
##  3rd Qu.: 7.00              3rd Qu.: 814.0   3rd Qu.: 846.0   3rd Qu.: 679.0  
##  Max.   :10.00              Max.   :1000.0   Max.   :1000.0   Max.   :1000.0  
##  NA's   :79584                                                NA's   :21753   
##  MATE1_REG_ACTUAL MATE2_REG_ACTUAL HCSOC_REG_ACTUAL CIEN_REG_ACTUAL 
##  Min.   :   0.0   Min.   :   0.0   Min.   :   0.0   Min.   :   0.0  
##  1st Qu.: 465.0   1st Qu.:   0.0   1st Qu.:   0.0   1st Qu.:   0.0  
##  Median : 549.0   Median :   0.0   Median :   0.0   Median : 399.0  
##  Mean   : 510.5   Mean   : 157.1   Mean   : 228.7   Mean   : 287.5  
##  3rd Qu.: 657.0   3rd Qu.: 363.0   3rd Qu.: 460.0   3rd Qu.: 488.0  
##  Max.   :1000.0   Max.   :1000.0   Max.   :1000.0   Max.   :1000.0  
##  NA's   :21753    NA's   :21753    NA's   :21753    NA's   :21753   
##     decil10       
##  Min.   :0.00000  
##  1st Qu.:0.00000  
##  Median :0.00000  
##  Mean   :0.04564  
##  3rd Qu.:0.00000  
##  Max.   :1.00000  
## 

El min es 0 en todas las pruebas. Probablemente son personas que no la dieron. En pruebas optativas como mate2, ciencias o historia la media es muy baja, lo que indica que deben haber muchos 0.

Los modelos de regresion solo consideran las filas completas. Si aparecen estos 0 igual se van a considerar estos puntajes, que no tienen un significado academico y no reflejan lo que quiero medir.Lo mejor seria trasnformar los 0 a NA o dividir el modelo en pruebas optativas/ obligatorias. Voy a transformaslas. Además el decil tiene 99 que se transformaran a NA. También crearé la variable dependiente promedio y factorizare el ingreso per capita.

data <- data %>%
  mutate(
    MATE1_REG_ACTUAL = na_if(MATE1_REG_ACTUAL, 0),
    MATE2_REG_ACTUAL = na_if(MATE2_REG_ACTUAL, 0),
    HCSOC_REG_ACTUAL = na_if(HCSOC_REG_ACTUAL, 0),
    CIEN_REG_ACTUAL = na_if(CIEN_REG_ACTUAL, 0),
    PTJE_NEM = na_if(PTJE_NEM, 0),
    PTJE_RANKING = na_if(PTJE_RANKING, 0),
    INGRESO_PERCAPITA_GRUPO_FA = na_if(INGRESO_PERCAPITA_GRUPO_FA, 99)
  )

completos <-sum(complete.cases(data))
#Haciendo esta transformación, de 287597, solo 28057 se usarán para el modelo de regresión.
#creacion de variable
data <- data %>%
  mutate(promedio = rowMeans(select(., CLEC_REG_ACTUAL, MATE1_REG_ACTUAL, MATE2_REG_ACTUAL, HCSOC_REG_ACTUAL, CIEN_REG_ACTUAL), na.rm = TRUE))
#factorizacion de decil pk es cuali
data <- data %>%
  mutate(INGRESO_PERCAPITA_GRUPO_FA = as.factor(INGRESO_PERCAPITA_GRUPO_FA))

Modelo de regresión con ajuste de multicolinealidad (Se eliminó ranking):

modeloPAESC_2 <- lm(promedio ~ INGRESO_PERCAPITA_GRUPO_FA + PTJE_NEM  , data = data)
confint(modeloPAESC_2)
##                                    2.5 %      97.5 %
## (Intercept)                   74.2744938  81.8639436
## INGRESO_PERCAPITA_GRUPO_FA2   18.6265456  23.6632488
## INGRESO_PERCAPITA_GRUPO_FA3   31.8972088  37.5527695
## INGRESO_PERCAPITA_GRUPO_FA4   33.5391936  39.6163842
## INGRESO_PERCAPITA_GRUPO_FA5   39.0775943  45.8357605
## INGRESO_PERCAPITA_GRUPO_FA6   31.5993424  38.0011315
## INGRESO_PERCAPITA_GRUPO_FA7   23.9020801  30.1441482
## INGRESO_PERCAPITA_GRUPO_FA8   34.6280803  40.7126700
## INGRESO_PERCAPITA_GRUPO_FA9   61.8278015  68.8866192
## INGRESO_PERCAPITA_GRUPO_FA10 114.8359602 121.8109743
## PTJE_NEM                       0.5186648   0.5288082

Los estudiantes del grupo 10 (el nivel más alto de ingreso per cápita) tienen en promedio entre 114.83 a 121.81 puntos mas en comparación con los del grupo 1, manteniendo constantes las demás variables (NEM y Ranking).Por cada punto en el NEM el promedio en las pruebas aumenta entre 0.51 y 0.52 puntos. El modelo explica un 20% de la variabilidad en los puntajes promedio PAES

Bibliografía

Ruiz-Tagle, J. (2024). Sistemas de Vigilancia Epidemiológica [Clases del curso]. Duoc UC.

Silva Ayçaguer, L. C. (1997). ¿Qué significan las pruebas de significación? En Cultura estadística e investigación científica en el campo de la salud: Una mirada crítica (pp. 133-157). Ediciones Díaz de Santos.