7 votos

Interpretación de la prueba T de Welch de dos caras y dos muestras

Estoy escribiendo un código (JavaScript) para comparar los resultados de las pruebas de referencia. Estoy usando el Prueba T de Welch porque lo más probable es que la varianza y/o el tamaño de la muestra entre los puntos de referencia sea diferente. El valor crítico se extrae de una tabla de distribución T con un 95% de confianza (dos caras) .

La fórmula de Welch es bastante sencilla, pero no sé interpretar un resultado significativo. No estoy seguro de si el valor crítico debe ser dividido por 2 o no. Se agradece la ayuda para aclararlo. También debo ser redondeo los grados de libertad, df para buscar el valor crítico o Math.ceil o Math.floor ¿es más apropiado?

  /**
   * Determines if the benchmark's hertz is higher than another.
   * @member Benchmark
   * @param {Object} other The benchmark to compare.
   * @returns {Number} Returns `1` if higher, `-1` if lower, and `0` if indeterminate.
   */
  function compare(other) {
    // use welch t-test
    // http://frank.mtsu.edu/~dkfuller/notes302/welcht.pdf
    // http://www.public.iastate.edu/~alicia/stat328/Regression%20inference-part2.pdf
    var a = this.stats,
        b = other.stats,
        pow = Math.pow,
        bitA = a.variance / a.size,
        bitB = b.variance / b.size,
        df = pow(bitA + bitB, 2) / ((pow(bitA, 2) / a.size - 1) + (pow(bitB, 2) / b.size - 1)),
        t = (a.mean - b.mean) / Math.sqrt(bitA + bitB),
        c = getCriticalValue(Math.round(df));

    // check if t-statistic is significant
    return Math.abs(t) > c / 2 ? (t > 0 ? 1 : -1) : 0;
  }

Actualización: Gracias por todas las respuestas hasta ahora. Mi colega publicó algo más de información aquí por si eso afecta a los consejos.

9voto

jldugger Puntos 7490

(1a) No es necesario el test de Welch para hacer frente a diferentes tamaños de muestra. De eso se encarga automáticamente la prueba t de Student.

(1b) Si crees que hay una posibilidad real de que las varianzas de las dos poblaciones sean muy diferentes, entonces estás asumiendo a priori que las dos poblaciones difieren. Puede que no sea una diferencia de localización -eso es lo que evalúa una prueba t-, pero sigue siendo una diferencia importante. No lo ignore adoptando una prueba que no tenga en cuenta esta diferencia. (Las diferencias de varianza suelen surgir cuando una muestra se "contamina" con algunos resultados extremos, lo que desplaza simultáneamente la localización y aumenta la varianza. Debido a la gran varianza, puede ser difícil detectar el cambio de ubicación ( no importa lo grande que sea ) en una muestra de tamaño pequeño o mediano, porque el aumento de la varianza es aproximadamente proporcional al al cuadrado cambio de ubicación. Esta forma de "contaminación" se produce, por ejemplo, cuando sólo una fracción de un grupo experimental responde al tratamiento). Por lo tanto, debería considerar una prueba más apropiada, como una prueba de deslizamiento . Aún mejor sería un enfoque gráfico menos automatizado que utilice técnicas de análisis exploratorio de datos.

(2) Utilice un prueba de dos caras cuando es posible un cambio de media en cualquier dirección (mayor o menor). En caso contrario, cuando sólo se compruebe un aumento o una disminución de la media, utilice una prueba unilateral.

(3) El redondeo sería incorrecto y no deberías tener que hacerlo: la mayoría de los algoritmos para calcular las distribuciones t no se preocupan de si el DoF es un número entero. El redondeo no es un gran problema, pero si usted está usando una prueba t en primer lugar, usted está preocupado por los pequeños tamaños de las muestras (por lo demás el más simple prueba z funcionará bien) e incluso pequeños cambios en la DoF pueden importar un poco.

6voto

Berek Bryan Puntos 349

No es absolutamente necesario redondear los grados de libertad a un número entero. Estudiante t -distribución puede definirse para todos los valores reales positivos de este parámetro. Sin embargo, restringirlo a un número entero positivo puede hacer que el valor crítico sea más fácil de calcular, dependiendo de cómo lo hagas. Y hará muy poca diferencia en la práctica con cualquier tamaño de muestra razonable.

6voto

Marc-Andre R. Puntos 789

La división por 2 es para los valores p. Si se comparan los valores críticos, la división por 2 no es necesaria. La función getCriticalValue debe ser el función cuantílica de la distribución t de Student. Por lo tanto, debe tomar 2 valores, la probabilidad y los grados de libertad. Si quiere una hipótesis de 2 lados como indica su código, entonces necesita un cuantil de 0,975.

Para el redondeo, ya que los grados de libertad son positivos Math.round se ve bien.

1voto

Rowan Puntos 56

Estoy trabajando con el OP en el proyecto de evaluación comparativa y quería daros las gracias por aclarar algunas cosas. También quería proporcionar un poco más de información en caso de que eso afecte a los consejos.

El tamaño de la muestra oscila entre 5 y 700+ (tantas como puedan completarse en 8 segundos o hasta que el margen de error sea igual o inferior al 1%. Los valores críticos se extraen de un objeto para simplificar (porque otros cálculos determinan los grados de libertad como el tamaño de la muestra menos 1) .

  /**
   * T-Distribution two-tailed critical values for 95% confidence
   * http://www.itl.nist.gov/div898/handbook/eda/section3/eda3672.htm
   */
  T_DISTRIBUTION = {
    '1':  12.706, '2':  4.303, '3':  3.182, '4':  2.776 /* , ... */
  }

Actualización

Lo he comprobado y la diferencia entre las variantes parece bastante alta.

Variances:
    4,474,400,141.236059
    3,032,977,106.8208385
  226,854,226,665.14194
       24,612,581.169126578

Estamos probando las operaciones por segundo de varios fragmentos de código (algunos son más lentos, menos ops/seg, otros más rápidos, más ops/seg) .

También solíamos comparar simplemente el solapamiento entre las medias +- margen de error de cada uno, pero se sugirió que una prueba t es mejor porque puede encontrar resultados con significación estadística.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X