Puedes seguir el tutorial por vídeo en YouTube

Puntos anteriores

1 Introducción al diseño de experimentos.

2 Elementos de inferencia estadística.

3 Pruebas paramétricas y procedimientos análogos no-paramétricos.

4 Supuestos T-test: Normalidad y homocedasticidad (equivalencia de las varianzas).

5 Cómo comprobar la homocedasticidad o equivalencia de las varianzas.

6 Comparar una muestra con un valor de referencia.

6.1 Test paramétrico de una sola muestra (datos siguen una distribución normal).

Se usa para comprobar si la media de una muestra es igual a una media teórica determinada.

6.1.1 Ejemplo 1. Test de dos colas. Cálculo paso a paso.

Tenemos que cosechar una parcela de melocotones, pero nuestro comprador nos exige que la media de grados Brix sea 14, así que cogemos diez muestras de melocotones y anotamos los Brix de cada media de las muestras. ¿Según la muestra obtenida, se puede decir que los Brix de nuestra partida de melocotones sea es estadísticamente distinto de 14, con un nivel de confianza del 95%?

Los datos recogidos los introducimos en el vector “Muestra” y obtenemos la media.

Muestras <- c(16,12,13,12.5,10,14,13,15,11.5,14)
Media10Muestras <- mean(Muestras) ; Media10Muestras
## [1] 13.1
MediaComercio <- 14

6.1.1.1 Comprobamos primero las premisas que deben cumplir los datos, antes de realizar el t-test.

Normalidad. Métodos visuales.

hist(Muestras, breaks = 3)

plot(density(Muestras))

qqnorm(Muestras)
qqline(Muestras)

Normalidad. Shapiro-Wilk’s test.

ShapiroMuestras <- shapiro.test(Muestras) ; ShapiroMuestras
## 
##  Shapiro-Wilk normality test
## 
## data:  Muestras
## W = 0.98936, p-value = 0.996

Shapiro: p-value es 0.9959702 (no es inferior a 0,05), por lo que los datos no se pueden considerar estadísticamente distintos a los datos con una distribución normal (con un 95% de nivel de confianza).

6.1.1.2 T-test para una muestra. Cálculo paso a paso.

Hipótesis
El estadístico de la muestra se distribuye T de Student con n – 1 grados de libertad. Se calcula con la siguiente fórmula.

\(t_{0}=\dfrac {\overline {X}-\mu _{0}} {S / \sqrt {n}}\)

Consultando en la tabla de T Student, la probabilidad asociada al estadístico para n-1 gl y el nivel de significancia \(\alpha\), se obtiene el valor crítico. Se rechaza la hipótesis nula \(H_{0}:\mu = \mu_{0}\) si \(/t_{0}/ > /t_{\alpha/2}/\) y se aceptaría la hipótesis alternativa \(H_{A}: \mu \neq \mu_{0}\)

Recordemos que \(t_{\alpha/2}\) es el punto crítico de la distribución T de Student, tal que \(P(t_{0}>t_{\alpha/2}) = \alpha/2\), es decir, las áreas bajo la curva a la derecha del punto \(t_{\alpha/2}\) y a la izquierda de \(-t_{\alpha/2}\) son iguales a \({\alpha/2}\) y por lo tanto su suma es \(\alpha\). El área que queda en el centro es \(1-\alpha\).

Representación visual.

if (!require(visualize)) {install.packages("visualize")}
library(visualize)
visualize.t(stat = c(-2, 2), df = 50, section = "tails")
abline(v = 1.5, col = "red", lwd = 3, lty = 2)
text(1.7, 0.2, expression(t[0]), col = "red")
text(2.5, 0.05, expression(alpha/2), col = "blue")
text(-2.5, 0.05, expression(alpha/2), col = "blue")
text(0, 0.2, expression(1 - alpha), col = "black")

Calculamos estadístico de la muestra \(t_{0}\) y el valor crítico \(t_{\alpha/2}\).

DesEstMuestra <- sd(Muestras)
TamanoMuestra <- length(Muestras) #Tamaño de la muestra
t0 <- (Media10Muestras - MediaComercio) / (DesEstMuestra / sqrt(TamanoMuestra))
nivel.conf <- 0.95 # Nivel de confianza 1-alfa
t.alfa.medio <- qt((1 - nivel.conf)/2, df = TamanoMuestra - 1)

