Está en la página 1de 29

1 | Práctica 5: Constrastes de hi-

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

Analizar la potencia de un test

1.1. Contrastes de hipótesis para la media con RCom-


mander
RCommander también contiene menús para hacer contrastes de hipótesis. Para los
ejercicios de esta parte de la práctica necesitamos instalar el paquete PASWR, que
contiene numerosos bancos de datos del libro Probability and Statistics with R (de
Marı́a Dolores Ugarte, Ana Militino y Alan Arhnholt). Para instalar y cargar dicho
paquete ejecutaremos el siguiente comando:

> 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

1.1.1. Distribución t de Student


En primer lugar vamos a ver cómo hacer un contraste de hipótesis para un banco
de datos cuando la varianza (σ 2 ) de la población no es conocida. En estos casos el
estadı́stico de contraste estaba basado en una distribución t de Student con n − 1
grados de libertad (n es el número de datos).
Abrimos el Rcommander y cargamos el fichero cars.

>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:

La variable sobre la que queremos hacer el contraste

El valor de la media bajo la hipótesis nula (µ0 )

La dirección de la hipótesis alternativa, para un contraste unilateral o bilateral

Nivel de confianza para el cálculo del intervalo de confianza asociado al contraste

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.

Si lo que queremos es hacer un contraste en el que comparemos las medias de


dos poblaciones, podemos seleccionar Test t para muestras independientes o
Test t para datos relacionados, según sea el caso.
Para que aparezca estas instrucciones activas en el R-commander, para las mues-
tras independientes se necesita por un lado una variable cuantitativa y, por otro, una
variable dicotómica (cualitativa o factor, con sólo dos modalidades) que indique los
dos grupos (por ejemplo, el sexo). Si no tenemos los datos de esta forma tendrı́amos
que poner la instrucción con comandos.
Para la de datos relacionados, necesitamos dos variables cuantitativas.
Práctica 5: Constrastes de hipótesis 3

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:

> t.test(Battery$facilityA, Battery$facilityB, conf.level=.95,


+ alternative="greater")

Welch Two Sample t-test

data: Battery$facilityA and Battery$facilityB


t = -42.7179, df = 91.408, p-value = 1
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
-21.63834 Inf
sample estimates:
mean of x mean of y
179.6805 200.5087

Ahora, conf.level=.95 indica que el nivel de confianza es del 95 % y alterna-


tive="greater" indica que la hipótesis alternativa es que la media del primer grupo
es mayor que la del segundo.

1.1.2. Distribución Normal


RCommander no proporciona ninguna opción para realizar intervalos de confianza
y contrastes de hipótesis cuando la distribución de los datos es Normal y conocemos
el valor de la varianza poblacional. Sin embargo, podemos usar RCommander para
calcular los lı́mites del intervalo y resolver el contraste.

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

Por tanto, para calcular un intervalo de confianza necesitamos:


Práctica 5: Constrastes de hipótesis 5

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

p − valor = P (Z > z) + P (Z < −z) = 2(1 − P (Z < z))


EJERCICIO
Si en el ejercicio anterior suponemos que sabemos que las desviación
tı́picas de las baterias de la planta A y B son 2 y 2.75, respectivamente,
calcula:
1. Calcula un intervalo de confianza al 95 % para cada uno de los dos
tipos de baterı́as.
2. Resuelve los tres contrastes planteados anteriormente (en los aparta-
dos 2 y 3 del ejercicio anterior) suponiendo conocida las desviaciones
tı́picas de los datos.
EJERCICIO
El banco de datos MilkCarton del paquete PASWR contiene datos de
tiempos de secado de dos tipos de contenedores de leche de un galón
(variable Wgallon)y medio galón (variable Hgallon). Un galón son apro-
ximadamente 3.78 litros.
1. Calcula estadı́sticos resumen para cada variable y haz una represen-
tación gráfica
2. Haz un contraste para ver si el tiempo medio de secado de los dos
tipos de contenedores es el mismo
EJERCICIO
El banco de datos Fertilize contiene las alturas (en pulgadas; 1 pul-
gada son 2.54 cm) de plantas que fueron fertilizadas de dos formas distin-
tas: cruzada (variable cross) y autofertilización (self).
6 1.2 Contraste de una proporción en una población

1. Contrasta si los datos sugieren que la altura media de las plantas


autofertilizadas es mayor de 17 pulgadas. Usa α = 0,05.
2. Calcula un intervalo unilateral al 95 % de confianza para la altura
media de las plantas autofertilizadas. Usa que H1 : µ > 17.
3. ¿Crees que el crecimiento medio de los dos tipos de plantas es el
mismo?

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.

