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-.
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
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
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.
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
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.
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
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.
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.
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.
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%
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.
*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
No considera el tiempo, es n/total.
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.
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.
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: 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
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
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.
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
Pasos para contrastar una hipotésis:
Formulasmos una hipotésis nula y una alternativa.
Construir estadistico de prueba.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Para poblaciones infinitas (>100.000)
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.
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
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.
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.
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
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
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
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.