“Always present effect sizes for primary outcomes.”
Mientras que rechazar una hipótesis nula implica que existe un efecto, el tamaño del efecto indica la magnitud o fuerza de los efectos detectados. Siempre se recomienda reportar ambos y complementar con un intervalo de confianza para el efecto observado.
Existen dos formas de reportar la magnitud de un efecto: como tamaño del efecto (i.e., diferencia de medias) o como fuerza de asociación (i.e., proporción de varianza explicada)
La forma más sencilla de evaluar el tamaño del efecto es determinar la diferencia entre las medias de los distintos tratamientos o condiciones experimentales de un estudio. La diferencia entre dichas medias es una estimación no sesgada de la diferencia de la población que intentan representan.
\[\overline{Y}_1-\overline{Y}_2=\mu_1-\mu_2\]
En el caso que existan más de dos condiciones, una posibilidad es calcular el rango de las diferencias entre grupos. En el caso que usamos para ilustrar ANOVA, la condición Sin música ( M = 6) y Música en vivo ( M = 2) corresponden a las condiciones con los valores más alto y más bajo, respectivamente. En este caso, el efecto de la música en la satisfacción sería: \[\overline{Y}_{max}-\overline{Y}_{min}=6-2=4\] Por supuesto, en este caso la variable dependiente (i.e., satisfacción) fue medida usando una escala arbitraria, que a diferencia de otras variables no tiene interpretación directa o conocida. Otras variables, tienen una interpretación directa, fácil de comunicar. Por ejemplo, si operacionalizamos el nivel de satisfacción de los clientes usando el monto de la propina entregada o el tiempo que se quedan cenando en el restaurant, esas medidas son fácilmente interpretables (X pesos, X minutos). Más adelante veremos como estandarizar las medidas de efecto cuando el valor de la VD no tiene una interpretación directa.
El uso de intervalos de confianza (IC) es una manera de concretizar la noción de que los estadísticos obtenidos de una muestra son una estimación de un parámetro poblacional. Si el parámetro a estimar es una media poblacional (e.g., el CI promedio de los estudiantes de psicología) casi nunca se puede utilizar la estadística inferencial salvo que la muestra haya sido obtenida mediante un procedimiento que asegure la representatividad de la muestra. Afortunadamente en el caso de una diferencia de medias, cuando los participantes han sido aleatoriamente asignados a sus respectivos grupos o condiciones podemos hacer inferencias estadísticas correctas, aunque sólo se generalicen a la población estudiada (i.e., una muestra de voluntarios).
Primero, recordemos que el error estándar de la media se obtiene dividiendo el valor de la media muestral por la raíz de n. De acuerdo a esta definición, la desviación esperada de la media muestral respecto de la media poblacional decrese en función de la raíz del tamaño muestral.
\[\sigma_{\overline{Y}}= \frac{\sigma_Y}{\sqrt{n}}\]
Análogamente, para obtener el error estándar de la diferencia de dos medias es posible combinar las desviaciones estandar de cada una para obtener una estimación de la desviación estándar poblacional. Para ello se puede sumar las sumas de cuadrado1 \(SS=(n-1)s^2\) de cada muestra y dividir el resultado por una combinación de sus grados de libertad respectivos.
\[s_p^2=\frac{SS_1+SS_2}{(n_1-1)+(n_2-1)}=MS_W\]
La p se refiere al término “pooled” y sugiere que estamos combinando información de ambas muestras. Por último, el error estándar de la diferencia de medias es la raíz cuadrada de la varianza combinada multiplicada por los recíprocos de los tamaños de la muestra de cada grupo:
\[SE(\overline{Y_1}-\overline{Y_2})= \sqrt{s_p^2(\frac{1}{n_1}+\frac{1}{n_2})}\]
Volviendo al ejemplo de la música, la suma de cuadrados (SS) de la condición Sin música ( M = 6) y Música en vivo ( M = 2) es 12 y 10, respectivamente. El tamaño de cada grupo es 6.
\[s_p^2=\frac{SS_1+SS_2}{(n_1-1)+(n_2-1)}=\frac{12+10}{(6-1)+(6-1)}=\]
\[s_p^2=\frac{22}{10}=2.2\] Luego, reemplazando \(s_p^2\) por 2.2 en la fórmula anterior tenemos que el error estándar de la diferencia de medias es \[SE(\overline{Y_1}-\overline{Y_2})= \sqrt{s_p^2(\frac{1}{n_1}+\frac{1}{n_2})}=\sqrt{2.2(\frac{1}{6}+\frac{1}{6})}=0.8563...\approx.86\] El valor de 0.86 corresponde al error estándar de la difencia de medias. La diferencia de medias observada fu de 6 - 2 = 4. Esta es una estimación no sesgada de la diferencia de medias a nivel poblacional. Adicionalmente, sabemos que la variabilidad de esta estimación es de 0.86. Asumiendo que las diferencias de la media muestral se distribuyen normalmente, sabemos que 68% de las veces que comparamos grupos constituidos mediante un procedimiento aleatorio obtendremos diferencias de \(4\pm 0.86\). Pero eso nos daría sólo un 68% de confianza en nuestra estimación. Como sabemos, en psicología es usual construir intervalos de confianza al 95% multiplicando el error estándar por un factor (i.e., un valor t crítico).2 Para obtener el valor t crítico para construir un intervalo al 95% debo usar unos percentiles que dejen “fuera” al 5% de los casos, o el 2.5% en cada cola. Por eso uso 0.05/2 = 0.025. Si no divido por dos, este sería un test de una cola al 95%. Los grados de libertad son, en este caso, (n1 - 1) + (n2 - 1) = 10
qt(0.05/2,10, lower.tail = FALSE)
## [1] 2.228139
Por último, podemos construir el intervalo de confianza del siguiente modo.
\[SE(\overline{Y_1}-\overline{Y_2})= t_{crit}\sqrt{s_p^2(\frac{1}{n_1}+\frac{1}{n_2})}\] \[(6-2)\pm2.23 (0.86)\] \[4\pm1.92 \] \[95\%IC[4-1.92,4+1.92]\] \[95\%IC[2.08,5.92]\] Es decir, la diferencia entre la condición Sin música ( M = 6) y Música en vivo ( M = 2) es al menos de 2.08 y como máximo 5.92. Dicho de otra manera, el 2.08 y el 5.92 corresponden a los límites inferior y superior del intervalo de confianza para la diferencia entre estas medias.
Por supuesto, cuando hay más de dos grupos esta forma de estimar el tamaño del efecto es limitada (más sobre esto a más adelante). De hecho, en el ejemplo anterior podemos hacer una prueba t para determinar si la diferencia entre ambas condiciones es estadísticamente significativa.3 Quick-R provee el siguiente tutorial para correr pruebas t https://www.statmethods.net/stats/ttest.html
Previo a correr este análisis vamos a generar un nuevo dataframe que incluye sólo los niveles que nos interesan usando la función subset4 Alternativamente la función which sirve para el mismo propósito. Como siempre hay varios comandos que cumplen la misma función en R lo que puede ser un dolor de cabeza
df_two_groups <- subset(df,condicion=="Música en vivo"|condicion=="Sin música")
t.test(satisfaccion~condicion, var.equal = TRUE, data=df_two_groups)
##
## Two Sample t-test
##
## data: satisfaccion by condicion
## t = -4.671, df = 10, p-value = 0.0008795
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -5.908064 -2.091936
## sample estimates:
## mean in group Música en vivo mean in group Sin música
## 2 6
Los resultados de la prueba t usando t.test son bastante similares a los que obtuvimos en el paso anterior, salvo por algunos decimales que se producen por el redondeo que hice para ilustrar cómo funciona esta prueba.5 Es importante notar que la función t.test por defecto asume que las varianzas de cada grupo son distintas (“unequal”), por lo que utiliza una fórmula alternativa para evaluar la diferencia de dos medias independientes conocida como Welch-Satterthwhite (que R etiqueta simplemente como Welch’s Test). Sólo con fines pedagógicos especifiqué en este caso que las varianzas son iguales usando var.equal = TRUE. Desde un punto de vista aplicado, siempre es mejor usar el test de Welch-Satterthwhite
Otra diferencia es que el intervalo de confianza resultante va de menos 5.91 a menos 2.09. Esto es irrelevante. La dirección del intervalo de confianza depende del orden de los factores. Podemos reproducir los valores que obtuvimos reordenando el orden de los factores de la siguiente manera:
df_two_groups <- subset(df,condicion=="Música en vivo"|condicion=="Sin música")
df_two_groups$condicion <- factor(df_two_groups$condicion,
levels = c("Sin música","Música en vivo"))
t.test(satisfaccion~condicion, var.equal = TRUE, data=df_two_groups)
##
## Two Sample t-test
##
## data: satisfaccion by condicion
## t = 4.671, df = 10, p-value = 0.0008795
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 2.091936 5.908064
## sample estimates:
## mean in group Sin música mean in group Música en vivo
## 6 2
Una de las dificultades para poder integrar los resultados de diferentes estudios es que las unidades de medida que usamos en psicología son casi siempre arbitrarias. Siguiendo el ejemplo de la música, no hay en rigor una buena justificación sobre por qué usamos una escala de 1 a 7. Perfectamente podríamos haber usado una escala de 1 a 3 o 1 a 100.6 Mi posición a este respecto es que la escalas de medidas utilizada deben ser informadas por la investigación, lo que es consistente con la idea de administrar medidas previamente validadas. Pero para que esto se cumpla hay que usar no sólo los ítems sino que la misma escala que se usó en el estudio original. Una segunda postura es que la escala de medida debe reflejar las distinciones que efectivamente pueden hacer los respondientes. Por ejemplo, si usamos una escala de satisfacción 1 a 100, ¿podemos diferenciar entre un 60 y un 61? No lo creo. Para resolver estas inconsistencias podemos transformar nuestras medidas en una calificación estándar análoga a un puntaje z.
El parámetro para designar la diferencia de medias a nivel poblacional es la letra griega delta (minúscula):
\[\delta=\frac{\mu_1-\mu_2}{\sigma}\] donde \(\sigma\) es la desviación estándar poblacional, que se asume que es la misma para todos los grupos. Sustituyendo por los estadísticos muestrales, podemos estimar los parámetros poblacionales usando:
\[d=\frac{\overline{Y_1}-\overline{Y_2}}{s_p}\] El denominador de la fórmula anterior es la desviación estándar combinada o media cuadrárica intra grupos. Anterioremente habíamos obtenido un valor de 2.2 para \(s^2_p\).7 En el caso de un diseño experimental, considerando que el tratamiento puede afectar tanto la media como la varianza del grupo experimental, Glass (1976) recomienda usar la desviación estandar del grupo de control como estandar para evaluar la diferencia de medias. Por ello, el tamaño del efecto se suele expresar como \[d_C=\frac{\overline{Y_C}-\overline{Y_E}}{s_C}\] Si tomamos al grupo Sin música como grupo de control y al grupo con Música en vivo como grupo experimental, el efecto de la música en vivo en la satisfacción de los comensales sería: \[d_C=\frac{2-6}{1.55}=\frac{-4}{1.55}=-2.58\] Luego, reemplazando en la fórmula anterior tenemos que: \[d=\frac{\overline{Y_1}-\overline{Y_2}}{\sqrt{s^2_p}}=\frac{2-6}{\sqrt{2.2}}=2.696799\]
En este caso, el poner música en vivo tiene el efecto de reducir la satisfacción de los clientes. Específicamente, los clientes con música en vivo están a -2.696799 desviaciones estándar por debajo del grupo control8 Perfectamente podríamos haber cambiado el orden de las medias para reflejar el efecto que “sacar” la música tiene en la satisfacción de los clientes. La decisión depende del contexto de investigación
9 Como d tiende a estar positivamente sesgado, Hedges y Olkin (1985) propuieron multiplicar d por un factor de corrección. Este factor de corrección reduce el valor de d cuando las muestras son pequeñas (n < 17) \[d_{Unb}=d\left(1-\frac{3}{4df-1}\right)\]
Para evaluar la diferencia de medias usamos la distribución t que es la misma distribución de referencia para construir intervalos de confianza. Sin embargo, la distribución t nos sirve como referencia sólo cuando \(\mu_1-\mu_2=0\). Cuando queremos construir un intervalo de confianza para un parámetro no-centralizado (i.e., centrado en un valor distinto de cero) tenemos que usar como referencia una distribución no-centralizada. Una característica de estas distribuciones es que, a diferencia de una distribución t, no son simétricas respecto de la media.
Para calcular los intervalos de confianza para la diferencia estandarizada de medias vamos a identificar una distribución de referencia no-centralizada que llamaremos \(\lambda\) (lambda) y usaremos el valor t observado como estimación de \(\lambda\)
\[\lambda=\frac{\mu_1-\mu_2}{\sigma\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}\]
Una vez identificados los valores para el límites superior e inferior para \(\lambda\) volvemos a transformar \(\lambda\) en \(\delta\) que, recordemos, era la expresión paramétrica del tamaño del efecto observado (\(d_{obs}\)).
\[\delta=\lambda\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}\]
Afortunadamente el paquete MBESS permite calcular los intervalos de confianza para \(\delta\) de manera muy sencilla. Para entender en qué consiste este procedimiento, vamos a partir usando el valor t obtenido anteriormente como nuestra estimación de \(\lambda\). El valor t observado fue de -4.671. Con la función conf.limits.nct vamos a determinar los límite inferior y superior para \(\lambda\) de la siguiente manera:
require(MBESS)
## Loading required package: MBESS
conf.limits.nct(4.671,10)
## $Lower.Limit
## [1] 1.802802
##
## $Prob.Less.Lower
## [1] 0.025
##
## $Upper.Limit
## [1] 7.429231
##
## $Prob.Greater.Upper
## [1] 0.025
El límite inferior y superior para \(\lambda\) es 1.8028 y 7.4292. Si reemplazamos esos valores en la fórmula anterior, obtenemos:
\[\delta_{inf}=\lambda_{inf}\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}=1.8028\sqrt{\frac{1}{6}+\frac{1}{6}}=1.0408\] \[\delta_{sup}=\lambda_{sup}\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}=7.4292\sqrt{\frac{1}{6}+\frac{1}{6}}=4.2892\]
Alternativamente, podemos encontrar los límites inferior y superior para \(\delta\) usando la diferencia estandarizada de medias. En nuestro caso este valor es -2.696799. Si insertamos este valor en la función ci.smd (junto con los grados de libertad correspondientes) obtenemos los mismos valores que en el paso anterior.10 ¡BAM!
# Instalar el paquete MBESS install.packages("MBESS")
require(MBESS)
ci.smd(smd=-2.696799,n.1=6, n.2=6)
## $Lower.Conf.Limit.smd
## [1] -4.289263
##
## $smd
## [1] -2.696799
##
## $Upper.Conf.Limit.smd
## [1] -1.040845
En nuestro ejemplo, la interpretación del tamaño del efecto no varía sustantivamente cuando evaluamos los límites inferior y superior del intervalo de confianza ya que todos los tamaños del efecto son “altos.”11 Usando la interpretación sugerida por Cohen una diferencia estandarizada de .20, .50, y .80 se considera pequeña, mediana y grande, respectivamente. Sin embargo, como el mismo Cohen sugiere en su artículo original esta “regla” es muy discutible. Es un mito urbano y una mala práctica usar estos valores de referencia Sin embargo, muy frecuentemente los efectos observados van a ser más pequeños que los que aquí observamos.
En todo caso, una idea crítica que relacionada con el punto anterior es que la estimación de los intervalos de confianza para el tamaño del efecto tiene estrecha relación con el tamaño de la muestra. Si repetimos el ejemplo anterior pero usando un tamaño de muestra mayor, podemos ver claramente el impacto de tener muestras grandes en el ancho del intervalo de confianza
# Duplicando el tamaño de muestra
ci.smd(smd=-2.696799,n.1=12, n.2=12)
## $Lower.Conf.Limit.smd
## [1] -3.806813
##
## $smd
## [1] -2.696799
##
## $Upper.Conf.Limit.smd
## [1] -1.555333
# Y triplicando el tamaño de muestra
ci.smd(smd=-2.696799,n.1=18, n.2=18)
## $Lower.Conf.Limit.smd
## [1] -3.599828
##
## $smd
## [1] -2.696799
##
## $Upper.Conf.Limit.smd
## [1] -1.772919
A medida que el tamaño de muestra aumenta, el intervalo de confianza en torno a d se va estrechando y haciendo más simétrico.
Cuando el interés es evaluar el efecto de un tratamiento con más de dos niveles es posible caracterizar las el efecto “típico”" del tratamiento usando un procedimiento análogo al anterior. El efecto “típico” del tratamiento es consiste en evaluar la diferencia entre cada grupo y la gran media versus un estándar de comparación.
El efecto típico del tratamiento es \(\sigma_m\) y se define como12 donde a representa todos los niveles del tratamiento. Esta fórmula es casi idéntica a \(MS_B\): \[\sigma_m=\sqrt{\frac{\sum^2_{j=1}(\mu_j-\mu)^2}{a}}=\sqrt{\frac{\sum^2_{j=1}\alpha^2_j}{a}}\] Luego,el valor f se obtiene usando: \[f=\frac{\sigma_m}{\sigma_\epsilon}\] De nuevo siguiendo a Cohen, los valores de f se interpretan canónicamente como pequeño (.10), mediano (.25) y grande (.40). Este valor de f elevado al cuadrado se conoce como “signal-to-noise ratio” y se usa sobre todo para determinar el poder estadístico de un diseño (más sobre esto más adelante). Lo interesante de \(f^2\) es que se puede asociar a \(\lambda\) para construir un intervalo de confianza para F similar al intervalo qu construimos para d dado que: \[f^2=\frac{\sigma_m^2}{\sigma_\epsilon^2}=\frac{\lambda}{N}\] Volviendo a nuestro ejemplo original, el valor de F observado fue 11.25 con grados de libertad 2 y 15 para la varianza entre e intra grupos, respectivamente.
## Df Sum Sq Mean Sq F value Pr(>F)
## condicion 2 48 24.000 11.25 0.00104 **
## Residuals 15 32 2.133
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Luego, para obtener \(f^2\) y \(f\) usamos el paquete MBESS para construir un intervalo de confianza para f cuadrado o f de la siguiente manera:
require(MBESS)
# Para obtener f cuadrado (o signal-to-noise ratio)
ci.snr(F.value=11.25, df.1=2, df.2=15, N=18)
## $Lower.Limit.Signal.to.Noise.Ratio
## [1] 0.2053405
##
## $Upper.Limit.Signal.to.Noise.Ratio
## [1] 2.882453
# Para obtener la raiz cuadrada (squared root o sr) de f cuadrado (o signal-to-noise ratio)
ci.srsnr(F.value=11.25, df.1=2, df.2=15, N=18)
## $Lower.Limit.of.the.Square.Root.of.the.Signal.to.Noise.Ratio
## [1] 0.4531451
##
## $Upper.Limit.of.the.Square.Root.of.the.Signal.to.Noise.Ratio
## [1] 1.697779
Esto es, el IC 95% para f es [.45,1.69] lo que sugiere un efecto grande para el tratamieno (f > .40) aunque con una altísima variación lo que, de nuevo, tiene que ver con el hecho de que tenemos una muestra muy pequeña (6 observaciones por condición)
El propósito de evaluar el tamaño del efecto es especificar cuánto de la variabilidad (i.e., varianza) en la VD está asociada con variaciones en la VI asumida. En general, la magnitud de esta asociación se piensa como una proporción y por lo tanto van de 0 (no existe ninguna asociación) a 1 (toda la varianza de la VD depende de la(s) variable(s) independiente(s) del modelo). Para expresar cuánto se reduce el error de predicción que resulta de añadir un factor (VI) para indexar la pertenencia de los participantes a los grupos se utiliza \(R^2\). En el contexto de ANOVA se denomina tmbién \(\eta^2\) y se define como: \[\eta^2=R^2=\frac{E_R-E_F}{E_R}\] Esta proporción es un estadístico descriptivo que indica la proporción de la variabilidad de la VD asociada con el(los) tratamiento(s).13 \(R^2\) también es el cuadrado de la correlación entre los valores observados (\(Y\)) y predichos (\(\hat{Y}\))por un modelo. En términos poblacionales, el equivalente de \(R^2\) se denomina \(\omega^2\) (omega cuadrado)14 \(\omega^2=\frac{\sigma_m^2}{\sigma_m^2+\sigma_\epsilon^2}\) y se puede estimar de varias formas15 En particular hay una que se llama “shrunken \(R^2\)” o “\(R^2\) encogido” que se usa en regresión y cuyos valores muy cercanos \(\omega^2\)En los términos tradicionles de ANOVA, Tabachnick y Fidell (2007, p. 129) defininen \(\hat{\omega}^2\) como:
\[\hat{\omega}^2=\frac{SS_B-(a-1)MS_W}{SS_{Total}+MS_W}\]
summary(aov1)
## Df Sum Sq Mean Sq F value Pr(>F)
## condicion 2 48 24.000 11.25 0.00104 **
## Residuals 15 32 2.133
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Reemplazando con con los resultados de nuestro ejemplo tenemos: \[\hat{\omega}^2=\frac{48-(3-1)2.133}{80+2.133}=0.5324\] Este valor de 0.532416 Que es menor que la proporción de varianza explicada observada (o no corregida) cuyo valor es \(R^2=(80-32)/80=0.60\) sugiere que el 53% de la varianza en la satisfacción de los comensales de nuestro restaurant depende de la música.17 Puede pasar que \(\hat{\omega}^2\) se menor que cero, en cuyo caso se dice que este valor es simplemente cero.
La igual que hicimos para \(f^2\) es posible generar un intervalo de confianza para \(\hat{\omega}^2\) usando el paquete MBESS. Sólo es necesario conocer el valor de F, los grados de libertad entre e intra, y el tamaño de muestra total.
require(MBESS)
# Para obtener el intervalo de confianza para la proporción de varianza
# confidence interval (ci) for the proportion (p) of varianza(va) accounted for (f?)
ci.pvaf(F.value=11.25,df.1=2, df.2=15, N=18)
## $Lower.Limit.Proportion.of.Variance.Accounted.for
## [1] 0.1703589
##
## $Probability.Less.Lower.Limit
## [1] 0.025
##
## $Upper.Limit.Proportion.of.Variance.Accounted.for
## [1] 0.7424309
##
## $Probability.Greater.Upper.Limit
## [1] 0.025
##
## $Actual.Coverage
## [1] 0.95
En este caso, la proporción de varianza explicada por el factor (i.e., música) va de 17% a 74%. De nuevo, la amplia diferencia entre los límites superior e inferior de este intervalo está dada fundamentalmente por el pequeño tamaño de muestra utilizado.