1.2. Contraste de una proporción en una pobla-


ción
Consideremos una encuesta. Preguntamos por la calle a 100 personas elegidas al
azar sobre cierta cuestión y 42 personas responden que sı́ a la misma. ¿Es este dato
compatible con la hipótesis de que la proporción de sı́es en la población es del 50 %?
Para realizar este test utilizamos la función prop.test():

> prop.test(42,100,p=0.5)

1-sample proportions test with continuity correction

data: 42 out of 100, null probability 0.5


X-squared = 2.25, df = 1, p-value = 0.1336
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.3233236 0.5228954
sample estimates:
p
0.42
Práctica 5: Constrastes de hipótesis 7

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)

1-sample proportions test with continuity correction

data: 420 out of 1000, null probability 0.5


X-squared = 25.281, df = 1, p-value = 4.956e-07
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.3892796 0.4513427
sample estimates:
p
0.42

A pesar de que la proporción es la misma el p-valor ha descendido tanto que nos


vemos obligados a rechazar la hipótesis nula.
Por defecto, estas pruebas se realizan con la corrección de continuidad de Yates
(cuando se aproxima una variable discreta por una continua se utiliza la corrección de
Yates o corrección de continuidad, que consiste en añadir y sustraer 0.5 a la variable).
Si no se desea tal corrección se debe añadir el parámetro correct=F.
El primer ejemplo con un nivel de confianza del 99 % y sin factor de corrección
nos darı́a un resultado de:

> prop.test(42,100,p=0.5,conf.level=0.99,correct=F)

1-sample proportions test without continuity correction

data: 42 out of 100, null probability 0.5


X-squared = 2.56, df = 1, p-value = 0.1096
alternative hypothesis: true p is not equal to 0.5
99 percent confidence interval:
0.3017635 0.5481918
8 1.3 Contraste de dos proporciones

sample estimates:
p
0.42
Se puede observar que el p-valor ha variado, aunque no de manera muy significa-
tiva.

1.3. Contraste de dos proporciones


Si otro encuestador realizó 200 encuestas y obtuvo 110 sı́es en otra población,
podemos preguntarnos si la proporción de sı́es es la misma en las dos poblaciones.
> prop.test(c(42,110),c(100,200))
2-sample test for equality of proportions with continuity
correction

data: c(42, 110) out of c(100, 200)


X-squared = 4.0024, df = 1, p-value = 0.04544
alternative hypothesis: two.sided
95 percent confidence interval:
-0.256292251 -0.003707749
sample estimates:
prop 1 prop 2
0.42 0.55
El p-valor nos llevarı́a a rechazar la hipótesis nula de igualdad de proporciones
con un nivel de significación de 0.05. Podemos observar también que el intervalo de
confianza no contiene al valor cero, lo que nos reafirma en la decisión de rechazar la
hipótesis nula. Este tipo de prueba sirve también para comparar más de dos propor-
ciones. En el siguiente ejemplo, se comparan cuatro muestras de pacientes en las que
se cuenta el número de fumadores. La pregunta es si las poblaciones de las que fueron
extraı́das las muestras tienen las mismas proporciones de fumadores.
> smokers=c(83,90,129,70)
> patients=c(86,93,136,82)
> prop.test(smokers,patients)
4-sample test for equality of proportions without continuity
correction

data: smokers out of patients


X-squared = 12.6004, df = 3, p-value = 0.005585
alternative hypothesis: two.sided
sample estimates:
prop 1 prop 2 prop 3 prop 4
0.9651163 0.9677419 0.9485294 0.8536585
Práctica 5: Constrastes de hipótesis 9

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.

> prop.test(smokers, patients, p=c(0.95,0.95,0.95,0.85))

4-sample test for given proportions without continuity


correction

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))

4-sample test for given proportions without continuity


correction

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

prop 1 prop 2 prop 3 prop 4


0.9651163 0.9677419 0.9485294 0.8536585

El p-valor indica que rechazamos la hipótesis nula a favor de la alternativa que


nos dice que hay alguna muestra que no es compatible con la proporción asignada a
la población.
Ası́ se procede al tener las proporciones muestrales.
Supongamos que tenemos una base de datos con resultados (por ejemplo: acier-
tos, codificados con 1 y fallos con 0), podemos utilizar el menú correspondiente de
RCommander. Simulamos una base de datos con 350 datos, 200 de ellos unos y el resto
ceros.