Representación visual.

visualize.t(stat = c(-t.alfa.medio, t.alfa.medio), df = TamanoMuestra - 1,section = "tails") ; abline(v = t0, col = "red", lwd = 3, lty = 2) ; text(-2.2, 0.2, expression(t[0] == "-1.63"), col = "red")

Otra forma de hacer la representación visual.

if (!require(devtools)) {install.packages("devtools")}
library(devtools)

devtools::install_github("cardiomoon/webr")
library("moonBook")
library("webr")
t.test(Muestras, mu = MediaComercio)
## 
##  One Sample t-test
## 
## data:  Muestras
## t = -1.6311, df = 9, p-value = 0.1373
## alternative hypothesis: true mean is not equal to 14
## 95 percent confidence interval:
##  11.85182 14.34818
## sample estimates:
## mean of x 
##      13.1
plot(t.test(Muestras, mu = MediaComercio))

Respuesta:
Como \(/t_{0}/\) (1.6311297) < \(/t_{\alpha/2}/\) (2.2621572) aceptamos la hipótesis nula \(H_{0}= \mu (14) = \mu_{0}(13.1)\)).

6.1.2 Ejemplo 2. Test de una cola. Cálculo paso a paso.

Si en vez de querer saber si esa diferencia de 0.9 puntos es estadísticamente significativa, nos preguntásemos si la media de nuestra muestra es significativamente menor, con un nivel de confianza del 95%, la hipótesis y las operaciones serían distintas.

