Documentos de Académico
Documentos de Profesional
Documentos de Cultura
pótesis
Objetivos
Realizar contrastes de hipótesis e interpretar los resultados
Utilizar diversos test que nos ofrece R para analizar la normalidad de datos y la
igualdad de varianzas
> install.packages("PASWR")
> library("PASWR")
De esta manera podremos ver desde RCommander todos los bancos de datos disponibles
en el paquete PASWR.
EJERCICIO:
Muestra la lista de todos los bancos de datos disponibles. Inspecciona
la lista para ver el tipo de datos que hay disponibles busca los bancos de
datos que pertencen al paquete PASWR. ¿Se veı́an estos datos cuando se
inspeccionó la lista de bancos de datos disponibles al inicio de la práctica?
1
2 1.1.1 Distribución t de Student
>library(Rcmdr)
> data(cars)
Todos los contrastes de hipótesis para la media (de una o varias poblaciones) se
encuentran en el menú Estadı́sticos->Medias.
Para una única población elegiremos Test t para una muestra. La ventana que
aparece se muestra en la Figura 1.1. A través de dicha ventana podemos seleccionar:
Figura 1.1: Menú para hacer un contraste de hipótesis para la media de una población
utilizando el test de la t de Student.
EJERCICIO
Carga el banco de datos Battery del paquete PASWR que contiene datos
de baterı́as de litio de un fabricante que tiene dos plantas de producción,
A y B. Para obtener estos datos se seleccionaron 50 baterı́as al azar de
la planta A, que se supone que tienen una duración media de 180 horas,
y se midieron sus tiempos de duración (variable facilityA). También se
seleccionaron otras 50 baterı́as producidas en la planta B, que se supone
que tienen una duración de 200 horas, y se midió su tiempo de duración
(variable facilityB).
1. Haz un análisis de las dos variables de este banco de datos que in-
cluya:
Estadı́sticos resumen
Gráficas resumen de los datos
2. En vista de los datos recogidos, ¿crees que la duración media de las
pilas producidas en las plantas A y B es realmente la que se dice en el
enunciado del problema? Para ello realiza los contrastes de hipótesis
oportunos.
3. Plantea y resuelve un contraste de hipótesis para la diferencia de
la duración media de las dos baterı́as. ¿Existen indicios de que hay
diferencias?
C Para realizar contrastes sobre la media de una población podemos utilizar la
función t.test o incluir una nueva variable que indique el grupo y poder hacerlo con
comandos. Por ejemplo, si queremos contrastar si la duración media de las baterı́as de
la planta A (ver datos del ejercicio anterior) es menor a 180 con un nivel de confianza
del 99 % podemos escribir:
> library(PASWR)
> data(Battery)
> t.test(Battery$facilityA, mu=180, conf.level=.99, alternative="less")
One Sample t-test
data: Battery$facilityA
t = -1.0835, df = 49, p-value = 0.1419
alternative hypothesis: true mean is less than 180
99 percent confidence interval:
-Inf 180.3896
sample estimates:
mean of x
179.6805
En este comando, mu=180 indica que el valor de la media bajo la hipótesis nula es
µ0 = 180, conf.level=.99 indica que el nivel de confianza es del 99 % y alterna-
tive="less" indica que la hipótesis alternativa es que la media es menor que µ0 .
4 1.1.2 Distribución Normal
También es posible usar este comando para realizar contrastes sobre la igualdad
de medias de dos poblaciones. Usando los datos del ejercicio anterior, si qusiésemos
realizar un contraste para ver si las baterı́as de la planta A duran más que las de la
planta B utilizando un nivel de confianza del 95 % podrı́amos escribir:
Intervalo de confianza
La forma general de un intervalo de confianza bilateral es
!
σ σ
x − zα/2 √ , x + zα/2 √
n n
Para los intervalos unilaterales tenemos
!
σ
−∞, x + zα √
n
o !
σ
x − zα √ , +∞
n
1. x.
Se puede obtener calculando los estadı́sticos resumen de los datos.
2. zα/2 ó zα
Se puede calcular utilizando los cuantiles de la distribución Normal.
√
3. σ/ n
Se puede calcular directamente en la consola de R.
Contraste de hipótesis
El estadı́stico de contraste es
x − µ0
z= √
σ/ n
y se puede calcular de manera muy sencilla en la consola de R.
El p-valor se puede calcular a partir de la probabilidad acumulada por z y
realizando las correspondientes operaciones. Por ejemplo, el p-valor para un
contraste bilateral es
EJERCICIO
La tecnologı́a de una cierta planta de fabricación de ordenadores per-
mite que las capas de silicio se transformen en chips usando dos técnicas
distintas. Para decidir qué técnica es mejor se tomaron 28 capas de silicio
al azar del almacén, de manera que se probaron cada una de estas técnicas
en 14 capas de silicio. Los resultados del experimento se ecnuentran en el
banco de datos Chips.
Produce estadı́sticos y gráficas que resuman los datos obtenidos en
el experimento. ¿Crees que los datos provienen de una distribución
Normal?
Suponiendo que este tamaño muestral es lo suficientemente grande,
contrasta si el número medio de chips producido es de 330 para cada
método.
Haz un contraste para ver si el número medio de chips producido por
cada método es el mismo o no.
> prop.test(42,100,p=0.5)
En la primera lı́nea de la respuesta vemos que es una prueba para una proporción.
La segunda lı́nea contienen los datos que hemos introducido: 42 de 100, bajo la
hipótesis nula de p=0.5.
De la tercera lı́nea interesa el p-valor y que es 0.1336 en este caso. Si consideramos
un nivel de significación de 0.05, al ser el p-valor mayor que esa cantidad, no hay
evidencia en contra de la hipótesis nula.
Las siguientes dos lı́neas nos muestran el intervalo de confianza para un nivel de
significación de 0.05. El valor de la proporción p=0.05, podemos ver que está incluida
en el intervalo. Si hubiéramos querido utilizar otro nivel de confianza, por ejemplo,
0.99, deberı́amos añadir en la instrucción el parámetro conf.level=0.99. En las dos
últimas lı́neas se muestra el porcentaje correspondiente a la muestra y que es del
42 %.
Veamos cómo cambia la situación si hubiéramos obtenido 420 sı́es de 1000:
> prop.test(420,1000,p=0.5)
> prop.test(42,100,p=0.5,conf.level=0.99,correct=F)
sample estimates:
p
0.42
Se puede observar que el p-valor ha variado, aunque no de manera muy significa-
tiva.
Ahora cobra sentido el elemento df=3 (grados de libertad), que es uno menos
que el número de muestras. El p-valor obtenido nos llevarı́a a rechazar la hipótesis
nula de igualdad de proporciones, frente a la alternativa de que al menos una de
las proporciones es diferente de las demás. En este caso al prueba no trabaja con
corrección de continuidad.
También se puede hacer el contraste trabajando directamente sobre las propor-
ciones poblacionales.
En el ejemplo anterior podemos contrastar que las proporciones poblacionales son:
0.95, 0.95, 0.95 y 0.85.
data: smokers out of patients, null probabilities c(0.95, 0.95, 0.95, 0.85)
X-squared = 1.0448, df = 4, p-value = 0.9029
alternative hypothesis: two.sided
null values:
prop 1 prop 2 prop 3 prop 4
0.95 0.95 0.95 0.85
sample estimates:
prop 1 prop 2 prop 3 prop 4
0.9651163 0.9677419 0.9485294 0.8536585
El valor del p-valor indica que debemos aceptar la hipótesis nula, al no haber
evidencias en contra de ella, frente a la alternativa de que falla alguna de las propor-
ciones.
El aviso que nos da el test hace referencia a la posible violación de alguna de las
condiciones necesarias para su fiabilidad. Otro aspecto a destacar es que en este caso
los grados de libertad aparecen como 4 porque se han introducido directamente las
proporciones poblacionales.
Si modificamos la última proporción, tenemos:
> prop.test(smokers,patients,p=c(0.95,0.95,0.95,0.5))
data: smokers out of patients, null probabilities c(0.95, 0.95, 0.95, 0.5)
X-squared = 42.0606, df = 4, p-value = 1.621e-08
alternative hypothesis: two.sided
null values:
prop 1 prop 2 prop 3 prop 4
0.95 0.95 0.95 0.50
sample estimates:
10 1.3 Contraste de dos proporciones
> x=c(rep(1,200),rep(0,150))
> y=sample(x) #con esta instrucción se desordenan los datos y parece más real
> w=as.factor(y) #Convertimos en factor el vector de ceros y unos
> b=data.frame(w) #creamos una estructura de datos con el factor anterior
tendrı́a más sentido para muestras pequeñas o con probabilidad p próxima a 0.1. El
resultado que se obtiene es el que aparece en la Figura 1.5.
12 1.4 Casos de dos muestras y uso de R-Commander
salud
fumador buena mala
no 58 54
si 70 68
> fumadores=data.frame(fumador,salud)
Práctica 5: Constrastes de hipótesis 13
salud
14 1.4 Casos de dos muestras y uso de R-Commander
data: .Table
X-squared = 0.0016, df = 1, p-value = 0.9683
alternative hypothesis: two.sided
95 percent confidence interval:
-0.1220618 0.1432834
sample estimates:
prop 1 prop 2
0.5178571 0.5072464
Un p-valor de 0.1105 nos indica que la proporción de fumadores con buena o mala
salud no es significativamente diferente para un nivel de significación de 0.05, o lo que
Práctica 5: Constrastes de hipótesis 15
es lo mismo no hay relación entre fumar o no fumar y tener o no tener buena salud.
Otro test que podemos utilizar es el test de la ji-cuadrado de Pearson. Para ello
hay que introducir la matriz generada:
[,1] [,2]
[1,] 58 54
[2,] 70 68
> chisq.test(m)
data: m
X-squared = 0.0016, df = 1, p-value = 0.9683
H0 : ≥ 25
H1 : < 25
Procede aplicar un t-test. El problema es que no se puede aplicar la función t-test
de R porque los datos están resumidos. Habrá que realizar el ejercicio “a mano”:
> med.muestra=22;destip=1.5;n=10;mediaH0=25
> t=(med.muestra-mediaH0)/(destip/sqrt(10))
> t
[1] -6.324555
[1] 6.846828e-05
Este valor tan bajo para el p-valor nos lleva a rechazar la hipótesis nula, afirmando,
por lo tanto que el consumo medio de la nueva máquina es inferior a 25 litros.
16 1.6 Contrastando una mediana
> x=c(12.8,3.5,2.9,9.4,8.7,0.7,0.2,2.8,1.9,2.8,3.1,15.8)
> y=x-5
> y
[1] 7.8 -1.5 -2.1 4.4 3.7 -4.3 -4.8 -2.2 -3.1 -2.2 -1.9 10.8
> positivos=length(y[y>0])
> nonulos=length(y[y!=0])
> binom.test(positivos,nonulos,p=0.5)
> wilcox.test(x,mu=5)
Práctica 5: Constrastes de hipótesis 17
data: x
V = 39, p-value = 1
alternative hypothesis: true location is not equal to 5
> wilcox.test(x,conf.int=TRUE)
data: x
V = 78, p-value = 0.002516
alternative hypothesis: true location is not equal to 0
95 percent confidence interval:
1.899967 9.049921
sample estimates:
(pseudo)median
4.850932
> x<-c(1236,1302,1324,1270,1287,1328,1318,1296,1306,
+1329,1255,1310,1255,1291,1280)
> y<-c(1387,1301,1376,1397,1399,1378,1343,1349,1321,
+1364,1332,1396,1372,1341,1374)
¿Puede concluirse que la media de la carga de rotura es superior para las probetas
curadas durante 6 dı́as? Supóngase que las poblaciones correspondientes son normales.
H0 : µ1 ≥ µ2
H1 : µ1 < µ2
Realizaremos el ejercicio en dos supuestos: varianzas poblacionales iguales y dis-
tintas.
18 1.7.1 Varianzas poblacionales iguales
> t.test(x,y,var.equal=TRUE,alt="less")
data: x and y
t = -6.5214, df = 28, p-value = 2.277e-07
alternative hypothesis: true difference in means is less than 0
95 percent confidence interval:
-Inf -51.39538
sample estimates:
mean of x mean of y
1292.467 1362.000
Podemos observar que el p-valor está muy por debajo del nivel de significación
(α = 0,05), por lo que no podemos aceptar la hipótesis nula, rechazándola a favor de
la alternativa.
El intervalo de confianza ((−∞, −51,39538) no contiene al cero (diferencia de
medias).
> t.test(x,y,alt="less")
data: x and y
t = -6.5214, df = 27.967, p-value = 2.289e-07
alternative hypothesis: true difference in means is less than 0
95 percent confidence interval:
-Inf -51.39464
sample estimates:
mean of x mean of y
1292.467 1362.000
donde las mediciones indican las tasas de grabado en Angstrom/minuto. ¿Puede con-
cluirse, en vista de los datos, que las tasas de grabados difieren entre el centro y el
borde?
> t.test(x,y,paired=TRUE)
Paired t-test
data: x and y
t = -6.0885, df = 14, p-value = 2.797e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-94.02782 -45.03885
sample estimates:
mean of the differences
-69.53333
En vista del p-valor podemos concluir que las medias son diferentes con un nivel
de significación α = 0,05. Del mismo modo podemos ver que el valor cero no está
incluido dentro del intervalo de confianza.
20 1.7.3 Caso de datos emparejados
H0 : µ1 ≥ µ2
H1 : µ1 < µ2
> x<-c(1236,1302,1324,1270,1287,1328,1318,1296,1306,
+1329,1255,1310,1255,1291,1280)
> y<-c(1387,1301,1376,1397,1399,1378,1343,1349,1321,
+1364,1332,1396,1372,1341,1374)
> wilcox.test(x,y,alternative="less")
data: x and y
W = 10, p-value = 1.162e-05
alternative hypothesis: true location shift is less than 0
Los resultados nos llevan al rechazo de la hipótesis nula con el nivel de significación
habitual.
Podemos observar que no aparece ningún intervalo de confianza. Si queremos
obtener uno, hacemos:
> wilcox.test(x,y,alternative="less",conf.int=TRUE)
data: x and y
W = 10, p-value = 1.162e-05
alternative hypothesis: true location shift is less than 0
95 percent confidence interval:
-Inf -50.00004
sample estimates:
difference in location
-69.99996
La observación del intervalo de confianza nos lleva al rechazo de la hipótesis nula con
el nivel de significación habitual.
Práctica 5: Constrastes de hipótesis 21
> x=c(586,568,587,550,543,552,562,577,558,571)
> y=c(582,569,587,543,540,548,563,572,559,566)
> wilcox.test(x,y,paired=TRUE)
data: x and y
V = 39, p-value = 0.05671
alternative hypothesis: true location shift is not equal to 0
Lo que hace el test es una prueba de suma de rangos con signo. El p-valor obtenido nos
lleva a aceptar la hipótesis nula pero en el lı́mite. Si comparamos con los resultados
obtenidos al suponer normalidad, vemos que éstos son diferentes, ya que en aquél
caso rechazábamos.
Si queremos obtener un intervalo de confianza:
> wilcox.test(x,y,paired=TRUE,conf.int=TRUE)
data: x and y
V = 39, p-value = 0.05671
alternative hypothesis: true location shift is not equal to 0
95 percent confidence interval:
-0.9999075 5.0000057
sample estimates:
(pseudo)median
2.999958
> x=c(1236,1302,1324,1270,1287,1328,1318,1296,1306,
+1329,1255,1310,1255,1291,1280)
> qqnorm(x)
> qqline(x)
● ●
●
1320
●
●
1300
●
Sample Quantiles
●
●
●
1280
●
1260
● ●
1240
−1 0 1
Theoretical Quantiles
La Figura 1.9 muestra un gráfico con los cuantiles muestrales en ordenadas y los
correspondientes a la normal en abscisas. De las dos anteriores, la primera instrucción
dibuja los puntos, la segunda la lı́nea. Ésta representa dónde estarı́an los puntos si se
ajustasen plenamente a una normal.
En vista del gráfico y de cómo se ajustan los puntos a la lı́nea, podemos afirmar que
no hay evidencia razonable en contra de la normalidad de éstos. Si no queremos dejar
Práctica 5: Constrastes de hipótesis 23
a juicio de nuestro “ojo” si el ajuste es bueno o no, podemos utilizar ciertas pruebas,
como la de normalidad de Shapiro-Wilk. Aplicada a los mismos datos, tenemos:
> shapiro.test(x)
data: x
W = 0.9468, p-value = 0.4755
> library(tseries)
> jarque.bera.test(x)
data: x
X-squared = 0.9579, df = 2, p-value = 0.6194
> library(nortest)
> lillie.test(x)
data: x
D = 0.1042, p-value = 0.9322
> y=c(1387,1301,1376,1397,1399,1378,1343,1349,1321,1364,
+1332,1396,1372,1341,1374)
> var.test(x,y)
24 1.9 Potencia de un test
data: x and y
F = 0.9334, num df = 14, denom df = 14, p-value = 0.8992
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.313373 2.780240
sample estimates:
ratio of variances
0.9334089
H0 : σ1 = σ2
H1 : σ1 6= σ2
Con el p-valor obtenido, no hay evidencia en contra de la igualdad de varianzas.
n = 20
delta = 1
sd = 2
sig.level = 0.05
power = 0.5644829
alternative = two.sided
Práctica 5: Constrastes de hipótesis 25
Cohen propone por convención una potencia de 0.8, o sea, β = 0,2. Un valor inferior
a 0.8 implicarı́a un gran riesgo de incurrir en un error de tipo II, y un valor superior
exigirı́a una muestra muy grande, generalmente fuera de los recursos del investigador.
Si se toma un valor de α = 0,05 y una potencia de 0.8, la resultante β : α estarı́a en
la proporción 4:1 (0.2:0.05)).
Como la potencia de un test es función de la diferencia que deseamos que sea
capaz de detectar, delta, podemos establecer la relación que existe entre la precisión
delta y la potencia del test requerida.
0.4
0.2
0.0
−2 −1 0 1 2
Con $power se toma solamente el valor de power en las seis salidas de la función
power.t.test. La y recoge los 50 valores de la potencia del test para 50 valores
distintos de desviación de la media de la hipótesis alternativa con respecto de la
media de la hipótesis nula. El resultado puede ver en la Figura 1.10.
26 1.9.1 Potencia de un test de la t
Se puede observar que para valores grandes de delta la potencia del test es alta.
Para un valor de la potencia de 0.8, a un nivel de significación de 0.05, podrı́amos
detectar para el tamaño de la muestra dado, diferencias entre el valor del parámetro
de H0 y el de H1 del orden de uno y pico unidades. Serı́a un ejercicio interesante
determinar la curva de potencia para distintos valores de n y comparar.
> y=power.t.test(n=15,delta=x,sd=2,type="one.sample")$power
> lines(x,y,type="l",col="red")
> z=power.t.test(n=30,delta=x,sd=2,type="one.sample")$power
> lines(x,z,type="l",col="green")
> w=power.t.test(n=10,delta=x,sd=2,type="one.sample")$power
> lines(x,w,type="l",col="blue")
> legend(-0.5, 1, legend=c("10", "15", "20","30"), lty=1,
+ col=c("blue", "red", "black", "green")
+ )
1.0
10
15
20
0.8
30
0.6
y
0.4
0.2
0.0
−2 −1 0 1 2
Figura 1.11: Potencia de un test de la t para distintos valores del tamaño muestral.
Práctica 5: Constrastes de hipótesis 27
En la Figura 1.11 se puede observar como la potencia del test aumenta con el
tamaño de la muestra. Podemos utilizar este hecho para determinar tamaños de
muestras convenientes para los contrastes de hipótesis.
Una compañı́a que produce bombillas, afirma que la vida media de las mismas es
850 horas con una desviación tı́pica de 50. Una organización de consumidores consi-
dera que la compañı́a ha sobreestimado en 40 horas la vida media. ¿Qué tamaño de
muestra deberı́a tomarse para probar su afirmación con suficiente nivel de confianza?
Elegiremos una potencia de test de 0.9 y un nivel de significación del 5 %.
> power.t.test(delta=-40,power=0.9,sig.level=0.05,sd=50,type="one.sample",
+ alternative="two.sided")
n = 18.44623
delta = 40
sd = 50
sig.level = 0.05
power = 0.9
alternative = two.sided
Este resultado nos indica que deberı́amos tomar una muestra de tamaño de por
lo menos 19, para poder rechazar la hipótesis nula de media 850 horas frente a la
alternativa de 810 horas, supuesto que esta es verdadera, para una potencia de 0.9
con un nivel de significación del 5 %.
Los parámetros type="one.sample", alternative="two.sided" indican que es-
te test es de una sola muestra y que el tipo de contraste es bilateral.
Nos planteamos ahora, si tenemos una muestra de n=10, cuál será la potencia de
nuestro test.
Según los resultados del test, la potencia del test es de 0.6162225 que es un valor
algo bajo con relación al valor 0.8 habitual.
Cuando en este test se cambia el parámetro type="one.sample" por "two.sample",
calcula la potencia para dos muestras, pero del mismo tamaño y desviación tı́pica.
Veamos el siguiente ejemplo con muestras pareadas.
Deseamos comparar dos pinturas de exteriores protectoras contra la corrosión. Se
eligen chapas de distintos materiales, la mitad se pinta con una pintura y la otra
mitad con otra. Mediante un estudio piloto se estima que la desviación tı́pica de la
variable “diferencia de duración” es de 30 meses. Quien tiene que tomar la decisión
de usar una u otra pintura considera que la detección de una diferencia de medias de
20 meses serı́a relevante. Se desea saber qué tamaño mı́nimo de la muestra deberı́a
tomarse para realizar un test de hipótesis bilateral con datos pareados.
> power.t.test(sd=30,delta=20,power=0.8,sig.level=0.05,type="paired")
n = 19.66697
delta = 20
sd = 30
sig.level = 0.05
power = 0.8
alternative = two.sided
> power.prop.test(p1=0.80,p2=0.6,power=0.8,sig.level=0.1)
n = 63.86207
p1 = 0.8
p2 = 0.6
sig.level = 0.1
power = 0.8
alternative = two.sided
> power.prop.test(n=95,p1=0.80,p2=0.6,sig.level=0.1)
n = 95
p1 = 0.8
p2 = 0.6
Práctica 5: Constrastes de hipótesis 29
sig.level = 0.1
power = 0.9187532
alternative = two.sided