> 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

Vamos a RCommander y pinchamos sobre Conjunto de datos, como puede verse


en la Figura 1.2. Se despliega una ventana y escogemos b.

Figura 1.2: Selección de un nuevo conjunto de datos en RCommander.

Vamos a Estadı́sticos/Proporciones/Test de proporciones para una


muestra... (Figura 1.3). Se abre una ventana con el contenido de la Figura 1.4.
Consideramos que la proporción de la población es de 0.5, frente la hipótesis
alternativa de que es distinta. Está seleccionada la aproximación normal sin corrección
de Yates por continuidad. Se podrı́a utilizar una binomial (Binomial exacto), pero
Práctica 5: Constrastes de hipótesis 11

Figura 1.3: Selección del test de proporcón de una muestra en RCommander.

Figura 1.4: Selección del test de proporcón de una muestra en RCommander.

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

Figura 1.5: Contraste para la proporción de una muestra en RCommander.

Como el p-valor es muy bajo, rechazamos la hipótesis nula.

1.4. Casos de dos muestras y uso de R-Commander


Crearemos una estructura de datos, fumadores con dos variables: fumador y salud,
cada una con 250 valores.

> fumador <- sample(c("no","si"),size=250,replace=TRUE)


> salud <- sample(c("buena","mala"),size=250,replace=TRUE)
> table(fumador,salud)

salud
fumador buena mala
no 58 54
si 70 68

Creamos la estructura de datos fumadores:

> fumadores=data.frame(fumador,salud)
Práctica 5: Constrastes de hipótesis 13

Figura 1.6: Selección del banco de datos fumadores en RCommander.

Desde RCommander la activamos, como se puede ver en la Figura 1.6.


Pinchamos en Estadı́sticos/Proporciones/Test de proporciones para
dos muestras... (Figura 1.7). Y realizamos la selección de variables como en la
Figura 1.8.

Figura 1.7: Selección de un test para dos proporciones en RCommander.

La salida que da RCommander es:

> .Table <- xtabs(~fumador+salud, data=fumadores)


> rowPercents(.Table)

salud
14 1.4 Casos de dos muestras y uso de R-Commander

Figura 1.8: Selección de variables para un test de dos proporciones en RCommander.

fumador buena mala Total Count


no 54.5 45.5 100 110
si 43.6 56.4 100 140

> prop.test(.Table, alternative='two.sided', conf.level=.95, correct=TRUE)

2-sample test for equality of proportions with continuity


correction

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:

> m <- matrix(table(fumador,salud),nrow=2)


> m

[,1] [,2]
[1,] 58 54
[2,] 70 68

> chisq.test(m)

Pearson's Chi-squared test with Yates' continuity correction

data: m
X-squared = 0.0016, df = 1, p-value = 0.9683

El p-valor nos confirma en la decisión anterior.

1.5. Contrastando una media


Una empresa constructora cambiarı́a a un nuevo modelo de máquina de cons-
trucción si ésta consume menos de 25 litros de combustible a los 100 km. Toma una
muestra de 10 máquinas, que dan una media de 22 litros con una desviación tı́pica
muestral de 1.5. Se supone que el consumo se distribuye de forma normal. Se efectúa
un test:

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

El p-valor correspondiente es:


> p_valor=pt(t,df=n-1)
> p_valor

[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

1.6. Contrastando una mediana


Prueba de los signos
Consideremos la muestra:

> 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)

Queremos contrastar si la mediana es 5. Restamos 5 de x:

> 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

Contamos los positivos:

> positivos=length(y[y>0])

Y el número de no nulos (aunque en este caso no los haya es un procedimiento


general).

> nonulos=length(y[y!=0])

Finalmente, se aplica el test binomial exacto de R:

> binom.test(positivos,nonulos,p=0.5)

Exact binomial test

data: positivos and nonulos


number of successes = 4, number of trials = 12, p-value =
0.3877
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.09924609 0.65112449
sample estimates:
probability of success
0.3333333

Con el p-valor obtenido no rechazamos la hipótesis nula.


Se puede utilizar un test implementado en R. Es el test de la suma de rangos con
signo de Wilcoxon, que tiene en cuenta las diferencias con la mediana y la magnitud
de esta diferencia:

> wilcox.test(x,mu=5)
Práctica 5: Constrastes de hipótesis 17

Wilcoxon signed rank test with continuity correction

data: x
V = 39, p-value = 1
alternative hypothesis: true location is not equal to 5

