1. CONTRASTES DE HIPÓTESIS ESTADÍSTICAS NO PARAMÉTRICOS

En esta práctica se repasan algunos contrastes de hipótesis no paramétricos de una y dos poblaciones

  1. Bondad de ajuste: Ji-cuadrado de Pearson simple, Kolmogorov-Smirnov y Lilliefors
  2. Aleatoriedad
  3. Cuantiles
  4. Homogeneidad: Ji-cuadrado de Pearson y Kolmogorov-Smirnov
  5. Comparación de dos procesos (por preferencia o valoración mediana)

“RECHAZAR \(H_0\) si \(p\)-valor \(< \alpha\) es un procedimiento de contraste con nivel de significación (menor o igual a) \(\alpha\).

1.1. Contrastes de bondad de ajuste

  • Objetivo : Comprobar si un proceso aleatorio sigue (o se ajusta) a un presunto modelo (o no).
  • Contraste: \(\left\{\begin{array}{ll} H_0: & X \text{ sigue el presunto modelo } \mathcal{M} \\ H_1: & \text{no } H_0 \end{array} \right.\)
  • Tres casos distintos:
    • Contraste Ji-cuadrado de Pearson: el presunto modelo \(\mathcal{M}\) se expresa como tabla de probabilidades \(\begin{array}{|c||c|c|c|} \hline x_i & x_1 & \cdots & x_k \\ \hline p_i & p_1 & \cdots & p_k \\ \hline \end{array}\) y la muestra como tabla de frecuencias \(\begin{array}{|c||c|c|c|} \hline x_i & x_1 & \cdots & x_k \\ \hline n_i & n_1 & \cdots & n_k \\ \hline \end{array}\)
      • Se puede aplicar a variable continua si se corta antes en intervalos y se calcula la probabilidad de cada intervalo.
      • En R: función chisq.test(x,p) on:
        • x: frecuencias de la muestra. Es decir c(\(n_1\),\(n_2\),...\(n_k\)).
        • p: probabilidades del modelo. Es decir c(\(p_1\),\(p_2\),...\(p_k\)).
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
        • Devuelve un Warning si no se cumplen las condiciones teóricas de buena aproximación de la distribución ji-cuadrado. Hay que advertirlo si ocurre.
    • Contraste de Kolmogorov-Smirnov: el presunto modelo \(\mathcal{M}\) es de variable (numérica) continua y se conoce la función de distribución \(F_0(x)\)
      • En R: función ks.test(x,y,...) donde:
        • x: muestra de datos
        • y: nombre entrecomillado de la función \(F_0\) (tal qual esté programada en R, por ejemplo "punif", "pnorm", "pexp", etc.).
        • ...: parámetros adicionales de la función \(F_0\) (por ejemplo, mean y sd si se trata de la normal, o rate si se trata de la exponencial, etc.)
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
        • Devuelve un Warning si la muestra contiene datos repetidos. Hay que advertirlo si ocurre.
    • Contraste de Kolmogorov-Smirnov-Lilliefors: el presunto modelo \(\mathcal{M}\) es la família normal completa
      • En R: función lillie.test(x) (atención! cargar el package nortest, y instalarlo antes si no está disponible):
        • x: muestra de datos
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
        • Devuelve un Warning si la muestra contiene datos repetidos. Hay que advertirlo si ocurre.

1.2. Contraste de aleatoriedad

  • Objetivo : Comprobar si un proceso de muestreo “produce” datos independentes entre sí, o no.
  • Contraste: \(\left\{\begin{array}{ll} H_0: & X \text{ produce datos independientes entre sí} \\ H_1: & \text{no } H_0 \end{array} \right.\)
  • En R: función runs.test(x) (atención! cargar el package tseries, y instalarlo antes si no está disponible)::
    • x: vector de signos (o con dos únicas categoríes o números). Si no está disponible, hay que fabricarlo a partir de la muestra original (bien comparando cada dato con la mediana de todos ellos, o bien comparando cada dato con el anterior, si sube o baja)
    • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
    • ¡ATENCIÓN!: runs.test()usa siempre la aproximación normal, incluso cuando no es aceptable (muestras con más de 20 signos de cada tipo). Tendrás que alertar si ocurre ese caso.**

1.3. Contraste de cuantiles

  • Objetivo : Comprobar si el cuantil de orden \(p\) de un proceso aleatorio continua siendo un presunto valor \(x_0\) (o ha cambiado, subido o bajado).
  • Contraste: \(\left\{\begin{array}{ll} H_0: & X_p = x_0 \\ H_1: & X_p \neq x_0 \text{ (o bien } X_p < x_0 \text{, o bien } X_p > x_0 \text{)} \end{array} \right.\)
  • En R: función binom.test(x, n, p, alternative) donde:
    • x: cantidad de datos de la muestra inferiores o iguales a \(x_0\).
    • n: cantidad total de datos en la muestra.
    • p: orden del cuantil (por defecto \(0.5\), para la mediana).
    • alternative: dirección de \(H_1\) ("two.sided" por defecto para \(\neq\), y atención!, "less" para \(>\), y "greater" para \(<\)).
    • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.

1.4. Contrastes de homogeneidad (o misma distribución)

  • Objetivo : Comprobar si dos o más procesos siguen (o se ajustan) a la misma distribución o ley de probabilidad. Los procesos se muestrean de forma independiente.
  • Contraste: \(\left\{\begin{array}{ll} H_0: & X_1, X_2, \ldots, X_K \text{ siguen el mismo modelo} \\ H_1: & \text{no } H_0 \end{array} \right.\)
  • Dos casos distintos:
    • Contraste de homogeneidad Ji-cuadrado de Pearson: las muestras se resumen como tablas de frecuencias con las mismas categorías. Se pueden juntar como: \(\begin{array}{|l||c|c|c|} \hline \text{Muestra \ Categ.} x_i & x_1 & x_2 & \cdots & x_k \\ \hline X_1 & n_{11} & n_{12} & \cdots & n_{1k} \\ \hline X_2 & n_{21} & n_{22} & \cdots & n_{2k} \\ \hline \vdots & \vdots & \vdots & \ddots & \vdots \\ \hline X_K & n_{K1} & n_{K2} & \cdots & n_{Kk} \\ \hline \end{array}\)
      • En R: función chisq.test(x,p) donde:
        • x: matriz con las tablas de frecuencias de las muestras. Es decir matrix(data=c(\(n_{11}\),\(n_{12}\),...,\(n_{Kk}\)), nrow=\(K\), byrow=TRUE). Recuerda que la función table() puede ayudarte a obtener las frecuencias de cada muestra.
        • y: dejar NULL si x tiene la matriz con las frecuencias de las muestras. En caso contrario, y es la segunda muestra, mientras que x ha de ser la primera muestra.
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
        • Devuelve un Warning si no se cumplen las condiciones teóricas de buena aproximación de la distribución ji-cuadrado. Hay que advertirlo si ocurre.
    • Contraste de homogeneïdad de Kolmogorov-Smirnov: sólo para 2 muestras de variable (numérica) continua.
      • En R: función ks.test(x, y) donde:
        • x e y: datos de cada muestra.
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
        • Devuelve un Warning si la muestra contiene datos repetidos. Hay que advertirlo si ocurre.

1.5. Contraste de comparación de dos procesos (por preferencia o valoración mediana)

  • Objetivo : comprobar si dos procesos (\(X\) e \(Y\)) tienen una presunta misma valoració general (o no).
  • Contraste: \(\left\{\begin{array}{ll} H_0: & X \text{ e } Y \text{ se valoran por IGUAL} \\ H_1: & Y \text{ se valora DISTINTO, PEOR o MEJOR que } X \end{array} \right.\)
  • Según la forma de muestreo de los datos de \(X\) y \(Y\) se pueden encontrar tres situaciones:
    • Preferencia (mejor/peor): cada individuo prueba los dos procesos y solo indica cuál de los dos prefiere
      • En R: función binom.test(x, n, p, alternative) donde:
        • x: recuento de preferencias por \(Y\)
        • n: tamaño de muestra
        • p: dejar por defecto (\(0.5\))
        • alternative: dejar por defecto ("two.sided") si \(H_1\) es “\(Y\) DISTINTO de \(X\)”, cambiar a "less" si \(H_1\) es “\(Y\) PEOR que \(X\)”, o cambiar a "greater" si \(H_1\) es “\(Y\) MEJOR que \(X\)”.
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
    • Valoraciones emparejadas: cada individuo prueba los dos procesos y da una valoración numérica de cada uno.
      • En R: función wilcox.test(x, y, alternative, paired) donde:
        • x: valoraciones del proceso \(X\), o las diferencias de “\(Y\) menos \(X\)” (si no se pone nada en el argumento y).
        • y: valoraciones del proceso \(Y\) (o nada, si van las diferencias en x).
        • paired: poner a TRUE (ya que por defecto esta en FALSE).
        • alternative: dejar por defecto ("two.sided") si \(H_1\) és “\(Y\) DISTINTO de \(X\)”, cambiar a "less" si \(H_1\) es “\(Y\) PEOR que \(X\)”, o cambiar a "greater" si \(H_1\) és “\(Y\) MEJOR que \(X\)”.
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.
    • Valoraciones independientes: cada individuo prueba sólo un proceso y da su valoración numérica de ese proceso.
      • En R: función wilcox.test(x, y, alternative, paired) donde:
        • x: valoraciones del proceso \(X\).
        • y: valoraciones del proceso \(Y\).
        • paired: dejar a FALSE (valor por defecto).
        • alternative: dejar por defecto (two.sided) si \(H_1\) és “\(Y\) DISTINTO de \(X\)”, cambiar a less si \(H_1\) és “\(Y\) PEOR que \(X\)”, o cambiar a greater si \(H_1\) es “\(Y\) MEJOR que \(X\)”.
        • Devuelve una lista con valores, entre los que destaca el p.value, base para la decisión del contraste.

2. EJERCICIOS EVALUABLES DE CONTRASTES

Se han de contestar respondiendo a lo que se pide con palabras relativas al enunciado (prohibido mencionar \(H_0\) o \(H_1\) en las respustas finales).

El siguientet bloque de código carga el espacio de trabajp mt1021-1920-labo-s2-tests-data.RData. En él están definidas ciertas variables para resolver los ejercicios

load("mt1021-1920-labo-s2-tests-data.RData")

2.1. Simula 50 datos de un dado imperfecto definido por la tabla

  X        1    2    3    4    5    6
  f(X)  0.15 0.13 0.20 0.15 0.17 0.20

y después contrasta si esa muestra es compatible con un dado perfecte, comentando el resultado, referiéndolo al nivel de significación que se podría utilizar. Usa alguna semilla para la simulación.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.2. Simula 30 datos del modelo uniforme en elintervalo (0,1) y después contrasta si esa muestra es compatible con el modelo normal de media 0.5 y varianza 0.25, comentando el resultado, referiéndolo al nivel de significación que se podría utilizar. Usa alguna semilla para la simulación.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.3. Contrasta si los datos de la variable normalsino son compatibles con el modelo normal de media 5 y varianza 1, comentando el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.4. En caso de incompatibilidad en el ejercicio anterior, ¿se podría admitir al menos que los datos de la variable normalsino son compatibles con el modelo normal? Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.5. Sospechando sobre la falta de independencia entre las observaciones sucesivas de una variable aleatoria, se compara cada dato con el anterior, dando lugar a la cadena de signos de la variable signes. Realiza un contraste que dé información sobre este asunto. Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.6. La mediana de la distribución de salarios en España se suponía de 650 EUR. Se sospecha que, con la crisis, ha disminuido. Se muestrea la población resultando los datos de la variable salaris. Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.7. Contrasta si las distribuciones de usuarios de Windows, Linux y Mac son prácticamente las mismas en los grados A, B, C y D de la UJI. Los datos, para cada grado, vienen en las variables soA, soB, soC y soD respectivamente. Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.8. Contrasta si se puede asumir o no que los datos de dos grupos de población A y B, muestreados y guardados en las variables midesA y midesB, siguen la misma distribución de probabilidad o no. Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.9. Un grupo de personas prueba dos versiones de pizza barbacoa que la empresa fabricante quiere comercializar (A y B). Para determinar si hay alguna de las dos que es mucho más preferida sobre la otra, en la población general, pide que cada uno se pronuncie sobre cuál le ha gustado más. Los resultados están en la variable barbacoa. La pizza A es la que se comercializa actualmente, y la B es una variante para sustituir la A, si es sensiblemente mejor para el públioc. ¿Qué resulta de la prueba experimental? Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.10. Un grupo de personas prueba dos versiones de pizza quatre formatges que la empresa fabricante quiere comercializar (A y B). Para determinar si hay alguna de las dos que es mucho más preferida sobre la otra, en la población general, pide que cada uno valore su calidad de 0 a 10. Los resultados están en la variable formatges. La pizza A es la que se comercializa actualmente, y la B es una variante para sustituir la A, si es sensiblemente mejor para el públioc. ¿Qué resulta de la prueba experimental? Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.11. Un grupo de personas se divide en dos subgrupos, cada uno de los cuales está destinado a probar una versión de pizza quatre estacions que la empresa fabricante quiere comercializar (A y B). Para determinar si alguna de las dos será más preferida en la población general, sobre la otra, pide que cada uno valore su calidad de 0 a 10. Los resultados están en las variables estacionsA y estacionsB. La pizza A es la que se comercializa actualmente, y la B es una variante para sustituir a la A si es sensiblemente mejor para el público ¿Qué resulta de la prueba experimental? Comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.12. Averigua si los datos de la variable poissonsino son compatibles con el modelo de Poisson de media 2.5, comentando el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R

Escribe aquí tus comentarios (¡y borra esta frase!)

2.13. Los datos de la variable salaris se habían obtenido ordenadamente. ¿Son compatibles con un muestreo aleatorio (con independencia entre muestreos)? Aplica el contraste adecuado, y comenta el resultado, referiéndolo al nivel de significación que se podría utilizar.

# Escribe aquí tu código y compila con RStudio CTRL+SHIFT+K
# verás la salida de R