Tengo dos grupos (de prueba y de control) y quería determinar el impacto de una determinada iniciativa en el grupo de prueba. La comparación sería 4 meses antes de la iniciativa y 4 meses después. Las bases de partida de los grupos son ligeramente diferentes, por lo que para calcular el impacto se utilizan porcentajes. Si el grupo de prueba mejora un 5% después de la iniciativa, mientras que el grupo de control cambia un 1%. ¿Cómo puedo determinar si el cambio del 5% es estadísticamente significativo en comparación con el cambio del 1% en el grupo de control?
Respuestas
¿Demasiados anuncios?Hice una pequeña simulación con R para ver si se obtendrían resultados diferentes utilizando el porcentaje de cambio frente a las puntuaciones escaladas. Los resultados son interesantes...
Generar algunos datos
Utilicé N=40 para ambos grupos, varianza aproximadamente igual
set.seed(32453513)
test_group <- data.frame(before = rnorm(n = 40, mean = 5.5, sd = 1.8),
after = rnorm(n = 40, mean = 5.775, sd = 1.7))
ctrl_group <- data.frame(before = rnorm(n = 40, mean = 5.8, sd = 1.8),
after = rnorm(n = 40, mean = 5.858, sd = 1.7))
Probar las diferencias en puntuaciones brutas
test_group$raw_diffs <- with(test_group, after - before)
ctrl_group$raw_diffs <- with(ctrl_group, after - before)
t.test(x = test_group$raw_diffs, y = ctrl_group$raw_diffs)
## Welch Two Sample t-test
##
## data: test_group$raw_diffs and ctrl_group$raw_diffs
## t = -0.23249, df = 77.902, p-value = 0.8168
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.1182797 0.8844153
## sample estimates:
## mean of x mean of y
## 0.6738046 0.7907368
Probar las diferencias en escalado (NO centrado) puntuaciones
test_group_std <- with(test_group, data.frame(before = scale(before, center = FALSE),
after = scale(after, center = FALSE)))
ctrl_group_std <- with(ctrl_group, data.frame(before = scale(before, center = FALSE),
after = scale(after, center = FALSE)))
test_group_std$diff <- with(test_group_std, after - before)
ctrl_group_std$diff <- with(ctrl_group_std, after - before)
t.test(x = test_group_std$diff, y = ctrl_group_std$diff)
## Welch Two Sample t-test
##
## data: test_group_std$diff and ctrl_group_std$diff
## t = -0.14204, df = 77.807, p-value = 0.8874
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.1755982 0.1522108
## sample estimates:
## mean of x mean of y
## 0.005331736 0.017025437
Prueba de las diferencias en el cambio porcentual
test_group$pct_diffs <- with(test_group, (after - before)/before)
ctrl_group$pct_diffs <- with(ctrl_group, (after - before)/before)
t.test(x = test_group$raw_diffs, y = ctrl_group$raw_diffs)
## Welch Two Sample t-test
##
## data: test_group$raw_diffs and ctrl_group$raw_diffs
## t = -0.23249, df = 77.902, p-value = 0.8168
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.1182797 0.8844153
## sample estimates:
## mean of x mean of y
## 0.6738046 0.7907368
Esto deja claro que trabajar con puntuaciones brutas no es diferente de trabajar con cambios porcentuales. Por lo tanto, el escalamiento sería el método que se utilizaría para eliminar el sesgo procedente de la diferencia en las puntuaciones de referencia.
No estoy del todo convencido de que esta sea la mejor manera de proceder, tal vez los estadísticos puedan darnos una pista al respecto...