Aceptarı́amos la hipótesis nula.


Con este tipo de test no se obtiene ningún intervalo de confianza. Hay que hacerlo
con la instrucción:

> wilcox.test(x,conf.int=TRUE)

Wilcoxon signed rank test with continuity correction

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

1.7. Contraste de medias para dos muestras


Consideremos el siguiente ejemplo:

Se realiza un experimento para determinar el efecto del tiempo de


curado del hormigón sobre la carga de rotura a compresión del mismo. Se
han tomado dos muestras x e y de 15 probetas de hormigón cada una. La
muestra x se somete a un curado de dos dı́as y la muestra y a uno de seis.
Las cargas de rotura de las probetas en Mpa son:

> 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

1.7.1. Varianzas poblacionales iguales


Procede aplicar un test de la T de Student con t.test(), con var.equal=TRUE
para igualdad de varianzas y alt="less" porque tenemos un contraste unilateral
donde la primera media es inferior a la segunda en la hipótesis alternativa.

> t.test(x,y,var.equal=TRUE,alt="less")

Two Sample t-test

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).

1.7.2. Varianzas poblacionales distintas


Al no poner nada en el contraste, la función t.test utilizar por defecto el pará-
metro var.equal=F. Es decir, es igual t.test(x,y) que t.test(x,y,var.equal=F).
Si observamos los resultado vemos que no son exactamente iguales, esto es debido a
que en este caso supone que las varianzas son distintas.

> t.test(x,y,alt="less")

Welch Two Sample t-test

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

Los cálculo se realizan utilizando la corrección de Welch


Práctica 5: Constrastes de hipótesis 19

1.7.3. Caso de datos emparejados


Veamos un ejemplo:

Se desea estudiar la uniformidad de grabado en una superficie de silicio


según las mediciones en el centro y en el borde de una placa. Los resultados
para 10 placas se ven en la tabla 1.7.3:

Placa Centro Borde


1 586.00 582.00
2 568.00 569.00
3 587.00 587.00
4 550.00 543.00
5 543.00 540.00
6 552.00 548.00
7 562.00 563.00
8 577.00 572.00
9 558.00 559.00
10 571.00 566.00

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?

Suponiendo que las poblaciones son normales.


El parámetro paired por defecto es igual a FALSE, por tanto, si queremos decir
que son emparejados hay que cambiar ese parámetro explı́citamente.

> 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

Si las poblaciones no pueden considerarse normales

Bajo ciertas condiciones (continuidad de las variables, igualdad de distribuciones


en forma, simetrı́a) se puede aplicar el test de la suma de rangos de Wicoxon.
Lo aplicaremos a las probetas de hormigón anteriores, suponiendo que no podemos
afirmar la normalidad de la variable carga de rotura.

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")

Wilcoxon rank sum test with continuity correction

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)

Wilcoxon rank sum test with continuity correction

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

1.7.4. Si las poblaciones no pueden suponerse normales y los


datos son emparejados
Volvemos al ejercicio de las placas de silicio, suponiendo que no podemos afirmar
la normalidad de las poblaciones.

> 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)

Wilcoxon signed rank test with continuity correction

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)

Wilcoxon signed rank test with continuity correction

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

La observación del intervalo de confianza nos lleva a la misma conclusión.

1.8. Hipótesis de Normalidad


En ocasiones se deben plantear ciertas hipótesis para aplicar algunas pruebas. Una
de las más frecuentes es la de normalidad de la población, con tamaños pequeños de
las muestras. Por ejemplo, ¿podemos afirmar que, razonablemente, la muestra de 15
probetas de hormigón antes utilizadas, corresponden a una población normal?
22 1.8 Hipótesis de Normalidad

> x=c(1236,1302,1324,1270,1287,1328,1318,1296,1306,
+1329,1255,1310,1255,1291,1280)

Podemos utilizar un diagrama cuantil-cuantil, donde se representan los cuantiles


para la muestra dada y los mismos cuantiles para los mismos valores de una distribu-
ción Normal de igual media y desviación tı́pica que la muestral, si bien estos mismos
cuantiles se muestran tipificados. Con:

> qqnorm(x)
> qqline(x)

Normal Q−Q Plot

● ●

1320



1300


Sample Quantiles




1280


1260

● ●
1240

−1 0 1

Theoretical Quantiles

Figura 1.9: Diagrama qq-plot para constrastar la normalidad de los datos.

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)

Shapiro-Wilk normality test

data: x
W = 0.9468, p-value = 0.4755