Hipótesis
La hipótesis unilateral ahora sería: La hipótesis nula sería, \(H_{0}:\mu \leq \mu_{0}\) y se aceptaría la hipótesis alternativa \(H_{A}: \mu > \mu_{0}\) si \(t_{0}\ < -t_{\alpha}\) (Entiéndase por \(-t_{\alpha}\) al que se sitúa en la cola de la izquierda, no al valor negativo del de referencia que nos salga, porque de hecho ya nos saldrá negativo.

visualize.t(stat = -1.5, df = 50, section = "lower")
abline(v = -2, col = "red", lwd = 3, lty = 2)
text(-2.2, 0.2, expression(t[0]), col = "red")
text(-2.5, 0.05, expression(alpha), col = "blue")
text(0, 0.2, expression(1 - alpha), col = "black")

Los cálculos quedarían de la siguiente manera.

t0 <- (Media10Muestras - MediaComercio) / (DesEstMuestra / sqrt(TamanoMuestra)) ; t0
## [1] -1.63113
nivel.conf <- 0.95
t.alfa <- qt((1 - nivel.conf), df = TamanoMuestra - 1); t.alfa
## [1] -1.833113

Representación gráfica.

visualize.t(stat = t.alfa, df = TamanoMuestra - 1,section = "lower") ; abline(v = t0, col = "red", lwd = 3, lty = 2) ; text(-2.2, 0.2, expression(t[0] == "-1.63"), col = "red")

Respuesta.
Como \(t_{0}(-1.6311297) > t_{\alpha}(-1.8331129)\) no se rechaza la hipótesis nula \(H_{0}:\mu (14) \leq \mu_{0}(13.1)\)

6.1.3 Ejemplo 3. Test de una cola. Cálculo con R.

La forma rápida de hacer el test en R es mediante el comando t.test.

t.test(Muestras, mu = MediaComercio, alternative = "less")
## 
##  One Sample t-test
## 
## data:  Muestras
## t = -1.6311, df = 9, p-value = 0.06865
## alternative hypothesis: true mean is less than 14
## 95 percent confidence interval:
##      -Inf 14.11145
## sample estimates:
## mean of x 
##      13.1
pvalue <- t.test(Muestras, mu = MediaComercio)$p.value ; pvalue
## [1] 0.1372997
ConfInt <- t.test(Muestras, mu = MediaComercio)$conf.int ; ConfInt
## [1] 11.85182 14.34818
## attr(,"conf.level")
## [1] 0.95

Representación gráfica.

#Usando "cardiomoon/webr"
plot(t.test(Muestras, mu = MediaComercio, alternative = "less"))

Respuesta.
Nosotros, satisfechos y orgullosos de nuestros conocimientos de estadística le contestamos al comercial:

“Pese a que la media de nuestra muestra es 13.1 grados Brix, después de hacer el análisis estadístico vemos que p-value es 0.1372997 (mayor que 0.05), así que podemos asegurar con un 95% de confianza, que la diferencia entre 13.1 y 14 no es estadísticamente significativa. Según nuestra muestra, la media de grados Brix de los melocotones de esa parcela está (con un 95% de confianza) entre 11.8518212, 14.3481788 ºBrix.”

6.1.4 Ejemplo 4. Tamaño de la muestra. Cálculo paso a paso.

El comercial se queda sorpendido al principio con nuestros conocimientos, pero reacciona rápidamente y nos dice que ese intervalo no lo pueden admitir, que sus clientes quieren tener la certeza de que la fruta tiene 14º Brix, y que no la quieren ni con más de 14.5 ni con menos de 13.5 ¡es una frutería goumet!

Recordamos la fórmula para calcular la media por intervalos: \(P\left( \overline {X}-t_{\alpha / 2}\dfrac {S} {\sqrt {n}}\leq \mu \leq \overline {X}+t_{\alpha / 2}\dfrac {S} {\sqrt {n}} \right) =1-\alpha\)

El error de estimación (E) estaba definido por: \(E = t_{\alpha / 2}\dfrac {S} {\sqrt {n}}\)

Podemos despejar n, para saber calcular el tamaño necesario de la muestra, para trabajar con un determinado error de estimación (E). Se suele reemplazar \(t_{\alpha / 2}\) por 2, y trabajar de forma conservadora. \(n =\dfrac {4S^{2}} {E^{2}}\)

Hacemos los cálculos para un error de 0.5, tal y como nos requiere el comercial 14º +- 0.5º.

n <- (4*DesEstMuestra^2) / 0.5^2 ; ceiling(n) # Redondeo hacia arriba
## [1] 49

Necesitamos aumentar nuestra muestra hasta al menos 49 medias, así que muestreamos de nuevo.

Muestra49 <- c(16.20, 13.43, 16.32, 16.22, 14.72, 11.31, 12.38, 13.49, 13.99, 18.20, 15.33, 12.61, 12.00, 13.49, 13.48, 13.28, 14.44, 12.44, 14.76, 11.84, 13.61, 14.66, 14.23, 15.40, 13.90, 14.88, 15.89, 12.79, 11.76, 14.08, 13.59, 13.05, 13.24, 12.87, 15.27, 16.01, 15.73, 13.25, 16.16, 13.51, 17.07, 14.98, 13.21, 12.55, 11.96, 12.14, 11.27, 16.02, 15.4)

Hacemos los cálculos.

shapiro.test(Muestra49) #Comprobamos la normalidad
## 
##  Shapiro-Wilk normality test
## 
## data:  Muestra49
## W = 0.97373, p-value = 0.3384
t.test49 <- t.test(Muestra49, mu = MediaComercio) ; t.test49
## 
##  One Sample t-test
## 
## data:  Muestra49
## t = 0.21337, df = 48, p-value = 0.8319
## alternative hypothesis: true mean is not equal to 14
## 95 percent confidence interval:
##  13.58572 14.51264
## sample estimates:
## mean of x 
##  14.04918
Media49Muestras <- t.test49$estimate ; Media49Muestras
## mean of x 
##  14.04918
pvalue49 <- t.test49$p.value ; pvalue49
## [1] 0.831939
ConfInt49 <- t.test49$conf.int ; ConfInt49
## [1] 13.58572 14.51264
## attr(,"conf.level")
## [1] 0.95

Representación gráfica.

#Usando "cardiomoon/webr"
plot(t.test49)

Conclusión.
Lo máximo que le podemos garantizar es que con un nivel de confianza del 95%, la media de nuestra partida tiene 14.0491837 ºBrix, con un intervalo de confianza de 13.5857231, 14.5126443. Si cree que puede encontrar algo mejor, que se vaya y lo busque.