ste test contrasta la hipótesis nula de normalidad de la población, frente a la


alternativa de no normalidad. Con el p-valor obtenido afirmamos que no hay evidencia
en contra de la normalidad de la población de la que proceden nuestros datos para el
nivel de significación utilizado hasta el momento.
Otro contraste de normalidad es el de Jarque-Bera, que utiliza la curtosis y asi-
metrı́a para el cálculo. Se encuentra en el paquete tseries.

> library(tseries)
> jarque.bera.test(x)

Jarque Bera Test

data: x
X-squared = 0.9579, df = 2, p-value = 0.6194

Con este valor no hay evidencia en contra de la normalidad de la población de la


que proceden los datos. Hay otro test de normalidad en el paquete nortest. Una vez
cargado, podemos aplicar la prueba de Lilliefors para los mismos datos.

> library(nortest)
> lillie.test(x)

Lilliefors (Kolmogorov-Smirnov) normality test

data: x
D = 0.1042, p-value = 0.9322

De nuevo, nos mantenemos en aceptar la hipótesis de normalidad.

1.8.1. Contraste de varianzas


Podemos contrastar también si las varianzas de dos poblaciones son iguales. Pa-
ra ello contamos con el test var.test. Lo aplicaremos suponiendo que tenemos una
segunda muestra:

> 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

F test to compare two variances

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

Con este test contrastamos:

H0 : σ1 = σ2
H1 : σ1 6= σ2
Con el p-valor obtenido, no hay evidencia en contra de la igualdad de varianzas.

1.9. Potencia de un test


Aunque habitualmente trabajemos con el nivel de significación en las pruebas, no
es menos importante la potencia del test. Veremos las posibilidades para determinar
la potencia con R. La potencia de un test es la probabilidad de rechazar H0 cuando
ésta es falsa. Pero lo que resulta más interesante es su utilización para determinar
el tamaño suficiente de las muestras para poder detectar desviaciones de magnitud
deseada con respecto al parámetro de la hipótesis nula. No hay que confundir este
tamaño con el que se precisa para obtener un intervalo de confianza para la media
con una precisión dada.

1.9.1. Potencia de un test de la t


Queremos determinar la potencia de un test de la t de una sola muestra para
detectar una diferencia de 1 (delta=1) entre una media de la hipótesis alternativa,
H1 , y la media de la hipótesis nula, H0 , para un tamaño muestral n=20, con desviación
tı́pica muestral sd=2 y un nivel de significación del 5 %.

> power.t.test (n=20,delta=1,sd=2,type="one.sample")

One-sample t test power calculation

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.

> x=seq(-2,2,length=50) #Se generan 50 valores entre -2 y 2


> y=power.t.test(n=20,delta=x,sd=2,type="one.sample")$power
> plot(x,y,type="l")
1.0
0.8
0.6
y

0.4
0.2
0.0

−2 −1 0 1 2

Figura 1.10: Potencia de un test de la t.

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")

One-sample t test power calculation

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")

Paired t test power calculation


28 1.9.2 Potencia para el caso en que se contrasta la igualdad de proporciones

n = 19.66697
delta = 20
sd = 30
sig.level = 0.05
power = 0.8
alternative = two.sided

NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs

Necesitarı́amos realizar la prueba con, al menos, una muestra de tamaño 20.

1.9.2. Potencia para el caso en que se contrasta la igualdad


de proporciones
Se nos dice que dos máquinas producen tornillos de calidad óptima en proporciones
de 0.8 y 0.6, respectivamente. Queremos saber cuántas muestras habrı́an de tomarse
de cada una para detectar que esta diferencia es verdadera, para una potencia de test
de 0.8 y un nivel de confianza del 0.9.
Utilizaremos power.prop.test:

> power.prop.test(p1=0.80,p2=0.6,power=0.8,sig.level=0.1)

Two-sample comparison of proportions power calculation

n = 63.86207
p1 = 0.8
p2 = 0.6
sig.level = 0.1
power = 0.8
alternative = two.sided

NOTE: n is number in *each* group

La conclusión a la que llegamos es que deberı́amos tomar al menos 64 muestras


de cada máquina para efectuar el contraste de hipótesis.
Si pudiéramos tomar 95 muestras de cada máquina, la potencia del test, para el
mismo nivel de significación será:

> power.prop.test(n=95,p1=0.80,p2=0.6,sig.level=0.1)

Two-sample comparison of proportions power calculation

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

NOTE: n is number in *each* group

También podría gustarte