Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2019
Índice general
Índice general 1
1. Conceptos básicos 5
1.1. Variables y su clasificación . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Clasificación de las variables según su naturaleza . . . . . . . . 6
1.1.2. Clasificación de las variables según su forma de interrelacionarse. 7
1.2. Nociones de Muestreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1. Criterio para aceptar un muestreo . . . . . . . . . . . . . . . . . 8
1.2.2. Muestreo Aleatorio Simple (MAS) . . . . . . . . . . . . . . . . . 8
1.3. El Formulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1. Pasos previos a la elaboración del formulario . . . . . . . . . . . 11
1.4. Planeación y diseño de un experimento controlado . . . . . . . . . . . . 12
2. Introducción al R y R-Commander 13
2.0.1. Instalación de R . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.0.2. Iniciación de una sesión en R . . . . . . . . . . . . . . . . . . . 14
2.0.3. Instalación de R-Commander . . . . . . . . . . . . . . . . . . . 15
2.0.4. Búsqueda de ayuda . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.0.5. Ejecución de funciones especiales . . . . . . . . . . . . . . . . . 16
2.1. Manejo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.1. Introducción de datos con R-Commander . . . . . . . . . . . . . 16
2.1.2. Importar datos con R-Commander . . . . . . . . . . . . . . . . 17
2.1.3. Recodificación de una variable numérica con R-Commander . . 17
1
ÍNDICE GENERAL 2
3. Estadística Básica 48
3.0.1. Medidas de resumen en R . . . . . . . . . . . . . . . . . . . . . 49
3.1. Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.1. Formalización de la probabilidad . . . . . . . . . . . . . . . . . 56
3.1.2. Probabilidad Condicional . . . . . . . . . . . . . . . . . . . . . . 58
3.1.3. Prueba Tamiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1.4. Teorema de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1.5. Curva ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.2. Variables aleatorias y distribuciones de probabilidad . . . . . . . . . . . 68
ÍNDICE GENERAL 3
4. Inferencia estadística 83
4.1. Distribuciones muestrales . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.1.1. Teorema del límite central . . . . . . . . . . . . . . . . . . . . . 83
4.1.2. Estimación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2. Intervalos de confianza y test de hipótesis . . . . . . . . . . . . . . . . . 90
4.2.1. Intervalo de confianza para la media . . . . . . . . . . . . . . . 90
4.2.2. Intervalo de confianza para una proporción . . . . . . . . . . . . 91
4.2.3. Intervalo de confianza para la varianza . . . . . . . . . . . . . . 92
4.2.4. Intervalo de confianza para el cociente de varianzas . . . . . . . 94
4.2.5. Intervalo de confianza para diferencia de medias . . . . . . . . . 95
4.2.6. Intervalo de confianza para diferencia de medias pareadas . . . . 96
4.2.7. Intervalo de confianza para diferencia de proporciones . . . . . . 97
4.2.8. Test de hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.2.9. Test de hipótesis para diferencia de medias . . . . . . . . . . . . 104
4.2.10. Test de hipótesis para diferencia de medias pareadas . . . . . . 107
4.2.11. Test de bondad de ajuste . . . . . . . . . . . . . . . . . . . . . . 108
4.2.12. Algunas pruebas no paramétricas . . . . . . . . . . . . . . . . . 109
Conceptos básicos
Estadístico: Es una función que depende de los datos obtenidos en una muestra.
5
CAPÍTULO 1. CONCEPTOS BÁSICOS 6
VARIABLE TIPO
Número de clientes por mes
Tipo de quemadura
Número de huecos por kilómetros en una carretera
Edad
Tiempo duración de las llamadas en un Call Center
Distancia de frenado de un vehículo en particular
Tipo de sangre
Género
Tamaño del equipaje (Grande, mediano, pequeño)
Número de personas por vivienda
Estatura
Modelo del automotor
Tiempo de vida de un celular
Estado civil
Estrato socioeconómico
Número de palabras por página en un libro
2. Dependientes: Son aquellas variables en las cuales los cambios son el resultado
del nivel o cantidad de las variables independientes.
Por ejemplo, considerando las variables edad del vehículo y cantidad de emisión
de CO2 , esta última será el efecto y por lo tanto desempeñará el rol de variable
dependiente.
Sabemos que una muestra es una parte de una población, pero no toda muestra es
admisible para el análisis. Para que una muestra sea aceptable es necesario que sea
representativa de la población, que tenga una confiabilidad susceptible de medición y
que responda a un plan práctico y eficaz.
Existen diferentes métodos de muestreo, entre ellos los más comunes son el muestreo
aleatorio simple, muestreo sistemático, muestreo estatificado, muestreo por conglomer-
ado, muestreo estratificado polietápico, etc.
Tamaño de muestra
En caso de ser varios los objetivos principales se determina un tamaño de muestra para
cumplir cada objetivo y entre todos ellos, se elige el mayor.
Error de estimación (es la máxima diferencia en valor absoluto, que se está dis-
puesto a aceptar). A mayor error de estimación menor tamaño de muestra. Lo
notaremos por ε.
n0
n= , Para poblaciones finitas.
1 + nN0
2
Zα/2 S2
n0 = , Para poblaciones infinitas.
ε2
Ejemplo: Una empresa tiene 98 operarios y desea determinar el tamaño de muestra
necesario para estimar el tiempo promedio que requiere un operario para completar una
labor, con un error de estimación máximo de medio minuto y una confiabilidad del 95 %.
Se toma una muestra piloto, con la cual se estima una desviación estándar de 1.2 min-
utos.
CAPÍTULO 1. CONCEPTOS BÁSICOS 10
n0
n= , Para poblaciones finitas.
1 + n0N−1
P (1 − P )Zα/2
2
n0 = , Para poblaciones infinitas.
ε2
Usualmente P = 0.5, puesto que este valor es el que maximiza la varianza de una pro-
porción.
Ejemplo: Se desea realizar una encuesta entre la población juvenil de una determinada
localidad para determinar la proporción de jóvenes que estaría a favor de una nueva
zona de ocio.
P (1 − P )Zα/2
2
0.52 (1.96)2
n0 = = = 384.16 ≈ 384
ε2 0.052
n0 384
n= n0 −1 = 383 = 322.3 ≈ 323
1+ N 1 + 2000
Se debe seleccionar una muestra aleatoria de 323 jóvenes.
CAPÍTULO 1. CONCEPTOS BÁSICOS 11
1.3. El Formulario
Es un instrumento utilizado para recolectar la información requerida en un estudio.
El diseño de la encuesta o el formulario, posee unas características específicas y una
estructura a considerar.
El investigador debe preguntarse, de acuerdo con los objetivos del estudio: ¿Es el formu-
lario el instrumento más efectivo para alcanzar los objetivos?; ¿Hay fuentes secundarias
que me pueden proveer información de interés?
Si se elige el formulario, la elaboración de los ítems debe hacerse de manera clara y sin
ambigüedades; se requiere también codificar el formulario para facilitar la tabulación.
los dos objetivos básicos del formulario son facilitar la recolección de los datos y ayudar
a la organización de la información para utilizarla más adelante.
Decidir acerca de los datos que se recolectarán. La selección de las variables es-
tá fundamentada en el marco teórico del estudio y la experiencia de los investi-
gadores.
Organizar las preguntas de tal manera que tengan una secuencia lógica.
Simplicidad
Longitud
Tiempo de duración
CAPÍTULO 1. CONCEPTOS BÁSICOS 12
Secuencialidad (se recomiendan las preguntas más complejas en la mitad del cues-
tionario)
Instructivo
Preguntas
Preguntas abiertas: Invitan a una respuesta libre. Se emplean para detectar acti-
tudes y sentimientos de los participantes.
Introducción al R y R-Commander
13
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 14
2.0.1. Instalación de R
y el cursor se ubicará en esa línea. La consola de R está lista para el ingreso de comandos
por parte del usuario. El símbolo > que aparece al lado izquierdo señala el punto donde
se ingresan los comandos.
R-Commander es una Interfaz Gráfica de Usuario (GUI en inglés), creada por John
Fox, que permite acceder a muchas capacidades del entorno estadístico R sin que el
usuario tenga que conocer el lenguaje de comandos propio de este entorno.
La instalación de R-Commander se realiza en los siguientes pasos:
Si se tiene una conexión a Internet es posible buscar ayuda usando el siguiente comando:
RSiteSearch("t.test")
o localmente tenemos
help.search("t.test")
help("t.test") o ?t.test
Tenga en cuenta que estas formas de buscar ayuda requiere del conocimiento del nombre
de la función, pero si desconocemos qué función de R nos facilita nuestro procedimien-
to, debemos utilizar el comando ??, por ejemplo, si deseamos buscar ayuda sobre la
Regresión de Cox, en R introducimos la instrucción:
??cox
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 16
> library()
Comando Función
scan() Lectura de datos. Especial para datos sin estructura.
read.table() Lectura de matrices de datos
read.fwf() Lectura de datos en formato fijo.
sink() Desvía la salida de información.
write() Escribe una matriz en un archivo de texto.
xtable() Escribe una matriz en formato LATEX. Es
necesario cargar la librería xtable.
ftable() Permite presentar decentemente un arreglo
multidimensional.
Para introducir los datos en R-Commander elegimos en el menú la opción Datos, luego
Nuevo conjunto de datos. Eso abre el editor de datos que, en primer lugar, nos pedirá
un nombre para la matriz de datos (pondremos Datos1) y a continuación abrirá una
ventana con casillas parecida a una hoja de cálculo de Excel. En esta hoja debemos
introducir los datos con la misma estructura que tienen comúnmente las matrices de
datos, con los individuos en las filas y las variables en columnas.
A manera de ejemplo, vamos a introducir las variables Edad y Presión Sanguínea Sistóli-
ca (PSS): Edad: 20 43 63 26 53 31 58 46 58 70
PSS: 120 128 141 126 134 128 136 132 140 144
Nos vamos a la opción del menu Datos → Importar datos → desde archivo de texto o
portapapeles.
Ahora, si queremos leer datos de tipo Excel, tenemos que utilizar la opción del menu
Datos → Importar datos → desde conjunto de datos Excel, Access o dBase, eligiendo
después el archivo a través de la ventana del explorador.
3. Directrices de recodificación:
17:29="joven"
30:60="adulto"
Por último, se recomienda poner un nombre al nuevo conjunto de datos para evitar
sobreescribir en el original. Lo llamaremos datos3.
Función scan
La función scan() puede usarse para leer datos desde un archivo de texto o interacti-
vamente desde el teclado.
Suponga la base de datos con nombre base1 en la carpeta Curso MIB. La lectura de
estos datos la realizamos así:
a1=scan(file.choose(),what=list("",1,1))
a1
sexo=unlist(a1[1])
edad=unlist(a1[2])
peso=unlist(a1[3])
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 19
Note que la función unlist() permite producir vectores de una estructura de lista.
Función read.table
Cuando debemos manejar un archivo de datos relativamente grande y que contiene vari-
ables tanto numéricas como alfanuméricas podemos utilizar la función read.table()
, la cual nos permite leer archivos externos en ASCII, como los que crea una hoja elec-
trónica. Lo que debemos tener en cuenta con esta función es la estructura de datos, la
cual se conoce como data frame, lo traduciremos como marco de datos.
Si los datos están en formato CSV (delimitados por comas), usamos la siguiente ins-
trucción:
datos=read.table(file.choose(),header=T,sep=";",dec=",")
Si los datos están en blog de notas, extensión .txt, usamos la instrucción:
datos=read.table(file.choose(),header=T,sep=,sep=,dec=","), donde
header=T: es para decirle a R que los nombres de la variable están en la primera fila
de la base de datos.
sep=: indica que las variables están separadas por espacio en blanco.
dec=",": indica que los valores con cifras decimales están separados por comas ",".
file.choose(): indica a R para que abra una ventana y busquemos la base de datos
a cargar.
a1=read.table(file.choose(),header=T,sep=";")
a1
Si queremos llamar a la variable edad de la base de datos podemos utilizar las siguientes
instrucciones:
a1$edad
a1[2]
NOTA: si queremos leer la base de datos en formato .xls, debemos instalar y cargar
la librería readxl y usar la función de lectura de datos read_excel().
R opera con lo que se conoce como estructura de datos. La más simple de tales es-
tructuras es el vector, que es una sola entidad consistente de una colección ordenada
de números o caracteres. Para crear un vector llamado x, que tenga seis elementos,
digamos 3.6, 2.5, 1.2, 0.6, 1.3, y 2.1, utilizamos el comando
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 20
x=c(3.6,2.5,1.2,0.6,1.3,2.1)
Otros ejemplos:
x=c(1,7:19)
length(x)
frutas<-c("pera","manzana","banano","pera","curuba")
2.1.8. Subíndices
daticos=rnorm(50)
daticos
[1] 1.54424873 -0.64448394 -0.85470054 -0.83369159 -0.34076731 -1.33601081
[7] 1.17407874 0.14617907 -0.47634426 -1.12084150 0.30321170 -0.56746721
[13] 0.54022534 -0.91098144 -1.16554573 0.58225394 -0.80016995 0.83495880
[19] -0.20147381 0.57470639 -0.54912672 0.33988339 -0.05734176 -0.43489809
[25] 0.36820726 -0.16590310 2.25252639 0.68756948 -0.79313628 -0.86452138
[31] -1.28005771 -0.90248163 1.02730576 -0.06534854 0.21307202 -2.19740137
[37] -1.12128317 0.63053435 0.62328987 -0.18507329 -1.64746852 -0.41697604
[43] -0.93695834 -0.38080377 0.75571559 -0.31020689 0.22646122 -0.64086500
[49] 1.13310851 -0.51603719
cuartil1=quantile(daticos,probs=0.25)
cuartil3=quantile(daticos,probs=0.75)
categorica=rep(NA,length(daticos))
categorica[daticos<cuartil1]="bajos"
categorica[cuartil1<=daticos & daticos<=cuartil3]="medios"
categorica[daticos>cuartil3]="altos"
categorica
[1] "altos" "medios" "bajos" "bajos" "medios" "bajos" "altos" "medios"
[9] "medios" "bajos" "medios" "medios" "altos" "bajos" "bajos" "altos"
[17] "medios" "altos" "medios" "altos" "medios" "medios" "medios" "medios"
[25] "medios" "medios" "altos" "altos" "medios" "bajos" "bajos" "bajos"
[33] "altos" "medios" "medios" "bajos" "bajos" "altos" "altos" "medios"
[41] "bajos" "medios" "bajos" "medios" "altos" "medios" "medios" "medios"
[49] "altos" "medios"
46 7 *
21 8 -1.5
18 5 -4
33 20 *
30 * 0
60 8 -2.5
19 7 -2
21 4 *
donde los valores faltantes se han denotado por una *. En R le damos el comando
siguiente para su lectura:
y observamos cómo el programa reemplaza los símbolos por el adecuado para manejo
interno.
2.3.1. Operadores
+ :Suma
− : Resta
× : Multiplicación
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 23
/ : División
ˆ: Exponenciación
%/ % : División entera
% % : Operador módulo
Operadores de comparación
< : menor
> : mayor
== : igual
! = : diferente
Operadores lógicos
&:y
|:ó
! : no
all(...):
any(...):
Operadores de control
Operaciones básicas
y<-x+z
y2<-x-z
y3<-2*x+z-3
y4<-1/x
Existen una gran cantidad de funciones que al ser aplicadas a un vector producen como
resultado un escalar. Entre ellas tenemos:
var(): retorna la varianza de todos los elementos del argumento, cuando éste es
un vector, o la matriz de varianzas - covarianzas, si el argumento es una matriz.
Ejemplo:
x<-rexp(20)
x
max(x)
[1] 4.384231
min(x)
[1] 0.01892189
sum(x)
[1] 18.58872
mean(x)
[1] 0.9294361
length(x)
[1] 20
median(x)
[1] 0.5970693
var(x)
[1] 1.102911
sd(x)
[1] 1.050196
quantile(x,probs=0.75)
75%
1.402682
s<-summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.01892 0.18790 0.59710 0.92940 1.40300 4.38400
length(s)
[1] 6
#presentando un componente de s:
s[1]
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 26
Min.
0.01892
Transformando a s en un vector:
c<-as.vector(s)
c
[1] 0.01892 0.18790 0.59710 0.92940 1.40300 4.38400
x <- seq(-3.5,3.5,by=.01)
plot(x,dnorm(x, mean=0, sd=1))
x <- seq(0,20,by=.01)
plot(x,dchisq(x, df=5))
si se quiere encontrar P r(X > 4, 5) de una variable normal con media 5 y desviación 2,
También se puede crear la tabla de la distribución normal estándar con las instrucciones,
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 29
zc <- seq(0,3.5,.1)
zf <- seq(0,.9,.1)
z <- matrix(NA,nrow=length(zc),ncol=length(zf),dimnames = list(zc,zf))
for(i in 1:length(zc)){
for(j in 1:length(zf)){
zt=zc[i]+zf[j]
z[i,j]=pnorm(zt)}
}
z
2.4.1. Función if
x = -2.8
y = NA
{if(x>=0) y=x
else y=-x}
y
aunque R tiene la función abs() que calcula sin problema este valor.
x = 5
y = 0
n = 10
for(i in 1:n){
y[i] = (x+i-1)^i}
y
[1] 5 36 343 4096 59049 1000000
[7] 19487171 429981696 10604499373289254654976
sum(y)
[1] 300309686745
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 30
x = c(1,0,0,1,0,1,0)
y = 0
for(i in 1:length(x)){
if (x[i]==1) y[i] = "Si" else y[i] = "No"}
y
[1] "Si" "No" "No" "Si" "No" "Si" "No"
Por ejemplo si se desea calcular la raíz cuadrada de un número siempre y cuando este
sea mayor que 0,
x = 3
sqrt(ifelse(x>=0, x, NA))
[1] 1.732051
x = -5
sqrt(ifelse(x>=0, x, NA))
[1] NA
{
x2 si 0<x<3
Si, por ejemplo, se tiene la función, f (x) =
x − 1 si x≥3
podemos observar algunos de sus valores mediante la función ifelse,
x = seq(0,6,by=.01)
y = ifelse((x<3),x^2,x-1)
plot(x,y) # para graficarlo
Otro ejemplo consiste generar 100 observaciones de una distribución normal estándar
y determinar cuantas están dentro de dos desviaciones estándar de la muestra,
x=rnorm(100)
media=mean(x)
desv.est=sd(x)
desv=abs(x-media)
cuenta=ifelse(desv<(2*desv.est),1,0)
cuenta
[1] 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
[34] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
[67] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 31
2.4.4. Objetos en R
Función append
Por ejemplo,
x = c(1,2,3)
append(x, c(4,5,6), after=length(x))
[1] 1 2 3 4 5 6
as.matrix(x)
is.matrix(x)
Ejemplo:
Función list
Para llamar un elemento de x escribimos x$a o x$b y Enter. Con la función unlist(x)
unimos todos los elementos de la lista x.
Función data.frame
Estas funciones crean o manipulan data frames, una estructura como la matricial cuyas
columnas pueden ser de diferentes tipos (numéricos y caracteres).
Por ejemplo,
x = data.frame(a=1:6,b=c("A","B","C"))
x
a b
1 1 A
2 2 B
3 3 C
4 4 A
5 5 B
6 6 C
Función rm
function(arglist) expr
Por ejemplo, si se quiere crear una función que calcule el coeficiente de kurtosis, lo
podemos hacer como,
y = c(2,3,1,3,4)
kurtosis=function(x){
mean((x-mean(x))^4)/(sd(x))^4-3
}
kurtosis(y)
media.geometrica<-function(x) prod(x)^(1/length(x))
media.geometrica(y)
p.poisson = function(t,lambda){
if(t>=0 & lambda>0){
seq = seq(0,t)
Pr.i = exp(-lambda)*lambda^seq/factorial(seq)
sum(Pr.i)
}
else cat("t debe ser mayor que 0","\n")
}
p.poisson(2,.5)
La siguiente función que produce cuatro gráficas: un histograma, una caja de Tukey,
una estimación de la densidad y un gráfico q-q (cuantil vs. cuantil), y le adiciona una
línea que pasa por el primer y tercer cuartil.
forma.aed<-function(x){
par(mfrow=c(2,2))
hist(x)
boxplot(x)
IQR<-summary(x)[5]-summary(x)[2]
plot(density(x,width=2*IQR), xlab="x",ylab="",type="l")
qqnorm(x)
qqline(x)
}
x=rnorm(100)
forma.aed(x)
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 34
Ahora, la siguiente función produce un gráfico dentro de otro. En este caso tenemos
un histograma con su respectiva función de densidad, y un boxplot dentro del mismo
gráfico.
dos.en.uno<-function(x){
hist(x, col="light blue", probability="TRUE", main="", xlab="x",
ylab="Densidad")
lines(density(x,na.rm=T), col="red", lwd=3)
abline(v=mean(x,na.rm=T),col="yellow",lwd=3)
abline(v=mean(x,na.rm=T)-sd(x,na.rm=T),col="yellow",lwd=3,lty=2)
abline(v=mean(x,na.rm=T)+sd(x,na.rm=T),col="yellow",lwd=3,lty=2)
x=rexp(1000)
dos.en.uno(x)
2.6. Matrices
A%*%B
Productos cruzados
El producto cruzado AT B se puede calcular con la instrucción crossprod(A,B)
Solución de ecuaciones Ax = y
La solución de ecuaciones de la forma Ax+y, donde A es la matriz de coeficientes, se
consigue como
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 35
A=cbind(c(1,2,3),c(2,4,5),c(3,5,2))
y=c(-1,-1,3.5)
x=qr.solve(A,y,tol = 1e-10)
Concatenando matrices
cbind(): Esta función une dos matrices por filas (o sea, una al lado de la otra)
A=matrix(c(1,3,5,7),ncol=2)
A
[,1] [,2]
[1,] 1 5
[2,] 3 7
B=matrix(c(0,3,2,1,4,7),nrow=2)
B
[,1] [,2] [,3]
[1,] 0 2 4
[2,] 3 1 7
C=cbind(A,B)
C
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 0 2 4
[2,] 3 7 3 1 7
rbind(): Junta dos matrices por columna (una matriz sobre la otra)
D=rbind(A,t(B))
D
[,1] [,2]
[1,] 1 5
[2,] 3 7
[3,] 0 3
[4,] 2 1
[5,] 4 7
A=matrix(c(1,2,3,2,4,5,3,5,2),ncol=3)
eigen(A)
$values
[1] 9.51206040 0.04117509 -2.55323549
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 36
$vectors
[,1] [,2] [,3]
[1,] -0.3789216 0.83776349 -0.3931549
[2,] -0.6934136 -0.53837038 -0.4788893
[3,] -0.6128589 0.09115742 0.7849168
diag(c(1,2,3))
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 2 0
[3,] 0 0 3
A=matrix(c(1,2,3,2,4,5,3,5,2),ncol=3)
A
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 2 4 5
[3,] 3 5 2
diag(A)
[1] 1 4 2
Ordenando un vector
Con la función sort() podemos ordenar un vector. Por ejemplo,
sort(c(-.25,-1.3,0,0.5,1.5,4.3))
[1] -1.30 -0.25 0.00 0.50 1.50 4.30
Función apply
Por ejemplo si se quiere calcular las medias de las columnas de una matriz,
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 37
x = cbind(round(c(rnorm(5,10,2)),1),round(c(runif(5,10,20)),1),
c(rpois(5,3)))
x
[,1] [,2] [,3]
[1,] 7.7 19.0 2
[2,] 10.4 12.9 1
[3,] 11.8 11.9 4
[4,] 10.4 12.4 5
[5,] 8.4 14.2 1
apply(x,MARGIN=2,mean)
[1] 9.74 14.08 2.60
apply(x,MARGIN=1,mean)
[1] 9.566667 8.100000 9.233333 9.266667 7.866667
Otro ejemplo usando comandos gráficos, consiste en dibujar histogramas para cada una
de las columnas de la matriz,
x = cbind(c(rnorm(5000,10,2)),c(runif(5000,10,20)),c(rpois(5000,3)))
tail(x)
[,1] [,2] [,3]
[4995,] 10.346965 14.10746 0
[4996,] 9.804242 11.98455 5
[4997,] 13.188636 10.22597 2
[4998,] 6.644832 19.30358 2
[4999,] 13.205479 13.38812 4
[5000,] 6.295047 18.52519 3
par(mfrow=c(1,3))
apply(x,MARGIN=2,hist)
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 38
500
1000
800
400
800
600
300
Frequency
Frequency
Frequency
600
400
200
400
200
100
200
0
0
5 10 15 10 12 14 16 18 20 0 2 4 6 8 10 12
Existen otras funciones que simplifican los cálculos y operan de manera iterada sobre
columnas o filas de una matríz, para mayor información vea Correa, J. y Barrera C.
(2010).
2.7. Gráficos
Algunas funciones gráficas que podemos usar en R son:
Función plot(x,y)
plot(x,y,type="l",main="Título",xlab=.Eje x",ylab=.Eje y",xlim=c(-3,10),
ylim=c(0,100))
donde type indica el tipo de gráfico: l si es de linea, p si es de puntos, b si es de puntos
y líneas, entre otros.
Ejemplo:
x = seq(0,10,by=.1)
y = df(x, 20, 10)
plot(x,y,type="l",main="Densidad F",xlab="Valores X",ylab="Probabilidad")
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 39
Densidad F
0.8
0.6
Probabilidad
0.4
0.2
0.0
0 2 4 6 8 10
Valores X
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 40
Función lines()
la función lines(x,y,type="l") permite agregar gráficos a uno ya creado. Por ejemplo,
x = seq(-3,3,.1)
y = dnorm(x)
plot(x,y,type="p",pch=20,col="red")
lines(x,y)
0.4
0.4
0.3
0.3
0.2
0.2
y
y
0.1
0.1
0.0
0.0
−3 −1 1 2 3 −3 −1 1 2 3
x x
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 41
Función abline(a,b)
Permite agregar líneas según las especificaciones. Por ejemplo,
plot(x,y,type="p",pch=20)
abline(h=.2,col=2) # linea horizontal en y = 0.2
abline(v=0,col=3) # linea vertical en x = 0
abline(.1,.01) # linea con pendiente 0.01 e intercepto y = 0.1
0.4
0.4
0.3
0.3
0.2
0.2
y
y
0.1
0.1
0.0
0.0
−3 −1 1 2 3 −3 −1 1 2 3
x x
Función par()
Puede ser usado para especificar varios parámetros gráficos, entre ellos para realizar
varios gráficos por página. Por ejemplo, las instrucciones siguientes realizan dos gráficos
en una “fila” y le cambia algunos colores al gráfico.
0.4 1.0
0.8
0.3
dnorm(x)
pnorm(x)
0.6
0.2
0.4
0.1 0.2
0.0 0.0
0 20 40 60 0 20 40 60
Index Index
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 42
Función matplot()
Permite graficar más de un conjunto de datos con un eje x en común. Por ejemplo,
y = cbind(dnorm(x),dnorm(x+.5),dnorm(x+1))
matplot(x,y,type="l",lwd=2)
0.4
0.3
0.2
y
0.1
0.0
−3 −2 −1 0 1 2 3
Función hist()
Realiza un histograma a un vector de datos. Por ejemplo, si se toma el conjunto de
datos cars de R,
data(cars)
head(cars) # muestra los primero 6 elementos de la base de datos
par(mfrow=c(1,2))
hist(cars$speed)
hist(cars$dist)
15
15
Frequency
Frequency
10 10
5 5
0 0
0 5 10 20 0 40 80 120
cars$speed cars$dist
Histogram of cars$speed
35 34
30
25
Frequency 20
15
10 9
7
0 5 10 15 20 25 30
cars$speed
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 44
Función boxplot()
Permite realizar un gráfico de cajas sobre un conjunto de datos. Por ejemplo, usemos la
base de datos Orange y construyamos dos boxplot, uno para la variable circumference
y otro para la misma variable pero teniendo en cuenta un factor, en este caso la variable
Tree, respectivamente.
data(Orange)
attach(Orange) # me permite acceder a las variables de la base de datos
boxplot(circumference)
boxplot(circumference~Tree)
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 45
200
150
100
50
3 1 5 2 4
Función stem()
Realiza el gráfico de tallos y hojas de Tukey. Por ejemplo,
stem(rnorm(100,mean=10,sd=2))
25
Sample Quantiles
20
15
10
−2 −1 0 1 2
Theoretical Quantiles
Función pairs
Proporcionan un método simple de presentar las relaciones entre pares de variables.
Por ejemplo,
pairs(cars)
0 20 40 60 80 100
25
20
speed
15
10
5
100
dist
60
20
0
5 10 15 20 25
CAPÍTULO 2. INTRODUCCIÓN AL R Y R-COMMANDER 47
200
150
100
50
Capítulo 3
Estadística Básica
En R podemos generar todo tipo de estadísticas básicas, ya sea con el uso de paquetes
o con la creación de nuestras propias funciones.
Definiremos algunos conceptos básicos usados en esta sección.
48
CAPÍTULO 3. ESTADÍSTICA BÁSICA 49
x(n+1)/2 si n es impar,
Me =
x(n/2) +x(n/2)+1
2
si n es par.
Cuantiles: los cuantiles son medidas de posición que dividen la serie de datos
ordenados en partes porcentualmente iguales. Los más comunes son los cuartiles,
deciles y percentiles.
mean(x, ...)
mean.default(x, trim = 0, na.rm = FALSE)
weighted.mean(x, w, na.rm=FALSE)
Ejemplo
cor(), var(), sd() y cov() La función var, calcula la matriz de varianzas y covarianzas
de una matriz de datos, sd calcula la desviación estándar de un conjunto de datos, cor
y cov calculan respectivamente, la correlación y la covarianza entre dos vectores ‘x’ y
‘y’
Ejemplos:
x<-rnorm(10)
y<-rnorm(10)
y
[1] -0.9546754 0.3951823 1.0079476 0.1308736 0.6154087
[6] 0.8264678 -0.4329034 0.3916516 -0.8908572 -0.8976308
var(x)
[1] 0.5058532
sd(x)
[1] 0.7526941
var(x,y)
[1] 0.02954414
cov(x,y)
[1] 0.02954414
cor(x,y)
[1] 0.05518748
var(x)
[,1] [,2]
[1,] 0.49486624 0.07806947
[2,] 0.07806947 1.60101998
cov(x)
[,1] [,2]
[1,] 0.49486624 0.07806947
[2,] 0.07806947 1.60101998
cor(x)
[,1] [,2]
[1,] 1.00000000 0.08770795
[2,] 0.08770795 1.00000000
cov(x,y)
[,1]
[1,] 0.1037037
[2,] 0.4147815
median(x, na.rm=FALSE)
Ejemplo:
library(mass)
x<-matrix(mvrnorm(10,mu=c(0,0),Sigma=matrix(c(1,0,0,1),ncol=2)),ncol=2)
apply(x,2,median)
apply(x,1,median)
[1] 0.02588941 0.82606284 0.64924506 0.20976049 -0.20083693 0.648725
[7] -0.68260652 -1.37909104 -0.20061389 -1.09182938
library(mass)
x<-matrix(mvrnorm(10,mu=c(0,0),Sigma=matrix(c(1,0,0,1),ncol=2)),ncol=2)
min(x)
[1] -1.744549
max(x)
[1] 2.315261
apply(x,1,min)
[1] 0.01812461 -0.66313500 -0.92103077 -0.97599197 -0.55824010
[8] 0.52407043 -1.62980628 -1.74454949 -0.32201918 -1.40875243
apply(x,2,max)
[1] 0.7733799 2.3152607
quantile(x,probs=1:10/10)
10% 20% 30% 40% 50% 60%
-1.28010254 -0.89459997 -0.57376772 -0.27029481 -0.02124716 0.18551332
70% 80% 90% 100%
0.45891799 0.76740515 1.20626043 2.82691475
range() Devuelve un vector con los valores mínimo y máximo de todos los argumentos
dados.
Ejemplos:
CAPÍTULO 3. ESTADÍSTICA BÁSICA 53
summary() con esto obtenemos varias estadísticas de resumen sobre una variable,
como lo son los cuartiles, etc.
summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.6718 -0.3072 0.6527 0.4333 1.2390 1.2540
Si se tiene un conjunto de datos de una variable continua y se desea obtener las medidas
resumen más importante como la media, cuartiles, etc. podemos usar la instrucción
summary(). Por ejemplo si se quiere hallar las medidas resumen de la base de R con
el nombre USArrests correspondiente a las estadísticas, de los arrestos por homicidio,
agresión y violación por cada 100,000 residentes, en cada uno de los 50 estados federales
de los EE.UU. en 1973. También de el porcentaje de la población que vive en áreas
urbanas.
USArrests
summary(USArrests)
Murder Assault UrbanPop Rape
Min. : 0.800 Min. : 45.0 Min. :32.00 Min. : 7.30
1st Qu.: 4.075 1st Qu.:109.0 1st Qu.:54.50 1st Qu.:15.07
Median : 7.250 Median :159.0 Median :66.00 Median :20.10
Mean : 7.788 Mean :170.8 Mean :65.54 Mean :21.23
3rd Qu.:11.250 3rd Qu.:249.0 3rd Qu.:77.75 3rd Qu.:26.18
Max. :17.400 Max. :337.0 Max. :91.00 Max. :46.00
otra medidas resumen las podemos obtener con las funciones var(), sd(), quantile(),
range(), rank() y cor().
var(USArrests)
Murder Assault UrbanPop Rape
Murder 18.970465 291.0624 4.386204 22.99141
Assault 291.062367 6945.1657 312.275102 519.26906
UrbanPop 4.386204 312.2751 209.518776 55.76808
Rape 22.991412 519.2691 55.768082 87.72916
sd(USArrests)
CAPÍTULO 3. ESTADÍSTICA BÁSICA 54
quantile(USArrests$Murder,probs=seq(.1,.9,.1))
10% 20% 30% 40% 50% 60% 70% 80% 90%
2.56 3.38 4.75 6.00 7.25 8.62 10.12 12.12 13.32
cor(USArrests)
Murder Assault UrbanPop Rape
Murder 1.00000000 0.8018733 0.06957262 0.5635788
Assault 0.80187331 1.0000000 0.25887170 0.6652412
UrbanPop 0.06957262 0.2588717 1.00000000 0.4113412
Rape 0.56357883 0.6652412 0.41134124 1.0000000
estas asociaciones lineales las podemos ver con la ayuda de la función pairs()
pairs(USArrests)
50 150 250 10 20 30 40
15
10
Murder
5
300
Assault
150
50
90
70
UrbanPop
50
30
30
Rape
10
5 10 15 30 50 70 90
par(mfrow=c(2,2))
hist(USArrests$Murder)
hist(USArrests$Assault)
hist(USArrests$UrbanPop)
hist(USArrests$Rape)
CAPÍTULO 3. ESTADÍSTICA BÁSICA 55
12
12
Frequency
Frequency
8
8
4
4
0
0
0 5 10 15 0 50 150 250 350
USArrests$Murder USArrests$Assault
12
12
Frequency
Frequency
8
8
4
4
0
0
30 50 70 90 10 20 30 40 50
USArrests$UrbanPop USArrests$Rape
3.1. Probabilidad
La probabilidad mide el “grado de creencia” de una afirmación hecha con base en la
información recolectada. También mide la posibilidad de ocurrencia de uno o más re-
sultados de un experimento aleatorio.
Experimento aleatorio: Es aquel que proporciona diferentes resultados, aún cuando
se repite bajo las mismas condiciones.
Experimento determinístico: Es un proceso que no está sujeto al azar.
Espacio muestral (Ω): Conjunto de todos los posibles resultados de un experimento
aleatorio.
Evento o suceso: Cualquier subconjunto de resultados de un espacio muestral (simples
o compuestos). Los eventos compuestos están conformados por más de un resultado.
A continuación mostramos algunos ejemplos:
Ω = {E, N E, N N E, N N N E, . . .}.
CAPÍTULO 3. ESTADÍSTICA BÁSICA 56
Ω = [0, 1).
p(A) ≥ 0
P (Ω) = 1
0 ≤ p(A) ≤ 1
Si P (ϕ) = 0
Figura 3.2: Representación de dos eventos cuando uno está contenido en el otro.
Regla aditiva:
P (A ∪ B) = P (A) + P (B) − P (A ∩ B).
Para el caso de los tres eventos A, B y C, se tiene,
Tabla 3.1: Frecuencia de consumo de cocaína por género entre adultos adictos.
Frecuencia de uso de cocaína Hombres Mujeres
en el periodo de vida (M ) (F ) Total
1 - 9 veces (A) 32 7 39
20 - 99 veces (B) 18 20 38
100 o más veces (C) 25 9 34
Total 75 36 111
Entonces,
P (M ∪ C) = 0.6757 + 0.3063 − 0.2252 = 0.7568
Solución!
Definamos los siguientes eventos:
Li : la i-ésima persona seleccionada está lesionada; i = 1, 2
Ni : la i-ésima persona seleccionada no está lesionada; i = 1, 2
4 5
P (L1 ) = , P (N1 ) =
9 9
Para calcular la probabilidad de L2 , se necesita saber el estado de la primera persona
seleccionada.
Si la primera persona seleccionada está lesionada, entonces
3
P (L2 ) =
8
Si la primera persona seleccionada no está lesionada, entonces
4
P (L2 ) =
8
La probabilidad de L2 depende del estado de la primera persona seleccionada.
Definición: Sean A y B eventos de un espacio muestral Ω. La probabilidad condicional
de “A dado B”, la cual denotamos P (A | B), está dada por:
P (A ∩ B)
P (A | B) = , P (B) > 0, Así mismo
P (B)
P (A ∩ B)
P (B | A) = , P (A) > 0
P (A)
Tenemos que:
P (A ∩ B) = P (A)P (B | A) = P (B)P (A | B)
“Regla multiplicativa”
Se selecciona una persona al azar de estas 100. Calcule las siguientes probabilidades.
CAPÍTULO 3. ESTADÍSTICA BÁSICA 60
H M
Fuma Fuma
Si No Si No
Enfermedad Si 40 3 43 20 2 22
Pulmonar No 5 12 17 10 8 18
45 15 60 30 10 40
Solución!
i) p(F ∩ H) = 100
45
,
p(F ∩ M ) = 100
30
43+22 65
ii) p(E) = 100
= 100
iii) p(E | M ) = 22
40
iv) p(E | M ∩ N ) = 2
10
v)
p(E ∩ (N ∪ M )) p((E ∩ N ) ∪ (E ∩ M ))
p(E | M ∪ N ) = =
p(N ∪ M ) p(N ∪ M )
p(E ∩ N ) + p(E ∩ M ) − p(E ∩ N ∩ M ) 5
100
+ 22
100
− 2
100
= =
p(N ) + p(M ) − p(N ∩ M ) 25
100
+ 40
100
− 10
100
25
100 25
= 55 =
100
55
P (A | B) = P (A)
P (B | A) = P (B)
P (B ∩ A) = P (A)P (B)
Un falso positivo resulta cuando una prueba indica que el estado es positivo,
cuando en realidad es negativo.
Un falso negativo resulta cuando una prueba indica que un estado es negativo,
cuando en realidad es positivo.
En resumen, se debe responder a las siguientes preguntas para evaluar la utilidad de los
resultados de la prueba y el estado de los síntomas para detectar si el individuo tiene o
no alguna enfermedad:
Enfermedad
Resultado de
la prueba Presente (D) Ausente (D′ ) Total
Positivo (T ) a b a+b
′
Negativo (T ) c d c+d
Total a+c b+d n
45
S= × 100 = 30 %, es decir, de cada 100 enfermos con diabetes, la prueba de
150
glucosa detecta 30.
285
E= × 100 = 95 %, es decir, de cada 100 personas sin diabetes, la prueba de
300
glucosa es negativa en 95 de ellas.
45
V P+ = × 100 = 75 %, esto es, de cada 100 personas que presentan glucosuria
60
positiva, 75 tiene diabetes.
285
V P− = × 100 = 73 %, es decir, de cada 100 personas con resultado negativo
390
en la prueba de glucosuria, 73 de ellas realmente son sanos.
CAPÍTULO 3. ESTADÍSTICA BÁSICA 64
Definimos el riesgo de enfermarse, dado que se está expuesto al factor de riesgo como
a
R1 =
a+b
Definimos el riesgo de enfermarse, dado que no se está expuesto al factor de riesgo como
c
R2 =
c+d
El riesgo relativo de enfermarse, que compara a los expuestos con los no expuestos al
factor de riesgo está dado por:
R1
λ=
R2
Cuando el estudio es de casos y controles la medida de magnitud del efecto usada se
denomina Razón de Odds.
El riesgo relativo, que compara a los expuestos con los no expuestos al factor de riesgo
es:
145/365
λ= = 12.91
10/325
Las personas que consumen alcohol tienen aproximadamente 13 veces más riesgo de
padecer de cirrosis que los que no consumen alcohol.
P (B | A1 )P (A1 )
P (A1 | B) =
P (B | A1 )P (A1 ) + P (B | A2 )P (A2 )
(3/5)(1/2)
= = 3/5 = 0.6
(1/2)
La curva ROC (receiver operating characteristic) es usada como una herramienta para
comparar dos o más test diagnósticos. La representación de dicha curva es sensibilidad
contra (1 − especif icidad), es decir, en el eje X representamos (1 − especif icidad) de
la prueba, y en el eje Y la sensibilidad. De esta forma, un test perfecto se produce
cuando la curva va hacia arriba por el eje vertical hasta una sensibilidad de 1, y luego
se mantiene a esa altura paralelo al eje horizontal hasta alcanzar el punto (1, 1) en el
gráfico. Un test es mejor que otro, entre más se aproxime al test perfecto. Cuando la
curva es una recta diagonal en el plano, decimos que el test no discrimina entre una
decisión correcta cuando se tiene la enfermedad, o una decisión errada cuando no se
tiene la enfermedad.
Ejemplo: retomando el ejemplo de la prueba de diabetes, tenemos.
CAPÍTULO 3. ESTADÍSTICA BÁSICA 67
library(Epi)
x=c(rep(1,times=60),rep(0,times=390))
y=c(rep(1,times=45),rep(0,times=15),rep(1,times=105),rep(0,times=285))
ROC( form = y ~ x , plot="ROC" )
1.0
0.8
0.6
Sensitivity
0.4
.eta = 0.269
X :Ω −→ R
ω −→ X(ω) = x
i.) P (x) ≥ 0, ∀x ∈ A
∑
ii.) x P (x) = 1
Definición: (f.d.a o c.d.f ) Sea X una v.a discreta con distribución de probabilidad
P (x). La Distribución acumulada de X, la cual denotaremos por F (x), está dada por:
∑
F (x) := P (X ≤ x) = P (x′ ), ∀x ∈ R.
x′ ≤x
1 ) 0 ≤ F (x) ≤ 1, ∀x ∈ R
2 ) P (X > x) = 1 − F (x)
4 ) Si A ⊆ Z =⇒ P (n ≤ X ≤ m) = F (m) − F (n − 1).
Definición: Sea X una v.a continua. Una función f definida en Ω y de valor real, será
llamada Función de densidad de probabilidad de la v.a X si satisface las siguientes
propiedades:
i.) f (x) ≥ 0, ∀x ∈ R
∫∞
ii.) −∞ f (x)dx = 1 =⇒ Área bajo f es 1
∫b
iii.) Si a, b ∈ R, a ≤ b =⇒ P (a ≤ X ≤ b) = a
f (x)dx.
Así, P (X = a) = 0.
Propiedades:
1 ) 0 ≤ F (x) ≤ 1, ∀x ∈ R
∫x
d
dx
F (x) = f (x), ∀x donde exista F ′ (x). Así, F (x) = −∞
f (t)dt; f es la p.d.f
de x.
par(mfrow=c(2,2))
# Función de probabilidad de una Binomial
plot(0:10,dbinom(0:10,10,0.35),type="h",xlab="x",ylab="P(X=x)",
xlim=c(-1,11),main="Función de probabilidad de X~Bin(10,0.35)")
0.8
P(X=x)
F(x)
0.10
0.4
0.00
0.0
0 2 4 6 8 10 0 2 4 6 8 10
x x
0.8
F(x)
f(x)
0.06
0.4
0.00
0.0
10 15 20 25 30 35 40 10 15 20 25 30 35 40
x x
1. E[a] = a, ∀a ∈ R
Si g(X) = (X − µ)2 y a = 1,
E[ag(X)] = E[(X − µ)2 ] = V [X] se conoce como la varianza de X y se denota
2
por V [X] o σX .
2
σX = E[(X − µ)2 ] = E[X 2 ] − µ2
La desviación estándar de X se denota por σX y está dada por:
√
σX = V [X]
Ensayo Bernoulli
Un ensayo Bernoulli es un experimento aleatorio con dos posibles resultados: uno de-
notado por “éxito”, y el otro por “fracaso”. la probabilidad de éxito se denotará por p y
la de fracaso por q = 1 − p.
Ejemplo: Estado de un paciente (sano enfermo), género, encuesta de opinión, etc.
Suponga que un experimento Bernoulli es repetido, bajo las mismas condiciones, n
veces y que cada repetición es independiente de las demás. Si la probabilidad de éxito
permanece constante de repetición en repetición del experimento, y definimos la v.a
X : número de éxitos en las n repeticiones del experimento, el experimento se conoce
como ensayo Binomial.
La distribución de probabilidad de la v.a X viene dada por:
( )
n x
P (x) = p (1 − p)n−x ; x = 0, 1, 2, . . . , n.
x
x=0:10
y=dbinom(0:10,10,0.08)
a=data.frame("Prob"=y,row.names=x)
# probabilidad de exactamente 2
dbinom(2,10,0.08)
# probabilidad de máximo 1
pbinom(1, size=10, prob=.08, lower.tail = TRUE)
Distribución de probabilidad de X
0.4
0.3
Probabilidad
0.2
0.1
0.0
0 2 4 6 8 10
Número de individuos con la enfermedad
Ahora bien, la v.a X que cuenta el número de repeticiones del experimento Bernoulli,
hasta encontrar el primero éxito (manteniendo las mismas condiciones de un experi-
mento Binomial), se conoce como Geométrica, y su distribución de probabilidad es:
Distribución Hipergeométrica
Suponga que se tiene una población de N elementos de los cuales, m son de interés. La
distribución hipergeométrica mide la probabilidad de obtener x elementos de interés en
una muestra sin reemplazo de n elementos de la población.
Considere la v.a X, que cuenta el número de personas con dicha condición en la mues-
tra. Esta variable sigue una distribución Hipergeométrica con parámetros N = 20 (total
de pacientes), n = 8 (total de la muestra) y m = 5 (total de pacientes de interés).
dhyper(2,8,20-8,5)
[1] 0.3973168
Distribución Poisson
Los experimentos que producen valores numéricos de una v.a X, que representa el
número de resultados que ocurren durante un intervalo dado de tiempo o en una región
específica, se llaman experimento Poisson.
e−λ λx
P (x; λ) = x = 0, 1, 2, . . .
x!
CAPÍTULO 3. ESTADÍSTICA BÁSICA 75
El modelo Poisson es el adecuado para solucionar este problema. Para ello, debemos
calcular el valor de λ. Teniendo en cuenta la propiedad 2, anteriormente descrita, ten-
emos que λ = 0.2.
e−0.2 0.22
P (X = 2) = = 0.01637
2!
x=0:10
y=dpois(0:10,0.2)
data.frame("Prob"=y,row.names=x)
Prob
0 8.187308e-01
1 1.637462e-01
2 1.637462e-02
3 1.091641e-03
4 5.458205e-05
5 2.183282e-06
6 7.277607e-08
7 2.079316e-09
8 5.198290e-11
9 1.155176e-12
10 2.310351e-14
0.8
0.6
Probabilidad
0.4
0.2
0.0
0 2 4 6 8 10
Errores en la secuencia
ppois(1,0.2)
par(mfrow=c(2,2))
plot(0:10,dpois(0:10,0.5),xlab="",ylab="Prob",type="h",
main=expression(paste(lambda,"=0.5")))
plot(0:10,dpois(0:10,1),xlab="",ylab="Prob",type="h",
main=expression(paste(lambda,"=1")))
plot(0:10,dpois(0:10,2),xlab="",ylab="Prob",type="h",
main=expression(paste(lambda,"=2")))
plot(0:10,dpois(0:10,5),xlab="",ylab="Prob",type="h",
main=expression(paste(lambda,"=5")))
CAPÍTULO 3. ESTADÍSTICA BÁSICA 77
λ=0.5 λ=1
0.6
0.4
Prob
Prob
0.2
0.2
0.0
0.0
0 2 4 6 8 10 0 2 4 6 8 10
λ=2 λ=5
0.00 0.10 0.20
0.10
Prob
Prob
0.00
0 2 4 6 8 10 0 2 4 6 8 10
Distribución normal
Una de las distribuciones más comunes es la distribución normal. Esta distribución jue-
ga un papel clave en el desarrollo de la inferencia estadística. Muchos estudios pueden
ser aproximados usando esta distribución: variables físicas, datos meteorológicos, medi-
ciones de organismos vivos, errores de instrumentación o de diversos procesos, etc.
Definición: Sea X una v.a continua. Diremos que X tiene una distribución Normal, si
su función de densidad de probabilidad (f.d.p) es de la forma:
1 1 (x−µ)
2
f (x) = √ e− 2 σ2 ; x ∈ R, µ ∈ R, σ > 0.
σ 2π
Escribimos, X ∼ N (µ, σ 2 ). Esta distribución es simétrica respecto a µ, y su valor es-
perado y la varianza, son respectivamente, µ y σ 2 .
1
f (z) = √ e− 2 z ;
1 2
z ∈ R.
2π
x<-seq(-6,6,length=100)
plot(x,dnorm(x,0,1),xlab="z", ylab="f(z)",type="l",
main="f.d.p de una normal estándar")
CAPÍTULO 3. ESTADÍSTICA BÁSICA 78
0.4
0.3
0.2
f(z)
0.1
0.0
−6 −4 −2 0 2 4 6
z
par(mfrow=c(3,2))
x<-seq(-6,6,length=100)
plot(x,dnorm(x,0,1),xlab="x", ylab="f(x)", type="l",
main="f.d.p de una N(0,1)")
plot(x,pnorm(x,0,1),xlab="x", ylab="F(x)", type="l",
main="F(x) de una N(0,1)")
plot(x,dnorm(x,0,2),xlab="x",ylab="f(x)", type="l",
main="f.d.p de una N(0,2)")
plot(x,pnorm(x,0,2),xlab="x", ylab="F(x)", type="l",
main="F(x) de una N(0,2)")
plot(x,dnorm(x,0,5),xlab="x",ylab="f(x)", type="l",
main="f.d.p de una N(0,5)")
plot(x,pnorm(x,0,5),xlab="x", ylab="F(x)", type="l",
main="F(x) de una N(0,5)")
CAPÍTULO 3. ESTADÍSTICA BÁSICA 79
0.4
0.6
F(x)
f(x)
0.2
0.0
0.0
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
x x
0.6
F(x)
f(x)
0.00
0.0
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
x x
0.6
F(x)
f(x)
0.2
0.04
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
x x
Distribución chi-cuadrado
(n − 1)s2
∼ χ2υ
σ2
donde υ = (n − 1).
par(mfrow=c(1,1))
x <- seq(0,20,by=.1)
plot(x,dchisq(x, df=2),type="l",ylab="",main="Distribución Chi-cuadrado")
lines(x,dchisq(x,df=4),lty=2)
lines(x,dchisq(x,df=9),lty=3)
legend(10,0.3,c("df=2","df=4","df=9"),bty="n",lty=c(1,2,3),cex=.8)
CAPÍTULO 3. ESTADÍSTICA BÁSICA 80
Distribución Chi−cuadrado
0.5
0.4
0.3
df=2
df=4
df=9
0.2
0.1
0.0
0 5 10 15 20
x
Distribución t-student
Teorema: sea Z una variable aleatoria normal estándar, y V una variable aleatoria chi-
cuadrada con υ grados de libertad. Si Z y V son independientes, entonces, la distribución
de la variable aleatoria T , donde
Z
T =√
V /υ
está dada por la función de densidad
( )−(υ+1)/2
Γ[(υ + 1)/2] t2
h(t) = √ 1+ ; − ∞ < t < ∞.
Γ(υ/2) πυ υ
Esta distribución se conoce como distribución t con υ grados de libertad.
x <- seq(-8,8,by=.1)
par(mfrow=c(2,2))
plot(x,dnorm(x),type="l",ylab="",main="df=2")
lines(x,dt(x,df=2),lty=2)
plot(x,dnorm(x),type="l",ylab="",main="df=5")
lines(x,dt(x,df=5),lty=2)
plot(x,dnorm(x),type="l",ylab="",main="df=10")
lines(x,dt(x,df=10),lty=2)
plot(x,dnorm(x),type="l",ylab="",main="df=20")
lines(x,dt(x,df=20),lty=2)
df=2 df=5
0.4
0.4
0.2
0.2
0.0
0.0
−5 0 5 −5 0 5
x x
df=10 df=20
0.4
0.4
0.2
0.2
0.0
0.0
−5 0 5 −5 0 5
x x
Distribución F de Fisher
x <- seq(0,10,by=.1)
plot(x,df(x, 1,2),type="l",ylab="",main="Distribución F de Fisher")
lines(x,df(x,15,2),lty=2)
lines(x,df(x,10,10),lty=3)
legend(3,0.4,c("df1=1 y df2=2","df1=15 y df2=2","df1=10 y df2=10"),
bty="n",lty=c(1,2,3),cex=.8)
Distribución F de Fisher
1.0
0.8
0.6
0.4
df1=1 y df2=2
df1=15 y df2=2
df1=10 y df2=10
0.2
0.0
0 2 4 6 8 10
x
Capítulo 4
Inferencia estadística
Una de las razones por la cual la distribución normal es tan importante, es por su
capacidad de englobar a otras distribuciones (bajo ciertas circunstancias), cuando el
número de observaciones es lo suficientemente grande.
El teorema del límite central establece que para cualquier distribución con varianza
finita, la media de una muestra aleatoria tiende a estar normalmente distribuida.
σ2
σx̄2 =
n
83
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 84
pob.x = rnorm(1000,mean=50, sd = 3)
pob.y = rnorm(1000,mean=20, sd = 5)
media = chi2 = f = 0
for(i in 1:1000){
muestra.xi = sample(pob.x,size=10,replace=T)
muestra.yi = sample(pob.y,size=20,replace=T)
media[i] = mean(muestra.xi)
var.x = var(muestra.xi)
var.y = var(muestra.yi)
chi2[i] = (10-1)*var.x/9
f[i] = (var.x/9)/(var.y/25)
}
x = seq(0,100,.1)
par(mfrow=c(1,3))
hist(media,freq=FALSE)
lines(x,dnorm(x,mean=50,sd=sqrt(9/10)))
hist(chi2,freq=FALSE)
lines(x,dchisq(x, df=9))
hist(f,freq=FALSE)
lines(x,df(x, df1=9, df2=9))
0.08
0.6
0.3
0.06
Density
Density
Density
0.4
0.2
0.04
0.2
0.1
0.02
0.00
0.0
0.0
47 48 49 50 51 52 53 0 5 10 15 20 25 0 1 2 3 4 5
media chi2 f
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 85
4.1.2. Estimación
pob = runif(1000,min=0,max=5)
n.max = 900
estimador = 0
for(i in 1:n.max){
muestra.i = sample(pob, size=i,replace=F)
estimador[i] = 2*mean(muestra.i)
}
plot(estimador,xlab="Tamaño muestral",ylab="Estimación")
7
6
Estimación
5
4
3
2
Tamaño muestral
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 86
pob = runif(1000,min=0,max=5)
n.max = 900
estimador = 0
for(i in 1:n.max){
muestra.i = sample(pob, size=i,replace=F)
estimador[i] = max(muestra.i)
}
plot(estimador,xlab="Tamaño muestral",ylab="Estimación")
5.0
4.5
4.0
Estimación
3.5
3.0
2.5
2.0
Tamaño muestral
pob = rnorm(1000,mean=50,sd=10)
n.max = 900
estimador = matrix(0,nrow=n.max,ncol=3)
for(i in 1:n.max){
muestra.i = sample(pob, size=i,replace=F)
estimador[i,] = c(mean(muestra.i),(i-1)/i*(sd(muestra.i))^2,
(sd(muestra.i))^2)
}
par(mfrow=c(1,3))
plot(estimador[,1],xlab="Tamaño muestral",ylab="Estimación media")
abline(h=50,col="red")
plot(estimador[,2],xlab="Tamaño muestral",ylab="Estimación varianza")
abline(h=100,col="red")
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 87
200
200
60
150
150
Estimación varianza
Estimación varianza
55
Estimación media
100
100
50
50
50
45
0
0 400 800 0 400 800 0 400 800
pob = rexp(1000,rate=2)
n.max = 100
estimador = 0
for(i in 1:n.max){
muestra.i = sample(pob, size=10,replace=F)
estimador[i] = 1/mean(muestra.i)
}
sesgo = mean(estimador)-2
sesgo
[1] 0.03868989
Eficiencia (Ejemplo): Recuerde que θ̂1 se dice más eficiente que θ̂2 si V ar(θ̂1 ) <
V ar(θ̂2 ). Veamos que el estimador máximo verosímil es el más eficiente bajo la dis-
tribución U (0, θ).
pob = runif(1000,min=0,max=10)
n.max = 100
est.mom = est.mv = 0
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 88
for(i in 1:n.max){
muestra.i = sample(pob, size=10,replace=F)
est.mom[i] = 2*mean(muestra.i)
est.mv[i] = max(muestra.i)
}
var(est.mv)<var(est.mom)
[1] TRUE
pob = rexp(1000,rate=2)
n.max = 900
pr = 0
for(i in 1:n.max){
cont = 0
for(j in 1:50){
muestra.i = sample(pob, size=i,replace=F)
estimador = 1/mean(muestra.i)
if(abs(estimador-2) <.1) cont[j] = 1 else cont[j] = 0
}
pr[i] = sum(cont)/50
}
plot(pr,pch=20,xlab="Tamaño Muestral", ylab="Pr")
1.0
0.8
0.6
Pr
0.4
0.2
0.0
Tamaño Muestral
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 89
pob = rnorm(1000,mean=50, sd = 3)
n.max = 900
pr = 0
for(i in 1:n.max){
cont = 0
for(j in 1:200){
muestra.i = sample(pob, size=i,replace=F)
estimador = mean(muestra.i)
if(abs(estimador-50) <.1) cont[j] = 1 else cont[j] = 0
}
pr[i] <- sum(cont)/200
}
plot(pr,pch=20,xlab="Tamaño Muestral", ylab="Pr")
1.0
0.8
0.6
Pr
0.4
0.2
0.0
Tamaño Muestral
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 90
Cada muestra aleatoria proporcionará un valor diferente para θ̂ y por lo tanto, valores
diferentes para l y u. Así, los extremos del intervalo en cuestión se convierten en v.a las
cuales denotaremos L y U . El intervalo (L, U ) es llamado intervalo aleatorio. Usando θ̂
y su distribución, se puede determinar L y U tal que P (L < θ < U ) = 1 − α; α ∈ (0, 1)
para α dado. Para una muestra en particular, se obtiene el intervalo (l, u) donde se
espera esté el verdadero valor de θ.
Sea X1 , . . . , Xn una muestra aleatoria (m.a) de una población normal N (µ, σ 2 ) con
media µ desconocida y varianza σ 2 conocida. Un I.C al 100(1 − α) % para µ es
( )
σ σ
x̄ − Zα/2 √ , x̄ + Zα/2 √
n n
Ejemplo: Suponga que un investigador está interesado en obtener una estimación del
nivel promedio de alguna enzima en cierta población de seres humanos. Para esto, toma
una muestra de 20 individuos, los datos se muestran a continuación.
x=c(26.58,24.19,28.61,32.02,24.65,24.82,17.43,26.12,22.06,16.68,
9.06,7.58,9.16,26.69,26.76,20.88,3.90,23.79,17.20,25.73)
Solución!
t.test(x,conf.level=0.95)
Sea X una v.a tal que X ∼ bin(x; n, p), un I.C aproximado para p, con n grande, viene
dado por: ( )
√ √
p̂ − Zα/2 p̂(1 − p̂)/n , p̂ + Zα/2 p̂(1 − p̂)/n
gripe.
Solución!
prop.test(x=13,n=3000,conf.level=0.95,correct=T)
Podemos decir que la proporción real de vacunados que contraerían gripe está entre
0.0024 y 0.0076 con un 95 % de confianza.
binom.test(x=13,n=3000,conf.level=0.95)
Podemos decir que la proporción real de vacunados que contraerían gripe está entre
0.0023 y 0.0074 con un 95 % de confianza.
2
,
χα/2 χ21−α/2
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 93
donde χ2α/2 y χ21−α/2 son valores χ2 con υ = n − 1 grados de libertad, que dejan áreas
de α/2 y 1 − α/2, respectivamente, a la derecha.
Un intervalo de confianza de 100(1 − α) % para σ se obtiene al tomar la raíz cuadrada
de cada exrtremo del intervalo para σ 2 .
x=c(26.58,24.19,28.61,32.02,24.65,24.82,17.43,26.12,22.06,16.68,
9.06,7.58,9.16,26.69,26.76,20.88,3.90,23.79,17.20,25.73)
Solución!
Asumiendo normalidad, En R, tenemos que:
intvar(x,0.95)
medida cálculo
1 L_inf 35.64105
2 Varianza 61.62587
3 L_sup 131.46459
sqrt(intvar(x,0.95)[,2])
Podemos concluir entonces que la desviación del nivel de enzimas respecto al promedio
en dicha población, se encuentra entre 5.97 y 11.47 con una confianza del 95 %.
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 94
Ejemplo: un estudio tiene como finalidad determinar los efectos del ejercicio por un
tiempo prolongado en los ejecutivos de una compañía. Se registraron datos de 13 individ-
uos (deportistas) y de 17 individuos (sedentarios). Entre los datos que se recolectaron,
está el número máximo de sentadillas realizadas durante un período de 30 segundos.
deportistas=c(21,25,18,12,25,19,26,25,28,25,16,26,23)
sedentarios=c(22,29,19,7,17,3,26,16,7,11,6,13,23,14,19,18,16)
Solución!
En R, tenemos lo siguiente:
var.test(deportistas,sedentarios,conf.level = 0.95)
Podemos concluir que el cociente de las varianzas poblacionales está entre 0.15 y 1.33,
con una confianza del 95 %. Como el 1 está dentro del intervalo, esto apoyaría la hipótesis
de que las varianzas poblacionales son iguales.
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 95
En el caso de muestras pequeñas, se deben distinguir dos casos, cuando las varianzas
poblacionales son desconocidas, pero se asumen iguales, o cuando éstas son desconoci-
das y se asumen distintas.
n+1
+ m+1
y el I.C al 100(1 − α) % está dado por:
( √ √ )
s21 s22 s21 s22
(x̄ − ȳ) − tα/2 (υ) + , (x̄ − ȳ) + tα/2 (υ) +
n m n m
Solución!
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 96
t.test(deportistas,sedentarios,var.equal=T,conf.level=0.95)
Concluimos que con una confianza del 95 %, la diferencia entre el promedio de sentadillas
de los deportistas, respecto a los sedentarios, se encuentra entre 2 y 11 sentadillas
aproximadamente. Esto nos da un indicio de que hay diferencias entre los promedios de
los dos grupos.
A manera de ejemplo, si realizamos una prueba de una nueva dieta con 15 individuos,
los pesos antes y después de seguir la dieta forman la información de nuestras dos mues-
tras. Evidentemente, las observaciones en un par tienen algo en común. Para determinar
si la dieta es efectiva, consideramos las diferencias d1 , d2 , . . . , dn en las observaciones
pareadas. Estas diferencias son los valores de una muestra aleatoria D1 , D2 , . . . , Dn de
una población de diferencias, que supondremos distribuidas normalmente, con media
µD = µ1 − µ2 y varianza σD 2
. Estimamos σD2
, mediante s2D , la varianza de las diferencias
que constituyen nuestra muestra. El estimador puntual de µD está dado por D̄.
p.antes=c(120,124,130,118,140,128,140,135,126,130,126,127)
p.despues=c(128,131,131,127,132,125,141,137,118,132,129,135)
Solución!
En R, hacemos lo siguiente:
t.test(p.antes,p.despues,paired=T,conf.level=0.95)
El resultado es el siguiente:
Con una confianza del 95 %, la diferencia entre las presiones arterial promedio, se en-
cuentra entre -5.54 y 1.87. Esto indica que el nuevo tratamiento no disminuye la presión
arterial con una confianza del 95 %.
Solución!
prop.test(x=c(250,275),n=c(1000,1000),conf.level=.95,correct=T)
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 98
Una hipótesis estadística es una afirmación que se hace con respecto a una o algunas
características desconocidas de una población de interés o acerca de la misma población.
Dicha afirmación tiene sentido solo si es evaluada con base en la información recolectada
a partir de una muestra aleatoria de la población en estudio.
Como la afirmación puede o no ser cierta, dos hipótesis pueden ser planteadas (an-
tagónicas).
H0 : la hipótesis es cierta
Ha : la hipótesis es falsa.
Queremos determinar si la proporción de personas que deja de fumar a causa del nue-
vo tratamiento es mayor al 60 %. ¿Cuántas de las 20 personas mínimo deben dejar de
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 99
Sea X : número de personas que dejan de fumar a causa del nuevo tratamiento.
Suponga un valor k, tal que si x > k, se tiene suficiente evidencia para rechazar H0 . (es
decir, p > 0.6).
Siempre que el valor de la v.a X esté en el conjunto {x | x > k}, se debe rechazar H0 .
Si θ̂ es un estimador puntual para θ, los valores de θ̂ pueden ser usados para tomar una
decisión sobre H0 .
{θ̂ | θ̂ < k}
{θ̂ | θ̂ > k}
{θ̂ | |θ̂| > k}.
El problema aquí es hallar valores adecuados para k.
Sea α = P (error tipo I) y β = P (error tipo II). α es llamado nivel de significancia del
test o tamaño de la región de rechazo. Por otro lado, 1 − β es llamado potencia de la
prueba, es decir,
P (Rechazar H0 , dado que H0 es falsa). Note que si se fija α, es posible hallar valores
adecuados para k.
Sea X1 , . . . , Xn una muestra aleatoria (m.a) de una población con media µ y varianza
σ 2 . Sea µ0 un valor de interés para µ. Tres hipótesis pueden ser planteadas.
µ < µ0
H0 : µ = µ 0 vs Ha : µ > µ0
µ ̸= µ0
x=c(90.85,89.37,90.08,89.77,92.10,90.34,91.46,91.54,90.96,92.02,
89.78,90.22,88.15,91.05,93.22,88.74,88.40,90.06,90.59,90.14,89.42,
90.18,90.28,91.40,89.02,90.14,92.46,91.36,92.81,90.14,
90.28,89.17,89.98,91.94,91.57,91.77,89.59,91.53,89.68,91.39,92.82,
90.93,89.27,88.59,89.40,91.53,91.13,90.67,90.20,90.39)
Se puede afirmar que el rendimiento promedio real del proceso es superior al 90 %? use
α = 0.01.
Solución!
t.test(x,alternative="greater",mu=90)
data: x
t = 3.3225, df = 49, p-value = 0.0008464
alternative hypothesis: true mean is greater than 90
95 percent confidence interval:
90.27623 Inf
sample estimates:
mean of x
90.5576
Nota: si el tamaño de muestra es pequeño y las poblaciones son normales, sabemos que
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 102
X̄ − µ
√ ∼ t(n−1)
s/ n
Sea X una v.a tal que X ∼ bin(x; n, p). Sea p0 un valor de interés para p. Tres hipótesis
pueden ser planteadas.
p < p0
H 0 : p = p0 vs Ha : p > p0
p ̸= p0
Solución!
prop.test(x=166,n=947,alternative="less",p=0.2,correct=F)
Sean X una v.a tal que X ∼ bin(n, p1 ) y Y una v.a tal que Y ∼ bin(m, p2 ) con p1 y
p2 desconocidas. Sea p0 un valor de interés para p1 −p2 . Tres hipótesis se pueden plantear
p1 − p2 < p0
H 0 : p 1 − p 2 = p0 vs Ha : p1 − p2 > p0
p1 − p2 ̸= p0
La hipótesis es la siguiente:
H0 : p 1 − p 2 = 0 vs H a : p1 − p2 > 0
prop.test(x=c(24,36),n=c(55,149),alternative="greater",correct=F)
Suponga que se tienen dos poblaciones normales independientes y se extraen dos m.a.
Sea X1 , . . . , Xn una m.a de una población N (µ1 , σ12 ), y sea Y1 , . . . , Ym otra m.a de una
población N (µ2 , σ22 ), ambas m.a estadísticamente independientes. Se desea contrastar
la hipótesis acerca de la diferencia µ1 − µ2 . Las hipótesis a probar son de la forma:
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 105
µ1 − µ2 < δ0
H0 : µ1 − µ2 = δ0 vs Ha : µ1 − µ2 > δ0
µ1 − µ2 ̸= δ0
Cuando no se conocen las varianzas, recuerde que se deben distinguir dos casos.
(x̄ − ȳ) − δ0
Tc = √ ∼ t(n+m−2) ,
Sp n1 + m1
donde
(n − 1)s21 + (m − 1)s22
Sp2 = .
n+m−2
(x̄ − ȳ) − δ0
Tc = √ 2 ,
s1 s22
n
+m
( )2
s21 s22
n
+ m
υ= ( 2 )2 ( )2 −2
s1 s2
2
n m
n+1
+ m+1
grupo1=c(411,466,432,409,381,363,449,483,438,381)
grupo2=c(584,553,516,688,650,590,574,700,831,688,478,689)
Proporcionan estos datos evidencia suficiente para afirmar que existe diferencia en la
concentración media de cortisol en las poblaciones?. Use α = 0.05.
Solución!
Veamos si las varianzas son iguales o diferentes.
var.test(grupo1,grupo2)
El resultado en R es el siguiente
Como el 1 no está en el intervalo, y p−valor es menor que 0.05, podemos asumir que
las varianzas son diferentes. Ahora procedamos a chequear las hipótesis principal del
problema.
t.test(grupo1,grupo2,var.equal=F,alternative="two.sided")
Como p−valor es menor que 0.05, concluimos que hay diferencia estadísticamente sig-
nificativa en las concentraciones medias de cortisol entre las dos poblaciones.
d¯ − d0
Tc = √ ∼ t(n − 1)
sd / n
p.antes=c(120,124,130,118,140,128,140,135,126,130,126,127)
p.despues=c(128,131,131,127,132,125,141,137,118,132,129,135)
Solución!
En R, tenemos lo siguiente:
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 108
t.test(p.antes,p.despues,paired=T)
El resultado es el siguiente:
Paired t-test
Como p−valor no es menor que 0.05, podemos concluir a un nivel α = 0.05, que no hay
diferencias entre los dos tratamientos.
En el desarrollo de los test de hipótesis vistos hasta ahora, nos hemos enfocado en con-
trastes de hipótesis acerca de un parámetro o diferencias de parámetros de la población;
µ, p, µ1 − µ2 , p1 − p2 , σ12 /σ22 . Los test de bondad de ajuste proporcionan información
para determinar si una población tiene una distribución teórica específica o no. Aquí,
el contraste de hipótesis es el siguiente:
H 0 : F = F0 vs Ha : F ̸= F0
Test chi-cuadrado
∑
n
(oi − ei )2
2
χ =
i=1
oi
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 109
Consideraremos la variable EJERCICIO (Exer) con los niveles: Freq, Some, y None.
Verificaremos si esta variable proviene de una población Multinomial con parámetros
0.5, 0.1 y 0.4 respectivamente, usando α = 0.05
Solución!
library(MASS)
tbl=table(survey$Exer)
tbl
chisq.test(tbl,p=c(0.5,0.1,0.4))
El resultado es el siguiente.
data: tbl
X-squared = 0.21519, df = 2, p-value = 0.898
Test de Kolmogorov-Smirnov
H 0 : F = F0 vs Ha : F ̸= F0
A manera de ejemplo, generemos 100 observaciones de una población normal con me-
dia 170 y desviación estándar 8. Note que estas pueden ser muestras de estaturas de
individuos. Veamos si los datos generados realmente provienen de una normal.
x=rnorm(100,170,8)
ks.test(x, "pnorm",170,8)
El resultado es el siguiente
data: x
D = 0.07986, p-value = 0.5464
alternative hypothesis: two-sided
fitdistr(x,"normal")
mean sd
170.4975042 8.5821661
( 0.8582166) ( 0.6068508)
Podemos notar que los parámetros estimados son muy cercanos a los reales.
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 111
Test de Shapiro-Wilk
Este test se usa para contrastar normalidad de un conjunto de datos. Ésta es una
alternativa más potente que la prueba de Kolmogorov-Smirnov.
Ejemplo: Suponga los datos del ejemplo donde se mide las concentraciones de cortisol
en dos grupos de mujeres antes de dar a luz. Recuerde que al grupo 1 se le practicó una
operación cesárea de urgencias después de inducido el parto. Las del grupo 2, dieron
a luz mediante operación cesárea o vía vaginal después de presentarse el trabajo de
parto expontáneamente. Verifiquemos normalidad en estos conjuntos de datos usando
α = 0.05.
grupo1=c(411,466,432,409,381,363,449,483,438,381)
grupo2=c(584,553,516,688,650,590,574,700,831,688,478,689)
Solución!
Las instrucciones son las siguientes
shapiro.test(grupo1)
shapiro.test(grupo2)
data: grupo1
W = 0.96658, p-value = 0.8575
data: grupo2
W = 0.95245, p-value = 0.673
Test de Mann-Whitney
En R usamos la función
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 112
wilcox.test(x, ...)
Esta función lleva a cabo un test de Wilcoxon para una y dos muestras sobre vectores
de datos.
Solución!
Los datos son los siguientes
x=c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46)
y=c(1.15, 0.88, 0.90, 0.74, 1.21)
El procedimiento es el siguiente
data: x and y
W = 35, p-value = 0.1272
alternative hypothesis: true location shift is greater than 0
Como p−valor no es menor que 0.05, no rechazamos H0 . Es decir, No hay evidencia su-
ficiente para asumir que la constante de permeabilidad sea mayor al inicio del embarazo.
Solución!
Los datos son los siguientes
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 113
x=c(1.830,0.500,1.620,2.48,1.68,1.88,1.55,3.06,1.30)
y=c(0.878,0.647,0.598,2.05,1.06,1.29,1.06,3.14,1.29)
El procedimiento es el siguiente
wilcox.test(x,y,paired=TRUE,alternative="g")
data: x and y
V = 40, p-value = 0.01953
alternative hypothesis: true location shift is greater than 0
Como p−valor es menor que 0.05, rechazamos H0 . Es decir, la terapia mejora los niveles
de depresión.
Test de independencia
Asuma que oij es la frecuencia observada de eventos que pertenecen a ambos, la i−ésima
categoría de X y la j−ésima categoría de Y . Además, suponga que eij son las corre-
spondientes frecuencias esperadas si X e Y son independientes. La hipótesis nula de
supuesto de independencia es rechazada si el p−valor obtenido es menor que en nivel
de significancia dado.
∑ (oij − eij )2
χ2 =
i,j
eij
Ejemplo: usaremos los datos de la base survey de la librería MASS de R, que corre-
sponden a 237 observaciones provenientes de una encuesta a estudiantes de estadística
de una Universidad en Australia.
Tenemos dos variables de interés, FUMA (Smoke) con los niveles: Heavy, Regul, Occas
y Never, y la variable EJERCICIO (Exer) con los niveles: Freq, Some, y None.
library(MASS)
tbl=table(survey$Smoke, survey$Exer)
tbl
CAPÍTULO 4. INFERENCIA ESTADÍSTICA 114
Solución!
En R, aplicamos la siguiente función.
chisq.test(tbl)
El resultado es el siguiente.
data: tbl
X-squared = 5.4885, df = 6, p-value = 0.4828
Warning message:
In chisq.test(tbl) : Chi-squared approximation may be incorrect
Note que nos aparece un mensaje de alerta. Esto es debido a que en algunas celdas las
frecuencias son muy pequeñas. Podemos solucionar esto agrupando algunas columnas.
Por ejemplo:
chisq.test(ctbl)
data: ctbl
X-squared = 3.2328, df = 3, p-value = 0.3571
El test exacto de Fisher es una prueba de significancia estadística muy usada cuando las
frecuencias observadas son muy pequeñas. Se usa en el análisis de tablas de contingen-
cia en vez de usar el test chi-cuadrado. El test calcula todas las posibles combinaciones
de los N valores en la tabla, creando una distribución de posibles valores, y calculando
cuán extremos son los datos observados respecto a la distribución exacta, es decir, cuán
extrema es la tabla observada.
fisher.test(tbl)
El resultado es el siguiente
data: tbl
p-value = 0.4138
alternative hypothesis: two.sided
El análisis de regresión es usado para explicar o modelar la relación entre una variable
Y , llamada respuesta o variable dependiente, y uno o más predictores, variables inde-
pendientes o explicativas, X1 , . . . , Xp . Cuando p = 1 es llamado regresión simple, pero
cuando p > 1 el modelo es llamado regresión múltiple o en algunos casos regresión multi-
variada. Cuando hay más de un Y , entonces es llamado Regresión múltiple multivariada.
116
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 117
variables.
5.0
2.0
4.0
1.0
y
y
3.0
0.0
2.0
−1.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
x x
20
10
15
8
10
6
y
y
4
5
2
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
x x
La relación puede ser lineal positiva, es decir, entre más aumente los valores de una de
las variables, la otra también aumentará. Si la relación es lineal negativa, ocurre que
entre más aumenta los valores de una de ellas, la otra disminuirá.
Luego de visualizar la relación entre las variables, una buena manera de cuantificarla
es mediante la covarianza
∑n
i=1 (xi − x) (yi − y)
Cov(X, Y ) = ,
N −1
Sin embargo, la covarianza no es una medida útil para comparar el grado de asociación
lineal entre distintos pares de variables, ya que depende de las escalas de medida de las
variables. La solución está en estandarizarla y es de aquí donde surgen los coeficientes
de correlación.
Note lo siguiente:
Coeficiente de Pearson
∑n
(xi − x) (yi − y)
r = √∑ i=1
2 ∑n
i=1 (xi − x) i=1 (yi − y)
n 2
Coeficiente de Spearman ∑
6 d2
rs = 1 − ,
n(n2 − 1)
donde d es la distancia entre los rangos (X menos Y ) y n es el total de datos.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 120
Coeficiente de Kendall
C −D
τ= ,
1
2
− 1)
n(n
donde C es el número de pares concordantes, aquellos en los que el rango de la segunda
variable es mayor que el rango de la primera variable, y D el número de pares dis-
cordantes, cuando el rango de la segunda es igual o menor que el rango de la primera
variable.
H0 : r = 0 vs Ha : r ̸= 0
plot(gene1,gene2)
1.0
0.5
gene2
0.0
−0.5
−1.0
Con el gráfico parece haber una correlación lineal entre las variables. Usemos la función
cor.test para calcular la correlación de Pearson (por defecto), y chequear la signifi-
cancia de la misma.
cor.test(gene1,gene2)
El resultado es el siguiente
Notamos que r = 0.883, lo que nos indica una correlación positiva y fuerte entre los dos
genes. Además, como p−valor es menor que 0.05, podemos decir que esta correlación
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 122
cor.test(gene1,gene2,method="spearman")
Tenemos lo siguiente
Aquí, la correlación es rs = 0.802 y p−valor es menor que 0.05. Los que nos indica
asociación lineal entre las expresiones de los dos genes a un nivel α = 0.05.
Correlación parcial
La correlación parcial es una correlación entre dos variables en la que se controla el
efecto de otras variables auxiliares que pueden modificar la verdadera relación entre las
dos primeras.
La correlación parcial es entonces un coeficiente que nos da una idea sobre la relación
lineal existente entre dos variables pero ajustada a los efectos lineales que sobre las
mismas puedan tener otra o más variables que intervengan. En R usaremos la función
pcor() del paquete ppcor.
y.data=data.frame(
hl=c(7,15,19,15,21,22,57,15,20,18),
disp=c(0.000,0.964,0.000,0.000,0.921,0.000,0.000,1.006,0.000,1.011),
deg=c(9,2,3,4,1,3,1,3,6,1),
BC=c(1.78e-02,1.05e-06,1.37e-05,7.18e-03,0.00e+00,0.00e+00,0.00e+00,
4.48e-03,2.10e-06,0.00e+00)
)
pcor(y.data)
El resultado es el siguiente
$estimate
hl disp deg BC
hl 1.0000000 -0.6720863 -0.6161163 0.1148459
disp -0.6720863 1.0000000 -0.7215522 0.2855420
deg -0.6161163 -0.7215522 1.0000000 0.6940953
BC 0.1148459 0.2855420 0.6940953 1.0000000
$p.value
hl disp deg BC
hl 0.00000000 0.06789202 0.10383620 0.78654997
disp 0.06789202 0.00000000 0.04332869 0.49299871
deg 0.10383620 0.04332869 0.00000000 0.05615021
BC 0.78654997 0.49299871 0.05615021 0.00000000
$statistic
hl disp deg BC
hl 0.0000000 -2.2232666 -1.916030 0.2831875
disp -2.2232666 0.0000000 -2.552768 0.7298173
deg -1.9160295 -2.5527682 0.000000 2.3617433
BC 0.2831875 0.7298173 2.361743 0.0000000
$n
[1] 10
$gp
[1] 2
$method
[1] "pearson"
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 124
Inicialmente nos ocuparemos del modelo de regresión lineal simple, donde la respuesta
Y se relaciona linealmente con la variable independiente X a través de la ecuación
Y = β0 + β1 X + ε (5.1)
Note que en un modelo lineal los parámetros entran linealmente, los predictores no
tienen que ser lineales. Por ejemplo,
Y = β0 + β1 log X + ε
es lineal, pero
Y = β0 + β1 X β2 + ε
no es lineal.
E[Y |X = x] = µy|x
= E[β0 + β1 X + ε]
= β0 + β1 X + E[ε]
= β0 + β1 X.
V [Y |X = x] = σy|x
2
= V [β0 + β1 X + ε]
= V [ε]
= σ2.
µy|x = β0 + β1 X.
Esta es una línea recta de valores promedios, es decir, la altura de la línea de regresión
en cualquier valor de X no es más que el valor esperado de Y para ese valor de X.
Esto implica que hay una distribución de valores de Y en cada valor de X y que la
varianza de dicha distribución es igual en cada valor de X.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 126
Los εi , se asumen que tienen varianza constante σ 2 , por lo tanto, se sigue que
la respuesta Yi tiene la misma varianza, es decir, V ar[Y i] = σ 2 . De donde el
modelo (5.1), asume que la distribución de probabilidad de la variable respuesta Y
tiene la misma varianza constante σ 2 , independientemente del valor de la variable
predictora X.
Usualmente los parámetros del modelo son estimados usando mínimos cuadrados. Éste
minimiza la suma de cuadrados de los errores del modelo de regresión. La estimación
por mínimos cuadrados es una buena selección, pero si los errores están correlaciona-
dos o tienen varianzas diferentes, hay mejores alternativas. Incluso, si los errores no se
distribuyen normal, entonces estimadores sesgados o no lineales pueden funcionar mejor.
Situaciones a considerar
Yi − (β0 + β1 Xi ).
Las estimaciones de β0 y β1 , son aquellos valores βb0 y βb1 , que minimizan la cantidad Q
para las observaciones muestrales (X1 , Y1 ), . . . , (Xn , Yn ).
Para hallar βb0 y βb1 , se pueden usar procesos de búsqueda numérica, hasta hallar valores
de β0 y β1 que minimicen a Q, o bien, mediante procesos analíticos, cuando el modelo
de regresión propuesto no es tan complejo matemáticamente.
∑
n ∑
n ∑
n
Xi Yi = βb0 Xi + βb1 Xi2 ,
i=1 i=1 i=1
y resolviendo simultáneamente las ecuaciones anteriores, para βb0 y βb1 , se obtienen los
estimadores de mínimos cuadrados ordinario:
∑
(Xi − X̄)(Yi − Ȳ )
βb1 = ∑
(Xi − X̄)2
Sxy
=
Sxx
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 128
A las cantidades, Sxx y Sxy se les llama: suma corregida de cuadrados de X y suma
corregida de productos cruzados de X e Y , respectivamente.
ŷ = βb0 + βb1 X,
Residuales
Para i = 1, . . . , n.
NOTA: Es importante notar la diferencia entre los residuos , ei , y los errores del mod-
elo conceptual, εi . Note que los ei son observados y juegan un papel importante en la
validación de los supuestos de un modelo de regresión, pero los εi no son observados.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 129
Consideraciones adicionales
Bajo las condiciones del modelo de regresión lineal simple, los estimadores obtenidos
mediante OLS β0 y β1 son insesgados y tienen mínima varianza.
La suma∑ de valores
∑ observados yi es igual a la suma de valores ajustados ŷi , es
decir; yi = ŷi .
La suma de residuales
∑ por los correspondientes valores ajustados de yi , es siempre
cero, es decir, ŷi ei = 0.
Como consecuencia:
(Y | X = xi ) ∼ N (β0 + β1 xi , σ 2 ).
Inferencia
Estimación de σ 2
La SSE tiene asociada n − 2 grados de libertad (gl), pues se pierden 2 (gl) al estimar
a β̂0 y a βb1 , para obtener a ŷi . De lo anterior se obtiene que la media cuadrática de
errores apropiada es:
∑
n ∑
n
(yi − ŷi )2 e2i
SSE i=1 i=1
M SE = = = .
n−2 n−2 n−2
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 131
σ̂ 2 = M SE,
y además,
E(M SE) = σ.
Para hacer inferencia acerca de los parámetros del modelo de regresión lineal simple,
es necesario suponer que los errores del modelo εi siguen o tienen una distribución
normal. Con esta suposición adicional, se tiene el llamado modelo de regresión lineal
simple (RLS) normal (o modelo de RLS con errores normal), definido como:
yi = β0 + β1 xi + εi , (5.2)
De lo anterior se sigue que las Yi′ s, son variables aleatorias independientes distribuidas
normales con media E[Yi ] = β0 + β1 Xi y varianza V ar[Yi ] = σ 2 , es decir,
Inferencia para β1
Cuando hablamos de distribución muestral de βb1 , nos referimos a los diferentes valores
que βb1 podría tomar a partir de muestreos repetidos, con los niveles de la variable
regresora X constantes de muestra a muestra.
Como βb1 es combinación lineal de las Yi′ s y las Yi′ s son normalmente distribuidas,
( )
σ2 βb1 − β1
βb1 ∼ N β1 , σβ2b1 = =⇒ √ ∼ N (0, 1)
Sxx
V ar[βb1 ]
Una estimación de la varianza muestral de βb1 , es decir, una estimación para V ar[βb1 ],
está dada por:
\ b2
σ
V ar[βb1 ] = = Sβ2b1 , (5.3)
Sxx
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 132
βb − β1 βb1 − β1
√1 = ∼ tn−2
\ b Sβb1
V ar[β1 ]
I.C para β1
De lo anterior, se tiene que
[ ]
1 − α = P βb1 − t(1−α/2,n−2) Sβb1 ≤ β1 ≤ βb1 + t(1−α/2,n−2) Sβb1
H0 : β1 = 0 vs Ha : β1 ̸= 0
βb1
Tc = √ ,
M SE
Sxx
Inferencia para β0
Igual que para el caso de βb1 , βb0 también es combinación lineal de las Yi′ s y por tanto
también tiene distribución normal con media y varianza como sigue:
( )
βb0 ∼ N β0 , V ar[βb0 ] ,
I.C para β0
βb0 − β0
∼ tn−2 ,
Sβb0
H0 : β0 = 0 vs Ha : β0 ̸= 0
βb0
Tc = √ [ ],
X̄ 2
M SE n1 + Sxx
µy = E[Yh ] = β0 + β1 Xh .
en donde,
y
[ ]
b b b 2 1 (Xh − X̄)2
V ar[Yh ] = V ar[β0 + β1 Xh ] = σ +
n Sxx
Ybh − µyh
∼ t(n−2) , con
SYbh
√ [ ]
1 (Xh − X̄)2
SYbh = M SE +
n Sxx
Al compara este I.P con el I.C para la respuesta media, se observa que el I.P es siempre
más ancho que el I.C para la respuesta media E[Y ] en X = Xh , esto debido a que el I.P
depende tanto del error del modelo como del error asociado a las observaciones futuras.
la cual se le llama suma total de cuadrados. Si todas las observaciones Yi son iguales
entonces la SST = 0. Entre más variación exista entre las Yi′ s, mayor será la SST.
∑
n
SSE = (Yi − Ŷi )2 ,
i=1
y a la cual se le llama, suma cuadrática de errores. Si todas las Yi′ s caen sobre la línea de
regresión ajustada, entonces SSE = 0. Entre mayor es la variación de las Yi′ s alrededor
de la línea de regresión ajustada, mayor es la SSE.
La SSR es una medida de la parte de la variabilidad de las Yi′ s, la cual está asociada
con la línea de regresión ajustada.
Aquí,
SSR: Variabilidad explicada por el modelo o por las variables regresoras X y tiene 1
grado de libertad,
Las medias cuadráticas se obtienen como las SS divididas por sus respectivos grados de
libertad, es decir que
SST
M ST = n−1
: Cuadrado medio total,
SSR
M SR = 1
: Cuadrado medio de la regresión,
SSE
M SE = n−2
: Cuadrado medio del error.
Ahora se presenta la tabla resumen del análisis de varianza (o ANOVA) para el modelo
de RLS.
H0 : β1 = 0 vs Ha : β1 ̸= 0,
Ahora, usamos las funciones lm() y anova() de R para estimar los parámetros del
modelo y hacer un poco de inferencia sobre los mismos y sobre el modelo en general.
modelo=lm(gene2~gene1)
summary(modelo)
anova(modelo)
Call:
lm(formula = gene2 ~ gene1)
Residuals:
Min 1Q Median 3Q Max
-0.3811 -0.2196 -0.0084 0.1492 0.7595
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.05541 0.07330 -0.756 0.461
gene1 0.97070 0.12925 7.511 1.25e-06 ***
---
Signif. codes: 0 "***" 0.001 "**" 0.01 "*" 0.05 "." 0.1 " " 1
Response: gene2
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 139
plot(gene1,gene2)
abline(modelo)
segments(gene1,fitted(modelo),gene1,gene2,lty=2)
title("Modelo ajustado con los segmentos de linea de residuales")
confint(modelo)
2.5 % 97.5 %
(Intercept) -0.2107882 0.09997012
gene1 0.6967126 1.24468796
Los intervalos de confianza para la respuesta media y los intervalos de predicción para
la respuesta se pueden obtener usando el comando predict. Por ejemplo, el siguiente
código calcula y representa los dos tipos de intervalos.
gen1<-gene1[order(gene1)]
# Estimación respuesta media y predicciones para ciertos valores del gen1
pred.m<-predict(modelo,interval="confidence")
pred.p<-predict(modelo,interval="prediction")
# I.C para respuesta media e I.P (predicciones)
interval.pred<-pred.p[order(gene1),]
interval.conf<-pred.m[order(gene1),]
matriz<-as.matrix(cbind(gen1,interval.conf,interval.pred[,-1]))
matplot(matriz[,1],matriz[,-1],type="l",lty=c(1,2,2,3,3),lwd=2,
xlab= "Gen 1",ylab="Gen 2",col=c(1,2,2,4,4),main="Recta de regresión
con intervalos de confianza y de predicción del 95%",cex.main=1)
points(datos,type="p",pch=19)
legend(locator(1),c("Recta ajustada","Interv.Conf","interv.Pred"),
col=c(1,2,4),bty="n",lty=1:3,cex=0.8,lwd=2)
#Hacer click sobre gráfico resultante, donde se desea colocar
#leyenda de las líneas
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 141
1.5
1.0
0.5
0.0
Gen 2
−0.5
−1.0
Recta
ajustada
−1.5
Interv.Conf
interv.Pred
Gen 1
Como primera herramienta diagnóstica del modelo, tenemos el qqplot, el cual nos per-
mite verificar la normalidad de los errores. Si es cierta la normalidad de los residuos,
los puntos deben estar alineados con la diagonal.
Una segunda herramienta importante es el gráfico de los residuos versus los valores
ajustados. Si los residuos están distribuidos alrededor del cero y el gráfico no presenta
ninguna tendencia, entonces el modelo se considera adecuado. Note que si se observa
una tendencia, estaríamos violando el supuesto de linealidad (lo cual sugiere alguna
transformación), y si se observa una nube de puntos en forma de embudo, podemos
tener problemas con el supuesto de homocedasticidad de varianzas.
En R podemos usar la función plot() para chequear algunos supuestos del modelo.
plot(modelo)
Tenemos lo siguiente
9 9
Standardized residuals
2
0.4
Residuals
18 18
1
0.0
0
−0.4
−1
16
16
9
1.5
Standardized residuals
9
Standardized residuals
1
2
16 18 0.5
18
1.0
1
0
0.5
−1
Cook’s distance 16
0.0
0.5
−1.0 −0.5 0.0 0.5 0.00 0.05 0.10 0.15 0.20 0.25
Fitted values Leverage
Los gráficos de la primera columna nos permiten validar los supuestos de media cero,
varianza constante y linealidad del modelo, aquí notamos que estos supuestos no son vi-
olados. Sabemos que el qqplot nos permite chequear normalidad de los errores, lo cual
se aprecia en el gráfico, pero hay indicaciones de algunas observaciones atípicas. Por
último, el gráfico de la parte inferior derecha permite detectar observaciones influyentes
en el modelo, por lo que podemos decir que posiblemente algunas observaciones pueden
estar influenciando en el modelo (observaciones 9, 18 y 16).
2
1
Residuo i−1
0
−1
−1 0 1 2
Residuo i
En este gráfico podemos apreciar que los errores no están correlacionados puesto que
no se observa una tendencia.
Si sólo falla la linealidad, conviene transformar sólo X porque esto no afecta a las
propiedades de las perturbaciones. En cambio, si los residuos muestran heterocedasti-
cidad o no normalidad, conviene transformar al menos Y para intentar resolver todos
los problemas simultáneamente.
y = exp(β0 + β1 x) · exp(ε)
y = exp(β0 + β1 x) + exp(ε)
entonces no podemos linealizar este modelo, por lo que se hace necesario usar
métodos de regresión no lineal.
Con el objetivo de garantizar los supuestos de un modelo lineal, se puede explorar otro
tipo de transformaciones para Y , por ejemplo una transformación potencia usando el
método Box-Cox, puede ser útil. Por otro lado, note que los modelos lineales general-
izados (GLM) pueden ser usados cuando la variable respuesta sigue una distribución
de la familia exponencial.
Ejemplo: usemos datos simulados con el fin de verificar qué tan cerca están los modelos
ajustados respecto al verdadero. Suponga que conocemos el verdadero modelo el cual
es:
y = cos5 (−3πx2 ) + ε, ε ∼ N (0, (0.1)2 )
Ahora construiremos un modelo polinómico de orden 4, uno de orden 12 y un modelo
spline en R para compararlo con el modelo real.
El procedimiento en R es el siguiente:
matplot(x,cbind(y,funky(x),g4$fit,g12$fit,gs$fit),type="pllll",ylab="y",
pch=18,lty=c(1,2,3,4),main="Tipo de modelos",lwd=c(2,2,2,2))
legend(0.1,-0.5,c("modelo real","polinomio orden 4","polinomio orden 12",
"regresión spline"),col=c(2,3,4,5),bty="n",
lty=c(1,2,3,4),cex=.8)
Podemos notar que el modelo spline es el que mejor se ajusta a la curva real.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 146
Tipo de modelos
1.0
0.5
0.0
y
modelo real
polinomio orden 4
−1.0
polinomio orden 12
regresión spline
Vector aleatorio:
El vector,
y1
y2
Y = .. ,
.
yn n×1
es un vector aleatorio si cada una de sus componentes Yi′ s son variables aleatorias.
aleatoria.
Matriz de Varianzas-Covarianzas
Note que ΣY tiene en la diagonal las varianzas de cada una de las variables aleatorias
que conforman al vector aleatorio y fuera de la diagonal tiene las covarianzas entre los
pares de variables que conforman dicho vector aleatorio.
Para el caso de dos variables regresoras X1 y X2 , se tiene que el modelo de RLM es:
yi = β0 + β1 xi1 + β2 xi2 + εi ,
con los supuestos que los ε′i s con i = 1, 2, · · · , n, son independientes e idénticamente
distribuidos normales con media cero y varianza constante, donde la función de regresión
está dada por:
Ŷ = E[Y\
|X1 , X2 ] = β̂0 + β̂1 X1 + β̂2 X2
Interpretación de los parámetros del modelo de RLM con dos variables re-
gresoras
con los supuestos que los ε′i s con i = 1, 2, · · · , n, son independientes e idénticamente
distribuidos normales con media cero y varianza constante, donde la función de regresión
está dada por:
Ŷ = E[Y |X1 , \
X2 , · · · , Xp−1 ] = β̂0 + β̂1 X1 + β̂2 X2 + · · · + β̂p−1 X(p−1)
X: Es la matrix de diseño, con los valores de las variables predictoras en cada obser-
vación.
ε: Es el vector de términos de errores aleatorios.
para el cálculo de β.
β̂ = (X′ X)−1 X′ Y.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 150
Residuales
donde
1
SST = Y′ Y − Y′ JY
[ n( ) ]
1
= Y′ I − J Y,
n
1
SSR = βˆ′ X′ Y − Y′ JY.
n
′ ˆ′ ′
SSE = Y Y − β X Y.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 151
Multicolinealidad
2
el cual si toma un valor mayor a 10 se considera una alta colinealidad. Note que RX i
es
el coeficiente de determinación obtenido al efectuar la regresión de Xi sobre el resto de
los regresores del modelo.
En R usamos la función vif del paquete car para obtener el V IF de todas las variables
explicativas.
HT = altura en pies
DBH = diámetro del tronco a 4 pies de altura (en pulgadas)
D16 = diámetro del tronco a 16 pies de altura (en pulgadas)
V OL = volumen de madera obtenida (en pies cúbicos).
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 152
El objetivo del análisis es determinar cuál es la relación entre dichas medidas y el vol-
umen de madera, con el fin de poder predecir este último en función de las primeras.
10 12 14 16 18 90 95 100 105
90
70
VOL
50
30
10 12 14 16 18
DBH
16
14
D16
12
10
105
100
HT
95
90
30 50 70 90 10 12 14 16
install.packages(ppcor)
library(ppcor)
pcor(bosque)
El resultado es el siguiente
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 153
$estimate
VOL DBH D16 HT
VOL 1.0000000 0.3683119 0.7627127 0.7285511
DBH 0.3683119 1.0000000 0.2686789 -0.3107753
D16 0.7627127 0.2686789 1.0000000 -0.4513110
HT 0.7285511 -0.3107753 -0.4513110 1.0000000
$p.value
VOL DBH D16 HT
VOL 0.0000000000 0.1326107 0.0002324675 0.0006056469
DBH 0.1326107400 0.0000000 0.2810102724 0.2094003059
D16 0.0002324675 0.2810103 0.0000000000 0.0601150552
HT 0.0006056469 0.2094003 0.0601150552 0.0000000000
$statistic
VOL DBH D16 HT
VOL 0.000000 1.584644 4.717295 4.254366
DBH 1.584644 0.000000 1.115742 -1.307862
D16 4.717295 1.115742 0.000000 -2.022984
HT 4.254366 -1.307862 -2.022984 0.000000
$n
[1] 20
$gp
[1] 2
$method
[1] "pearson"
m1=lm(VOL~DBH+D16+HT)
summary(m1)
anova(m1)
Call:
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 154
Residuals:
Min 1Q Median 3Q Max
-5.2548 -1.6765 -0.1277 1.5232 4.9990
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -108.5758 14.1422 -7.677 9.42e-07 ***
DBH 1.6258 1.0259 1.585 0.132611
D16 5.6714 1.2023 4.717 0.000232 ***
HT 0.6938 0.1631 4.254 0.000606 ***
---
Signif. codes: 0 "***" 0.001 "**" 0.01 "*" 0.05 "." 0.1 " " 1
# anova(m1)
Analysis of Variance Table
Response: VOL
Df Sum Sq Mean Sq F value Pr(>F)
DBH 1 3085.79 3085.79 322.064 5.051e-12 ***
D16 1 331.85 331.85 34.635 2.303e-05 ***
HT 1 173.42 173.42 18.100 0.0006056 ***
Residuals 16 153.30 9.58
---
Signif. codes: 0 "***" 0.001 "**" 0.01 "*" 0.05 "." 0.1 " " 1
El R2 ajustado nos indica que las variables DBH, D16 y HT explican la variabilidad del
volumen de madera. De igual forma, el p−valor de la tabla anova nos corrobora esta
afirmación (p−valor=2.587e-11).
Por otro lado, notamos que el coeficiente que acompaña a la variable DBH no es signi-
ficativamente diferente de cero (p−valor=0.132611), por lo que la variable no es signi-
ficativa en el modelo a un nivel α = 0.05. Ahora miremos los intervalos de confianza al
95 % para los coeficientes.
ic.ind<-confint(m1,level=0.95);ic.ind
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 155
2.5 % 97.5 %
(Intercept) -138.5559230 -78.595770
DBH -0.5491507 3.800682
D16 3.1227268 8.220064
HT 0.3480719 1.039469
Efectivamente, los intervalos de confianza nos muestran que los parámetros son signi-
ficativos en el modelo, excepto el correspondiente a la variable DBH.
Si observamos el resultado del anova, para evaluar el modelo completo, podemos ob-
servar que DBH es significativa en el modelo (p−valor=5.051e-12), luego al adicionar
D16, notamos que esta última si aporta a explicar la variabilidad de VOL, por último,
si se incorpora la variable HT, se aporta un poco más a la variabilidad del volumen,
pues p−valor=0.0006056.
V[
OL = −108.5758 + 1.6258DBH + 5.6714D16 + 0.6938HT
Otro modelo que podemos considerar, es eliminando la variable DBH del modelo com-
pleto. De esta forma tendríamos
m2=lm(VOL~D16+HT)
summary(m2)
anova(m2)
Call:
lm(formula = VOL ~ D16 + HT)
Residuals:
Min 1Q Median 3Q Max
-4.2309 -1.8386 -0.4012 1.0922 6.9373
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -105.9027 14.6520 -7.228 1.41e-06 ***
D16 7.4128 0.5088 14.568 4.92e-11 ***
HT 0.6765 0.1698 3.985 0.000959 ***
---
Signif. codes: 0 "***" 0.001 "**" 0.01 "*" 0.05 "." 0.1 " " 1
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 156
anova(m2)
Analysis of Variance Table
Response: VOL
Df Sum Sq Mean Sq F value Pr(>F)
D16 1 3401.3 3401.3 326.019 1.58e-12 ***
HT 1 165.7 165.7 15.878 0.0009585 ***
Residuals 17 177.4 10.4
---
Signif. codes: 0 "***" 0.001 "**" 0.01 "*" 0.05 "." 0.1 " " 1
V[
OL = −105.9027 + 7.4128D16 + 0.6765HT
Podemos ver que todos los parámetros son significativos en el modelo a un nivel
α = 0.05. Además, el anova nos dice que el modelo general también es significativo
(p−valor=5.515e-12). Note que el R2 del modelo completo (m1) es de 0.9514 y el del
modelo 2 es 0.9471. Una pregunta que nos podemos hacer es, ¿cuál modelo es mejor?.
Procedimiento Stepwise
El AIC está basado en la función de verosimilitud e incluye una penalización que aumen-
ta con el número de parámetros estimados en el modelo. Además, premia los modelos
que dan un buen ajuste en términos de verosimilitud y a la vez son parsimoniosos
(tienen pocos parámetros). Entre tanto, el BIC comprende una modificación al AIC
que tiene en cuenta también el número de datos utilizados en el ajuste.
AIC = −2 ln(likelihood) + 2p
y
BIC = −2 ln(likelihood) + p ln(n)
En el proceso de selección de modelos, se quiere minimizar el AIC o el BIC.
En R podemos utilizar las funciones AIC() y BIC() para seleccionar el mejor modelo.
Para esto, entre menor sea el valor del AIC o del BIC, mejor es el modelo. Además, la
función step() que selecciona automáticamente un modelo usando el criterio AIC en
un algoritmo Stepwise.
AIC(m1);AIC(m2)
BIC(m1);BIC(m2)
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 158
> AIC(m1);AIC(m2)
[1] 107.4909
[1] 108.4066
> BIC(m1);BIC(m2)
[1] 112.4696
[1] 112.3895
Procedamos a hacer un chequeo gráfico de los supuestos del modelo seleccionado (mod-
elo 2).
opar=par()
par(mfrow=c(2,2))
plot(m2)
par(opar)
18 18
Standardized residuals
2
6
20
17 20 17
4
Residuals
1
2
0
0
−1
−4
30 40 50 60 70 80 90 −2 −1 0 1 2
Fitted values Theoretical Quantiles
18
Standardized residuals
Standardized residuals
20
2
17 20
17 1
1.0
1 0.5
1
0
0.5
−1
0.5
Cook’s distance
0.0
Podemos ver que posiblemente hay una violación al supuesto de normalidad de los
errores, esto debido a la posible presencia de datos influyentes en el modelo. Sin embargo,
realizaremos un test de Shapiro-Wilk para verificar normalidad.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 159
data: stdres(m2)
W = 0.9215, p-value = 0.1059
El p−valor nos indica no rechazar la normalidad de los errores. Por tanto, no hay una
violación a este supuesto. Verificaremos ahora el supuesto de autocorrelación cero de
los errores.
−1 0 1 2
Residuo i
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 160
Como no se observa un tendencia, podemos afirmar que los errores tienen correlación
cero. Por tanto, no hay una violación a este supuesto.
install.packages("car")
library(car)
vif(m2)
D16 HT
1.228915 1.228915
Como el V IF no es mayor que 10, para ambas variables, no hay colinealidad entre los
regresores. De aquí, el modelo 2 cumple todos los supuestos.
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 161
data(LifeCycleSavings)
LifeCycleSavings
g <- lm(sr~pop15 + pop75 + dpi + ddpi, data=LifeCycleSavings)
summary(g)
Call:
lm(formula = sr ~ pop15 + pop75 + dpi + ddpi, data = LifeCycleSavings)
Residuals:
Min 1Q Median 3Q Max
-8.2422 -2.6857 -0.2488 2.4280 9.7509
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.5660865 7.3545161 3.884 0.000334 ***
pop15 -0.4611931 0.1446422 -3.189 0.002603 **
pop75 -1.6914977 1.0835989 -1.561 0.125530
dpi -0.0003369 0.0009311 -0.362 0.719173
ddpi 0.4096949 0.1961971 2.088 0.042471 *
---
Signif. codes: 0 "***" 0.001 "**" 0.01 "*" 0.05 "." 0.1 " " 1
H0 : βi = 0
step(g)
Start: AIC=138.3
sr ~ pop15 + pop75 + dpi + ddpi
Step: AIC=136.45
sr ~ pop15 + pop75 + ddpi
Call:
lm(formula = sr ~ pop15 + pop75 + ddpi, data = LifeCycleSavings)
Coefficients:
(Intercept) pop15 pop75 ddpi
28.1247 -0.4518 -1.8354 0.4278
CAPÍTULO 5. INTRODUCCIÓN AL ANÁLISIS DE REGRESIÓN 163
Identificación de los factores que influyen y cuáles de ellos varían y cuáles per-
manecen constantes.
Características a medir.
Las preguntas que centran nuestra atención a través del proceso de diseño incluyen:
¿Cuál es mi objetivo?, ¿Qué quiero saber? y ¿Por qué quiero saberlo?. Además, existen
preguntas de seguimiento productivo para cada actividad en el proceso, tales como:
¿Cómo voy a realizar el experimento? y ¿Por que hago el experimento?, dirigen la aten-
ción a definir el papel de cada actividad en el estudio de investigación.
164
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 165
La selección de los parámetros del diseño para que el producto tenga un buen
funcionamiento en una amplia variedad de condiciones de campo.
La determinación de los parámetros claves del diseño del producto que afectan el
desempeño del mismo.
Experimento comparativo
El experimento comparativo es el tipo de experimento que utilizan los investigadores
en áreas como biología, medicina, agricultura, ingeniería, sicología y otras ciencias ex-
perimentales. El adjetivo comparativo implica que se establezca más de un conjunto
de circunstancias en el experimento y que se comparen entre sí las respuestas a las
diferentes circunstancias.
Tratamientos
Los tratamientos son el conjunto de circunstancias creados para el experimento, en res-
puesta a la hipótesis de investigación y son el centro de la misma. Entre los ejemplos de
tratamientos se encuentran dietas de animales, producción de variedades de cultivos,
temperaturas, tipos de suelo y cantidades de nutrientes.
Unidad experimental
La unidad experimental es la entidad física o el sujeto expuesto al tratamiento indepen-
dientemente de otras unidades. La unidad experimental, una vez expuesta al tratamien-
to, constituye una sola réplica del tratamiento.
Error experimental
El error experimental describe la variación entre las unidades experimentales tratadas
de manera idéntica e independiente. Los distintos orígenes del error experimental son:
5.) Cualquier otro factor externo que influya en las características medidas.
Tratamiento control:
Muchas veces se requieren tratamientos adicionales para evaluar por completo las conse-
cuencias de la hipótesis. Una componente importante de muchos diseños de tratamiento
es el tratamiento de control.
El control local describe las acciones que emplea un investigador para reducir o contro-
lar el error experimental, incrementar la exactitud de las observaciones y establecer la
base de la inferencia de un estudio.
El investigador controla:
1. Técnica.
2. Selección de unidades experimentales.
3. Bloquización o aseguramiento de la uniformidad de información en todos los
tratamientos.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 168
Existen diversas razones para hacer réplicas de un experimento, las más notables son:
Ejemplo: Un estudio sencillo de raciones de dieta animal tiene un corral con seis
animales asignados a la ración A y otro con seis más asignados a la ración B. Se reúnen
datos sobre el aumento de peso o algún otro aspecto adecuado para examinar la efica-
cia de las raciones. Al final del estudio, se toman de cada animal las medidas necesarias.
La aleatorización permite:
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 169
2. Evita sesgos.
La aleatorización puede realizarse por medio de muchos métodos algunos de los cuales
se describen a continuación:
Método 1:
Suponga que se tienen N = 15 unidades experimentales (UE) homogéneas, para un
experimento bajo un diseño completamente al azar (DCA) con t=3 tratamientos y
r = 5 réplicas. Marque las 15 unidades experimentales con los números 1, 2, . . . , 15.
Luego rotule unos papelitos con los números k = 1, 2, . . . , 15, colóquelos en una bolsa.
Seleccione un papelito de forma aleatoria y márquelo por el reverso de donde esta
marcado con el número (11), deje este papelito fuera de la bolsa.
Proceda nuevamente a seleccionar otro papelito y márquelo ahora con el número (12).
Continúe este proceso hasta que queden marcados todos los papelitos como 11, 12, . . . , 15,
21, 22, . . . , 25, 31, 32, . . . , 35. Si un papelito está rotulado 5 y por el reverso con la etique-
ta (34), entonces la unidad experimental marcada con el número 5 recibirá el tratamien-
to 3 y será la réplica 4.
Método 2:
Una forma simple de construir unos datos aleatorizados, donde el objetivo es dividir n
unidades experimentales en t tratamientos, se puede llevar a cabo usando el software
R. Por ejemplo, si el experimentados cuenta con tres diferentes tratamientos para la
variable tiempo (25 min, 30 min y 35 min) y desea realizar cuatro réplicas de cada uno,
esto se puede aleatorizar con el siguiente código de R.
set.seed(100)
f <- factor( rep( c(25, 30, 35 ), each = 4)) # crea el factor
fac <- sample( f, 12 ) # genera muestras del factor
eu <- 1:12 # se establecen las U.E
plan <- data.frame( loaf=eu, time=fac ) # crea el data.frame
write.csv( plan, file = "Plan.csv", row.names = FALSE) # crea la b.d
Método 3:
Mediante el uso de una tabla de números aleatorios.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 170
Es claro de la definición que se tiene un diseño aleatorizado, si y solo si hay una asig-
nación aleatoria de los tratamientos a las UE.
Ventajas
Cuando en un experimento las unidades experimentales se arreglan bajo un Diseño
completamente al azar se tienen las siguientes ventajas:
Máximo número de grados de libertad para el error: Esto ocurre porque el diseño
tiene solo dos fuentes de variación que son los tratamientos y el error y los grados
de libertad para este error están dados por la expresión t(r − 1).
Desventajas
Se puede obtener baja precisión cuando las unidades experimentales no sean muy ho-
mogéneas y así ser ineficiente.
Usos
Presentación de datos
Al arreglar el material experimental de manera aleatoria utilizando un procedimiento
de aleatorización para el caso de un experimento con 15 UE y 3 tratamientos y cinco
réplicas por tratamiento usted puede obtener por ejemplo el siguiente arreglo
Tratamiento
2 1 3
01 08 15
05 06 02
09 07 04
11 12 10
14 03 13
Las pruebas estadísticas utilizadas para validar la calibración del examinador depende
de la escala en que es medida la variable, si la variable es categórica de escala nominal u
ordinal se puede utilizar entre otros el coeficiente de concordancia Kappa, si la variable
es continua se puede utilizar, entre otros, el coeficiente de correlación concordancia de
Lin o el coeficiente de variación.
Tratamiento
1 2 3
25 14 30
22 16 32
20 18 30
24 13 31
25 15 30
Factor
Son las variables independientes que van a cambiar o van a ser controladas en el proceso.
Estos pueden ser:
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 172
1. Cuantitativos:
Por ejemplo: la temperatura en grados para un proceso de secado de masa de
maíz fermentadas.
2. Cualitativos
Por ejemplo: máquinas u operarios, tipos de maíz etc.
1. Efectos fijos: Los niveles del factor han sido seleccionados por el investigador y
las conclusiones solo aplican a esos niveles escogidos, el modelo se llama modelo
de efectos fijos.
2. Efectos aleatorios: Los niveles del factor han sido seleccionados al azar de una
población y las conclusiones pueden generalizarse a esa población, el modelo se
llama modelo de efectos aleatorios. La inferencia se hace sobre la varianza de los
tratamientos.
3. La combinación de los modelos anteriores se denomina modelo de efectos mixtos.
Niveles
Son los niveles del factor que se esta examinando.
En el caso de un factor cualitativo, por ejemplo si se trata de tres tipos de maíz (Tipo
I, II y III) el factor tipo de maíz tendrá tres niveles.
Tratamientos
Son los niveles o combinación de niveles de los factores que intervienen en el experi-
mento.
Ejemplo:
Factor Niveles Tratamientos
Tipo de Maíz I, II y III I, II y III
Variable respuesta
La variable que se mide como resultado del experimento, puede ser cualitativa o cuan-
titativa.
Material experimental
Son todos aquellos implementos que se utilizan en la elaboración del experimento.
Error experimental
Es la variación aleatoria que se presenta en los datos debido a factores controlados o
no controlables.
Factores no controlables
Variables propias del sistema que no se pueden controlar durante el experimento y ali-
mentan el error experimental.
Diseño de experimentos
Consiste en determinar cuántos factores, niveles y tratamientos se estudian y cómo se
asignaran los tratamientos a las unidades experimentales.
H0 : µ1 = µ2 = · · · = µt vs Ha : µi ̸= µj , ∀i ̸= j
Generalidades
Forma 1:
Forma 2:
∑
t ∑
r
y.. = yij , esta expresión corresponde a sumar los valores de todas las obser-
i=1 j=1
vaciones recolectadas para el análisis del experimento.
y..
ȳ = , con N = rt el cual denominaremos número total de observaciones.
N
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 175
∑
r
yi. = yij , esta expresión corresponde a la suma de las observaciones por
j=1
tratamiento.
yi.
ȳi. = , esta expresión corresponde a el promedio de las observaciones por
r
tratamiento
Total
∑
t ∑
r
y..2
SCT = yij2 −
i=1 j=1
N
Tratamientos
1 ∑ 2 y..2
t
SCtttos = y −
r i=1 i. N
Error
SCE = SCT − SCtttos
FV GL SC CM F
Tttos t − 1 SCttos SCtttos
t−1
= CM tttos CM tttos
CM E
Error N −t SCE SCE
N −t
= CM E
Total N − 1 SCT
∑
t ∑
r
y.. = yij , está expresión corresponde a sumar los valores de todas las obser-
i=1 j=1
vaciones recolectadas para el análisis del experimento.
y.. ∑
ȳ = , con N = rj el cual denominaremos número total de observaciones.
N
Total
∑∑ y..2
SCT = yij2 −
i j
N
Tratamientos
∑ y2 y..2
SCtttos = i.
−
i
ri N
Error
SCE = SCT − SCtttos
FV GL SC CM F
Tttos t − 1 SCttos SCtttos
t−1
= CM tttos CM tttos
CM E
= F0
Error N −t SCE SCE
N −t
= CM E
Total N − 1 SCT
Tabla 6.2: Tabla de Análisis de varianza en un DCA para número de repeticiones de-
siguales.
H0 se rechaza si
CM ttos
F0 = > Fα (t − 1, N − t).
CM E
SCtttos
1. % factores controlados = SCT
SCE
2. % factores no controlados = SCT
, efectos de la aleatoriedad de las condiciones
externas no controladas.
2. Si SCttos > SCE, entonces los tratamientos tienen mayor contribución al modelo
que los errores o factores no controlados.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 177
3. Si SCE > SCttos, indica que mayor es la variación en las observaciones que
pueden atribuirse al error aleatorio.
4. Los efectos de los tratamientos del factor A son las diferencias entre τ = µj − µ,
los cuales se estiman mediante τ̂ = µ̂j − µ̂.
T1 T2 T3 T4
Replicas
1 41 48 40 40
2 44 49 50 39
3 45 49 44 46
4 43 49 48 46
5 42 45 50 41
Total yi. 215 240 232 212
Medias ȳi. 43.0 48.0 46.4 42.2
Varianzas 2.5 3.0 18.8 11.3
Replicas T1 T2 T3 T4
1 62 63 68 56
3 60 67 66 62
3 63 71 71 60
4 59 64 67 63
5 65 68 63
6 66 68 64
7 63
8 59
Total yi. 244 396 408 488
Medias ȳi. 61 66 68 61
Varianzas 4 6 6 8
Para probar la homogeneidad de varianzas entre los tratamiento, se pueden utilizar las
siguientes pruebas:
Estadístico de prueba:
q
χ2c = ,
c
∑t
donde, q = (N − t) log10 Sp2 − i=1 (ri − 1) log10 Si2
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 179
∑t
c=1+ 1
3(t−1) i=1 (ri − 1)−1 − (N − t)−1 ,
∑t S2
Sp2 = i=1 (ri − 1) N −t
i
,
Región de rechazo:
Si las medias de las desviaciones son iguales entonces las varianzas de las obser-
vaciones en todos los tratamientos deberán ser iguales.
t(t−1)
t-tratamientos se tiene en total 2
pares de medias.
Se rechaza H0 : µi = µj si:
LSD: Es la diferencia mínima que debe existir entre dos medias muestrales para
poder considerar que dos tratamientos son significativamente diferentes.
NOTA: Es una prueba para comparación de dos medias, su uso se justifica si:
Prueba F es significativa
3. Duncan
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 181
4. Dunnett
Se usa cuando se desea comparar todos los demás tratamientos con un control.
Ejemplo: Suponga que se tienen los siguientes valores artificiales de expresión genética
2,3,1,2 de grupo 1, 8,7,9,8 de grupo 2, y 11,12,13,12 de grupo 3. Asignemos estos valores
a un vector Y y construyamos un factor donde indiquemos el grupo al cual pertenece
cada valor.
y=c(2,3,1,2,8,7,9,8,11,12,13,12)
a=gl(3,4)
boxplot(y~a,notch=T)
10 12
8
6
4
2
1 2 3
Notamos que el boxplot muestra diferencias entre los tratamientos. Verifiquemos esto
con un análisis de varianza.
anova(lm(y~a))
El resultado es el siguiente
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
a 2 202.67 101.333 152 1.159e-07 ***
Residuals 9 6.00 0.667
---
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 183
Ejemplo: Ahora ilustraremos el análisis de varianza usando los datos del ejemplo 3.1
del libro Diseño y análisis de experimentos de Montgomery, D. segunda Ed, pág 62. El
ejemplo es el siguiente:
p15=c(7,7,15,11,9)
p20=c(12,17,12,18,18)
p25=c(14,18,18,19,19)
p30=c(19,25,22,19,23)
p35=c(7,10,11,15,11)
porcentaje=gl(5,5,labels=c("p15","p20","p25","p30","p35"))
resistencia=c(p15,p20,p25,p30,p35)
25
20
15
10
En el boxplot podemos notar que existe diferencia entre los tratamientos. Es necesario
realizar en análisis de varianza para verificar esto a través de la prueba F.
anv1=lm(resistencia~porcentaje)
summary(anv1)
anova(anv1)
Call:
lm(formula = resistencia ~ porcentaje)
Residuals:
Min 1Q Median 3Q Max
-3.8 -2.6 0.4 1.4 5.2
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.800 1.270 7.719 2.02e-07 ***
porcentajep20 5.600 1.796 3.119 0.005409 **
porcentajep25 7.800 1.796 4.344 0.000315 ***
porcentajep30 11.800 1.796 6.572 2.11e-06 ***
porcentajep35 1.000 1.796 0.557 0.583753
---
Response: resistencia
Df Sum Sq Mean Sq F value Pr(>F)
porcentaje 4 475.76 118.94 14.757 9.128e-06 ***
Residuals 20 161.20 8.06
opar=par()
par(mfrow=c(2,2))
plot(anv1)
par(opar)
3 3
2
24 24
4
Standardized residuals
1
Residuals
2
0
0
−2
−1
−4
21
21
10 12 14 16 18 20 22 −2 −1 0 1 2
Constant Leverage:
Scale−Location Residuals vs Factor Levels
3
3
2
24
1.2
21 24
Standardized residuals
Standardized residuals
1
0.8
0
0.4
−1
21
0.0
porcentaje :
10 12 14 16 18 20 22 p15 p20 p25 p30 p35
shapiro.test(residuals(anv1))
data: residuals(anv1)
W = 0.94387, p-value = 0.1818
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 186
bartlett.test(resistencia~porcentaje)
oneway.test(resistencia~porcentaje)
kruskal.test(resistencia~porcentaje)
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 187
pairwise.t.test(resistencia,porcentaje,p.adj="fdr")
Notamos a un nivel α = 0.05, que hay diferencias significativas entre los promedios de
los tratamientos excepto entre p15 y p35, y p20 y p25, respectivamente. Note que la
diferencia más significativa se presenta entre los grupos p15 y p30.
Una causa común de heterogeneidad de varianza entre los niveles de los tratamientos
es una relación no lineal entre la respuesta y los tratamientos. Una forma de corregir
esta situación es transformar la variable respuesta.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 188
Transformación Box-Cox
Box and Cox (1964) propuso una serie de transformaciones potencia Y = y λ que nor-
malmente trabajan bien. Si la varianza tiende a incrementarse a medida que la media
incrementa, seleccione un valor de λ < 1, si la varianza tiende a decrecer a medida que
la media se incrementa, seleccione λ > 1.
En un DCA con réplicas en cada nivel de los tratamientos, una forma de determinar
el valor más apropiado de λ es graficar el máximo de la función de log verosimilitud,
versus el valor de λ usado en la transformación de los datos. El valor de λ que maximiza
la log verosimilitud puede ser el más apropiado para la transformación Box-Cox. Este
gráfico es llamado el Box-Cox plot y se puede obtener con la función boxcox del paquete
MASS de R.
Para nuestro ejemplo, tenemos los siguiente:
library(MASS)
anv1=lm(resistencia~porcentaje)
bc <- boxcox(anv1)
lambda <- bc$x[which.max(bc$y)]
lambda
95%
0
log−Likelihood
−5
−10
−15
−2 −1 0 1 2
Podemos notar que el valor recomendado para λ es 1.192. Note que el intervalos de
confianza para λ (línea punteada) incluye el 1, es decir, sin transformación. Esto nos
puede indicar la incertidumbre que tenemos acerca de una posible heterogeneidad de las
varianzas de los tratamientos. Sin embargo, a manera de ejemplo, consideremos dicha
transformación.
t.resistencia= resistencia^(1.191919)
anv2=lm(t.resistencia~porcentaje)
anova(anv2)
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 189
Response: t.resistencia
Df Sum Sq Mean Sq F value Pr(>F)
porcentaje 4 1905.13 476.28 15.149 7.542e-06 ***
Residuals 20 628.79 31.44
da1=data.frame(resistencia,porcentaje)
with(da1,{std=tapply(resistencia,porcentaje,sd)
pesos=rep(1/std,each=5)
anv3=lm(resistencia~porcentaje,weights=pesos,data=da1)
anova(anv3)
})
Response: resistencia
Df Sum Sq Mean Sq F value Pr(>F)
porcentaje 4 169.107 42.277 15.075 7.817e-06 ***
Residuals 20 56.088 2.804
Notamos que los resultados son muy similares respecto a la transformación Box-Cox.
6.3. Contrastes
Un contraste es toda combinación lineal de medias de tratamiento, donde la suma
algebraica de sus coeficientes es igual a cero. En general una combinación lineal o
contraste es de la forma:
∑
t
Γ = c1 µ1 + c2 µ2 + · · · + ct µt = ci µi
i=1
∑t
donde se cumple que i=1 ci = 0.
Para entender un poco más la idea de los contrastes, continuemos con el ejemplo an-
terior, donde a un ingeniero de desarrollo de productos le interesa determinar si el
peso porcentual del algodón en una fibra sintética afecta la resistencia a la tensión.
Recuerde que este es un experimento completamente aleatorizado con cinco niveles del
peso porcentual del algodón y cinco réplicas. Los datos se muestran en la siguiente
tabla.
saber si los promedios de los niveles 1 y 2, no difieren del promedio de los niveles 4 y
5, es decir, promedio de niveles más bajos vs promedio de niveles más altos, por lo que
podemos estar interesados en el siguiente test:
H0 : µ1 + µ2 − µ4 − µ5 = 0 vs Ha : µ1 + µ2 − µ4 − µ5 ̸= 0
resistencia=c(7,7,15,11,9,12,17,12,18,18,14,18,18,19,19,19,25,
22,19,23,7,10,11,15,11)
porcentaje=gl(5,5,labels=c(’p15’,’p20’,’p25’,’p30’,’p35’))
boxplot(resistencia~porcentaje,ylab=’Resistencia’,xlab=’Porcentaje
de algodón’)
25
20
Resistencia
15
10
∑
t ∑
t
H0 : ci µi = 0 vs Ha : ci µi ̸= 0
i=1 i=1
2. El estadístico F de Fisher
(∑t )2
i=1 ci yi.
F0 = t20 = ∑
nM SE ti=1 ci
Contrastes ortogonales
Dos contrastes con coeficientes {ci } y {di } son ortogonales o independientes si
∑
t
ci di = 0,
i=1
∑
t
n i c i di = 0
i=1
H0 : µ2 + µ3 − µ4 − µ5 = 0 vs Ha : µ2 + µ3 − µ4 − µ5 ̸= 0
H0 : 4µ1 − µ2 − µ3 − µ4 − µ5 = 0 vs Ha : 4µ1 − µ2 − µ3 − µ4 − µ5 ̸= 0
H0 : µ2 − µ3 = 0 vs Ha : µ2 − µ3 ̸= 0
H0 : µ4 − µ5 = 0 vs Ha : µ4 − µ5 ̸= 0
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 193
install.packages(’gmodels’)
library(gmodels)
MatrizContraste= rbind(’T2;T3 vs T4;T5’=c(0,1,1,-1,-1),
’T1 vs resto’=c(4,-1,-1,-1,-1),
’T2 vs T3’=c(0,1,-1,0,0), ’T4 vs T5’=c(0,0,0,1,-1))
mo=lm(resistencia~porcentaje)
Contrastes=fit.contrast(mo,’porcentaje’,MatrizContraste,conf=0.95)
Contrastes
Ejercicio:
Considere los datos de un experimento para determinar el efecto del tiempo respecto
a la altura o elevación de la masa de pan. Si el experimentador desea examinar tres
tiempos de elevación diferentes (35 minutos, 40 minutos y 45 minutos) y probar cuatro
barras de pan repetidas en cada tiempo. Los datos son los siguientes:
Tiempo Altura
35 4.5, 5, 5.5, 6.75
40 6.5, 6.5, 10.5, 9.5
45 975, 8.75, 6.5, 8.25
(variables exógenas). Cuando esto no ocurre y existen otros factores que no se controlan
o nulifican los resultados del ANAVA, las comparaciones entre medias de tratamiento
y las conclusiones generales podrán resultar sensiblemente afectadas.
Ejemplos:
El agua
Las unidades experimentales fueron las flores y la respuesta fue el tiempo en días hasta
que la flor se marchitara. Los estudiantes querían que sus conclusiones se puedan aplicar
en muchos tipos de flores, por lo que usaron un DBCA. Los bloques fueron:
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 195
Rosa
Clavel
Margarita
Tulipán
f = factor(c(1,2,3,4))
b1t = sample(f,4)
b2t = sample(f,4)
b3t = sample(f,4)
b4t = sample(f,4)
t = c(b1t,b2t,b3t,b4t)
block = factor(rep(c(’Rosa’,’Clavel’,’Margarita’,’Tulipán’),each=4))
flnum = rep(f,4)
plan = data.frame(TipoFlor=block,NumFlor=flnum,Tratamiento=t)
write.table(plan,file=’DBCAPlan.csv’,sep =’,’,row.names=FALSE)
El DBCA también puede ser creado usando la función design.rcbd del paquete agricolae
de R. El código R es como sigue:
install.packages(’agricolae’)
library(agricolae)
treat = c(1,2,3,4)
outdesign = design.rcbd(treat, 4, seed = 11)
rcb = outdesign$book
levels(rcb$block) <- c(’Rosa’,’Clavel’,’Margarita’,’Tulipán’)
yij = µ + bi + τj + ϵij ,
donde
Se supone que los errores son iid con distribución normal de media cero y varianza
constante σ 2 , N (0, σ 2 ).
Nuevamente el interés radica en saber si estadísticamente existen diferencias significa-
tivas entre los tratamientos, y por otro lado, pero ya en un segundo plano, determinar
si el bloqueo fue efectivo.
Así, las pruebas de hipótesis correspondientes son:
∑
b ∑
t
SCT otal = (yij − ȳ.. )2
i=1 j=1
∑
b ∑
t ∑
b ∑
t ∑
b ∑
t
= (ȳi. − ȳ.. ) +
2
(ȳ.j − ȳ.. ) +
2
(yij − ȳi. − ȳ.j + ȳ.. )2 ,
i=1 j=1 i=1 j=1 i=1 j=1
el cual es un promedio ponderado del cuadrado medio para bloques y el cuadrado medio
para el error.
donde νdbca = (b − 1)(t − 1) son los grados de libertad del error en el DBCA, y
νdca = t(b − 1) son los grados de libertad para el error en un DCA con el mismo
número de unidades experimentales.
Ejemplo 1:
En una empresa lechera se tienen varios silos para almacenar leche (cisternas de 60000L).
Un aspecto crítico para que se conserve la leche es la temperatura de almacenamiento.
Se sospecha que en algunos silos hay problemas, por ello, durante cinco días se decide
registrar la temperatura a cierta hora crítica. Obviamente la temperatura de un día
a otro es una fuente de variabilidad que podría impactar la variabilidad total de la
variable temperatura de la leche. Por estas razones se tuvo que bloquear por día de
medición. Los datos se presentan a continuación:
Silo
Día A B C D E
Lunes 4.0 5.0 4.5 2.5 4.0
Martes 4.0 6.0 4.0 4.0 4.0
Miércoles 5.0 2.0 3.5 6.5 3.5
Jueves 0.5 4.0 2.0 4.5 2.0
Viernes 3.0 4.0 3.0 4.0 4.0
block = factor(rep(c("Lunes","Martes","Miércoles","Jueves","Viernes"),
each=5))
f = factor(rep(c("A","B","C","D","E"),5))
temp=c(4.0, 5.0, 4.5, 2.5, 4.0,
4.0, 6.0, 4.0, 4.0, 4.0,
5.0, 2.0, 3.5, 6.5, 3.5,
0.5, 4.0, 2.0, 4.5, 2.0,
3.0, 4.0, 3.0, 4.0, 4.0)
plan = data.frame(día=block,trat=f,temp=temp)
plan
attach(plan)
mod=aov(temp~día+trat)
summary(mod)
Los datos hacen parte de la librería daewr de R. El modelo es entonces como sigue:
install.packages("daewr")
library(daewr)
mod1 = aov( rate ~ rat + dose, data = drug )
summary(mod1)
Los resultados del Anova muestran que hay una diferencia significativa en los promedios
de los niveles de los tratamientos usando un nivel de significancia del 5 %. Por lo que
se requiere hacer comparaciones de medias.
La función contr.poly puede ser usada para calcular el contraste lineal, cuadrático o
cúbico para la dosis.
contrasts(drug$dose) = contr.poly(5)
mod2 = aov( rate ~ rat + dose, data = drug)
summary.aov(mod2,split = list(dose = list("Linear" = 1,"Quadratic" = 2,
"Cubic" = 3, "Quartic" = 4)))
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 200
Los resultados muestran que existe una tendencia lineal y cuadrática significativa en la
tasa de presión de la palanca sobre la dosis del fármaco.
0.90
0.85
0.80
dose
2 1.6685 + 0.3006
σ̂crd = = 0.04376
5(9)
Note que esta es aproximadamente cinco veces mayor que la varianza dentro de una
rata y demuestra la efectividad del bloqueo por rata en el experimento.
2
(νdbca + 1)(νdca + 3)σ̂dca (37)(48)0.04376
RE = 2
= = 5.2413
(νdbca + 3)(νdca + 1)σ̂dbca (39)(46)0.00835
12 ∑ t
H= R2 − 3b(t + 1),
tb(t + 1) j=1 .j
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 202
block = factor(rep(c("Lunes","Martes","Miércoles","Jueves","Viernes"),
each=5))
f = factor(rep(c("A","B","C","D","E"),5))
temp=c(4.0, 5.0, 4.5, 2.5, 4.0,
4.0, 6.0, 4.0, 4.0, 4.0,
5.0, 2.0, 3.5, 6.5, 3.5,
0.5, 4.0, 2.0, 4.5, 2.0,
3.0, 4.0, 3.0, 4.0, 4.0)
plan = data.frame(día=block,trat=f,temp=temp)
library(agricolae)
attach(plan)
Fried=friedman(día,trat,temp,alpha=0.05,group=T)
Fried
$‘statistics‘
Chisq Df p.chisq F DFerror p.F t.value LSD
3.853659 4 0.4261731 0.9546828 16 0.4586031 2.119905 9.642074
$parameters
test name.t ntr alpha
Friedman trat 5 0.05
$means
temp rankSum std r Min Max Q25 Q50 Q75
A 3.3 11.5 1.7175564 5 0.5 5.0 3.0 4.0 4.0
B 4.2 19.0 1.4832397 5 2.0 6.0 4.0 4.0 5.0
C 3.4 13.0 0.9617692 5 2.0 4.5 3.0 3.5 4.0
D 4.3 17.5 1.4404860 5 2.5 6.5 4.0 4.0 4.5
E 3.5 14.0 0.8660254 5 2.0 4.0 3.5 4.0 4.0
$comparison
NULL
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 203
$groups
Sum of ranks groups
B 19.0 a
D 17.5 a
E 14.0 a
C 13.0 a
A 11.5 a
attr(,"class")
[1] "group"
Catador T1 T2 T3 T4 T5
1 9 7 8 8 5
2 7 9 7 7 8
3 7 9 8 8 8
4 9 8 9 9 6
5 7 8 7 8 7
6 7 9 7 6 8
7 8 8 6 8 8
8 8 9 7 7 8
9 7 9 6 7 7
10 8 9 6 8 8
Relleno (phr)
Nafteno (phr) 0 12 24 36 48 60
0 25 30 35 40 50 60
10 18 21 24 28 33 41
20 13 15 17 20 24 29
30 11 14 15 17 18 25
naft=rep(c(0,10,20,30),each=6)
fill1=rep(c(0,12,24,36,48,60),times=4)
resp=scan()
25 30 35 40 50 60
18 21 24 28 33 41
13 15 17 20 24 29
11 14 15 17 18 25
d1=data.frame(naft,fill1,resp)
View(d1)
attach(d1)
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 205
naft
0
10
50
20
30
40
Viscosidad
30
20
10
0 12 24 36 48 60
Relleno
La Figura anterior muestra una representación gráfica de los datos de la tabla. Notamos
que a medida que el relleno aumenta de 0 a 60, la viscosidad aumenta a lo largo de una
tendencia bastante lineal. Sin embargo, la pendiente de la línea de tendencia depende
del nivel de aceite de nafteno. Cuando no se agrega aceite de nafteno, aumentar el
relleno de 0 a 60 hace que la viscosidad aumente rápidamente de 25 a 60; pero cuando
hay 30 phr de aceite de nafteno, aumentar el relleno de 0 a 60 provoca un aumento más
gradual de la viscosidad de 11 a 25.
Dado que las interacciones son comunes en los experimentos factoriales, es importante
aprender a explicar o interpretar una interacción para presentar claramente los resul-
tados de los estudios de investigación. Esto se hace mejor describiendo el efecto de un
factor sobre la respuesta, y luego contrastando o comparando cómo ese efecto cambia
dependiendo del nivel del otro factor. El gráfico de interacción es una buena herramienta
para interpretar este tipo de efecto.
Creación de plan factorial de dos factores en R
Un diseño factorial puede ser creado en R de diferentes maneras. Por ejemplo, se puede
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 206
usar la función expand.grid para crear un data frame que contenga todas las posibles
combinaciones de los factores.
Como se puede observar, este código crea un diseño factorial sin réplicas 32 para los
factores F1 y F2. Para crear las réplicas podemos usar la función rbind.
D=rbind(D,D)
set.seed(123)
D=D[order(sample(1:18)), ]
D
donde i representa el nivel del primer factor, j representa el nivel del segundo factor,
y k representa la réplica. Este modelo es llamado modelo de medias de celdas y µij
representa la respuesta esperada en la ij-ésima celda. Otra forma de representar el
modelo es la siguiente:
yijk = µ + αi + βj + αβij + ϵijk .
Los supuestos usuales son que los errores experimentales son independientes y ϵijk ∼
N (0, σ 2 ). El supuesto de independencia es garantizado si las combinaciones de tratamien-
tos son asignadas de forma aleatoria a las unidades experimentales, y los supuestos de
igualdad de varianza y normalidad pueden ser verificados con el gráfico de los residuales
versus los predichos y el qqplot para los residuales.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 207
Ejemplo
Para ilustrar el análisis de un experimento factorial de dos factores usando la función
aov de R, consideremos los datos de la siguiente tabla, los cuales corresponden a los
resultados de un experimento de dos factores llevado a cabo por Hunter (1983). Aquí,
un experimento consistió en quemar una cantidad de combustible y determinar las
emisiones de CO liberadas. La unidad experimental es la porción de un combustible
estándar requerido para una ejecución, y la respuesta, y, es la concentración de emi-
siones de monóxido de carbono (CO) en gr/mt3 determinada a partir de esa ejecución.
Hubo dos ejecuciones repetidas para cada combinación de niveles de factor separados
por punto y coma en la Tabla. El factor A es la cantidad de etanol agregado a una
unidad experimental o porción del combustible estándar, y el factor B es la relación
combustible-aire utilizada durante la quema de ese combustible.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 208
Los datos para este experimento están guardados en el data frame COdata en el paquete
daewr donde los niveles de etanol y la razón son guardados como factores Eth y Ratio.
El comando de R para analizar los datos es como sigue:
install.packages("daewr")
library(daewr)
View(COdata)
mod1=aov(CO~Eth*Ratio,data = COdata )
summary(mod1)
Los resultados de la tabla ANOVA muestran que tanto los dos efectos de los factores
como su interacción son significativos a un nivel de significancia del 5 %.
La función model.tables produce los resultados que se muestran a continuación:
Tables of means
Grand mean
72.83333
Eth
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 209
Eth
0.1 0.2 0.3
66.83 75.83 75.83
Ratio
Ratio
14 15 16
78.5 75.5 64.5
Eth:Ratio
Ratio
Eth 14 15 16
0.1 64.0 69.5 67.0
0.2 79.5 80.5 67.5
0.3 92.0 76.5 59.0
En la parte inicial tenemos la media global µ̂. Las siguientes dos secciones muestran las
medias marginales para cada factor junto con la desviación estándar de los valores pro-
mediados en cada media. Si la interacción no fuera significativa, las medias marginales
revelarían la dirección de los efectos de los factores, pero se podrían usar comparaciones
preplaneadas u otros procedimientos de comparación múltiple para sacar conclusiones
definitivas.
Podemos usar la función estimable del paquete gmodels para realizar contrastes.
Para esto, primero hay que construir los contrastes para reemplazar los contrastes de
tratamiento por defecto usado por la función aov de R. Por ejemplo, si en un factor de
tres niveles queremos comparar el primero con el tercero, y luego queremos construir
un segundo contraste ortogonal al primero, y llamamos a la matriz de contrastes cm, el
código puede ser como sigue:
c1 = c(-1/2, 0, 1/2)
c2 = c(.5, -1, .5)
cm = cbind( c1, c2 )
mod2=aov(CO~Eth*Ratio, contrasts=list(Eth=cm,Ratio=cm),data=COdata)
install.packages("gmodels")
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 210
library(gmodels)
c = rbind( "Etanol 0.3 vs 0.1" = c(0,1,0,0,0,0,0,0,0),
"Razón 16 vs 14" = c(0,0,0,1,0,0,0,0,0) )
estimable(mod2,c)
Note que el objeto c permite seleccionar el primer coeficiente para etanol y para la
razón. Por su parte, los parámetros a estimar son, en su orden, los siguientes
with(COdata,(interaction.plot(Eth,Ratio,CO,type="b",pch=c(18,24,22),
leg.bty = "o", main = "Gráfico de interacción de Etanol y razón
aire-combustible", xlab = "Etanol",ylab = "Emisión de CO")))
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 211
Ratio
90
14
15
85
16
80
Emisión de CO
75
70
65
60
Etanol
En este gráfico podemos ver más claramente la dependencia de los efectos. El aumento
de la cantidad de etanol agregado al combustible de 0.1 a 0.3 hace que las emisiones de
CO aumenten linealmente de 64 gramos/litro a 92 gramos/litro cuando la relación aire-
combustible está en su nivel bajo de 14 (Esto se muestra mediante la línea de puntos con
diamantes negros representando los promedios de las celdas). Sin embargo, cuando la
relación aire-combustible está en su nivel alto de 16, el aumento del etanol agregado al
combustible de 0.1 a 0.3 en realidad provoca una disminución en las emisiones de CO de
67 gramos/litro a 59 gramos/litro a lo largo de una tendencia casi lineal. Finalmente,
cuando la relación aire-combustible se mantiene constante en su nivel medio de 15,
el aumento del etanol de 0,1 a 0,2 hace que las emisiones de CO aumenten en 11
gramos/litro; pero un aumento adicional en etanol a 0.3 causa una disminución en las
emisiones de CO de 4 gramos/litro a 76.5.
Al considerar interacción, se suponen relaciones de causa y efecto. De esta forma, deci-
mos que el cambio en la respuesta es causado por el cambio en el factor o el cambio en
la respuesta es el resultado de cambiar el factor. Es de notar que esta afirmación no se
puede hacer cuando se discuten los resultados de un estudio observacional.
Cuando hay una adecuada potencia en la prueba para detectar efectos principales con
r = 1 réplica por celda, se puede llevar a cabo un diseño factorial con solo una obser-
vación por celda y tend´riamos un total de a × b observaciones. Sin embargo, bajo estas
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 212
condiciones no hay forma de calcular la ssE del ANOVA y además no hay manera de
hacer el test F de la forma tradicional sobre los efectos principales y la interacción. Si
se asume que el término de interacción es cero, el test F sobre los efectos principales se
puede llevar a cabo usando el modelo aditivo yij = µ + αi + βj + ϵij , pero esto puede
no ser adecuado si la interacción en realidad existe.
Si los niveles de ambos factores son cuantitativos como en el experimento de combustible
de etanol, las sumas de cuadrados para el término de interacción se pueden dividir en
grados de libertad individuales de polinomios ortogonales, y puede ser aproximada
usando la porción lineal×lineal de la interacción. Esto se puede ilustrar con los datos
de combustible de etanol.
Ejemplo
Consideremos que los promedios de las dos réplicas en cada celda del ejemplo anterior
son el resultado de un solo experimento. El código R que se muestra a continuación
promedia los datos en cada celda para producir el data frame con una observación por
celda, para luego ajustar el modelo con la función lm de R.
library(daewr)
data(COdata)
Cellmeans=tapply(COdata$CO,list(COdata$Eth,COdata$Ratio),mean)
dim(Cellmeans) = NULL
Eth = factor(rep(c(.1, .2, .3), 3))
Ratio = factor(rep(c(14,15,16), each=3))
cells = data.frame( Eth, Ratio, Cellmeans )
Note que en los resultados del modelo ANOVA aparece cero grados de libertad para el
error y no aparece el test F.
Response: Cellmeans
Df Sum Sq Mean Sq F value Pr(>F)
Eth 2 162 81.00
Ratio 2 326 163.00
Eth:Ratio 4 339 84.75
Residuals 0 0
Para obtener las sumas de cuadrados para la porción lineal×lineal de la interacción, los
factores Eth y Ratio se convierten primero en factores ordenados como se muestra a
continuación:
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 213
Ethc = as.ordered(cells$Eth)
Ratioc = as.ordered(cells$Ratio)
EthLin=contr.poly(Ethc)[Ethc,".L"]
RatioLin=contr.poly(Ratioc)[Ratioc,".L"]
mbo=lm(Cellmeans~Ethc + Ratioc + EthLin:RatioLin, data=cells)
anova(mbo)
Response: Cellmeans
Df Sum Sq Mean Sq F value Pr(>F)
Ethc 2 162 81 16.2 0.024670 *
Ratioc 2 326 163 32.6 0.009226 **
EthLin:RatioLin 1 324 324 64.8 0.004004 **
Residuals 3 15 5
Pred=predict(mbo,newdata=data.frame(Ethc,Ratioc,EthLin,RatioLin))
pred.means=aggregate(Pred,by=list(Ethc=Ethc,Ratioc=Ratioc),"mean")
Ethanol = pred.means$Ethc
interaction.plot(pred.means$Ratioc, Ethanol, pred.means$x,
type="b", pch = c(18,24,22), leg.bty ="o", xlab = "Ratio", ylab
= "predicted CO emissions")
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 214
90
Ethanol
0.1
0.2
85
0.3
80
predicted CO emissions
75
70
65
60
14 15 16
Ratio
Muestra
1 2 3 4 5 6
3 1.87506 1.74036 1.79934 2.02119 1.79934 1.59106
Dilución 4 1.38021 1.36173 1.25527 1.39794 1.20412 1.25527
5 0.60206 0.90309 0.95424 1.00000 0.60206 0.60206
library(daewr)
Tukey1df(virus)
Source df SS MS F Pr>F
A 5 0.1948 0.039
B 2 3.1664 1.5832
Error 10 0.1283 0.0513
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 216
Los datos de un experimento factorial pueden terminar con un número desigual de répli-
cas debido a experimentos que no pudieron completarse, o respuestas que no pudieron
medirse, o simplemente datos perdidos. Siempre que la posibilidad de perder una ob-
servación no esté relacionada con los niveles de factor de tratamiento, los datos de un
experimento factorial con un número desigual de réplicas por celdas, pueden analizarse
e interpretarse de una manera similar a la forma en que se haría el caso igual número
de réplicas.
Ejemplo
Considere nuevamente el ejemplo del combustible de etanol. Pero esta vez asumamos
que se perdió una sola observación en la celda donde la relación aire-combustible es 16
y el nivel de etanol es 0.3.
Entonces, los datos son como se ilustran a continuación. La siguiente tabla muestra las
observaciones y su respectivo valor esperado.
install.packages("daewr")
library(daewr)
COdatam = COdata
COdatam[18, 3] = NA
View(COdatam)
aire-combustible
14 15 16
66 72 68
0.1 62 67 66
µ + α1 + β1 + αβ11 µ + α1 + β2 + αβ12 µ + α1 + β3 + αβ13
78 80 66
Etanol 0.2 81 81 69
µ + α2 + β1 + αβ21 µ + α2 + β2 + αβ22 µ + α2 + β3 + αβ23
90 75 60
0.3 94 78
µ + α3 + β1 + αβ31 µ + α3 + β2 + αβ32 µ + α3 + β3 + αβ33
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 217
Para calcular las sumas de cuadrado ajustadas con desigual número de réplicas para
la hipótesis nula del efecto principal, se usa la opción contr.sum de la función lm y la
función Anova del paquete car. Las opciones type II y III en la función Anova calculan las
sumas de cuadrado tipo II y III respectivamente. La suma de cuadrado tipo II para los
factores A y B pueden ser representadas como ssAII = R(α | µ, β) y ssBII = R(β | µ, α).
R(α | µ, β) es la diferencia de la suma de cuadrado del error para el modelo reducido
donde X = (1 | XB ) y el modelo completo donde X = (1 | XA | XB | XAB ).
La suma de cuadrado tipo III para los factores A y B pueden ser representadas como
ssAIII = R(α | µ, β, αβ) y ssBIII = R(β | µ, α, αβ). R(α | µ, β, αβ) es la diferencia de
la suma de cuadrado del error para el modelo reducido donde X = (1 | XB | XAB ) y
el modelo completo donde X = (1 | XA | XB | XAB ).
El código de R para producir el ANOVA tipo III luego de eliminar una observación es
el siguiente:
library(car)
mod2=lm(CO~Eth*Ratio,data=COdatam,contrasts
= list( Eth = contr.sum, Ratio = contr.sum ))
Anova( mod2, type="III" )
Response: CO
Sum Sq Df F value Pr(>F)
(Intercept) 86198 1 15496.351 1.939e-14 ***
Eth 319 2 28.715 0.0002235 ***
Ratio 511 2 45.973 4.105e-05 ***
Eth:Ratio 555 4 24.945 0.0001427 ***
Residuals 44 8
Algunos analistas prefieren usar la suma de cuadrados tipo II, pero otros prefieren la
tipo III. Aquí ilustraremos el ejemplo con la opción tipo III, si queremos la suma de
cuadrados tipo III, únicamente hay que cambiar la opción type=II por type=III en el
código.
El paquete lsmeans calcula automáticamente las medias ajustadas, también llamadas
medias de mínimos cuadrados a través de las medias marginales de las medias predichas
de las celdas. Adicionalmente, el paquete los errores estándar y los límites de confianza.
El siguiente código muestra el uso de este paquete para obtener las medias marginales
tanto para etanol como para la relación aire-combustible. Note que la interpretación de
las medias marginales puedes ser errónea debido a la presencia de interacción.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 218
install.packages("lsmeans")
install.packages("emmeans")
library(emmeans)
library(lsmeans)
lsmeans(mod2,~ Eth)
lsmeans(mod2,~Ratio)
Results are averaged over the levels of: Ratio Confidence level
used: 0.95
En general, se deben usar las sumas de cuadrados y lsmeans de tipo II o III, ya que
probarán las hipótesis correctas y proporcionarán las medias insesgadas de los niveles
de los factores si el número de réplicas es igual o desigual
Los diseños factoriales de dos factores son más eficientes que estudiar cada factor por
separado en los diseños de un factor. Del mismo modo, cuando se están estudiando
muchos factores, es más eficiente estudiarlos juntos en un diseño multifactorial que es-
tudiarlos por separado en grupos de dos utilizando diseños factoriales de dos factores.
Cuando se estudian múltiples factores simultáneamente, la potencia para detectar efec-
tos principales aumenta en comparación con lo que sería en diseños factoriales separados
de dos factores. Además, es posible detectar interacciones entre cualquiera de los fac-
tores en estudio.
En un diseño multifactorial, no solo es posible detectar interacciones de dos factores
entre cualquier par de factores, sino que también es posible detectar interacciones de or-
den superior entre grupos de factores. Una interacción de tres factores entre los factores
A, B y C, por ejemplo, significa que el efecto del factor A difiere según la combinación
de los niveles de los factores B y C.
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 219
Ejemplo
Considere el problema 8.6 en Oehlert (2010): Un estudio acerca del manejo de varias
gramas tropicales para mejorar la producción, medida como rendimiento de materia
seca en cientos de libras por acre durante un período de estudio de 54 semanas. Las
variables de estudio fueron la altura de corte (1, 3 o 6 pulgadas), el intervalo de corte
(1, 3, 6 o 9 semanas) y la cantidad de fertilizante nitrogenado (0, 8, 16 o 32 cientos
de libras de amonio sulfatado por acre por año). Se asignaron 48 parcelas de manera
completamente al azar a las 48 combinaciones de nivel de factor.
Leeremos la base de datos con nombre ejem.csv en nuestros archivos.
data1=read.table(file.choose(),header=T,sep=",")
data1[,"ht"]=factor(data1[,"ht"], labels = c("1", "3", "6"))
data1[,"fert"]=factor(data1[,"fert"], labels = c("0", "8", "16", "32"))
data1[,"int"]=factor(data1[,"int"], labels = c("1", "3", "6", "9"))
View(data1)
mo1=aov(y~(ht+fert+int)^2,data=data1)
anova(mo1)
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
ht 2 29 14.6 0.0830 0.92068
fert 3 42072 14023.9 80.0153 1.334e-10 ***
int 3 73887 24629.0 140.5241 1.120e-12 ***
ht:fert 6 406 67.7 0.3860 0.87835
ht:int 6 3005 500.9 2.8578 0.03903 *
fert:int 9 5352 594.6 3.3927 0.01313 *
Residuals 18 3155 175.3
Existe evidencia de que tanto los efectos de altura de corte (ht) como de cantidad de
fertilizante (fert) dependen del nivel de intervalo de corte (int), ya que tanto las
interacciones ht:int como fert:int son significativas.
Usando polinomios ortogonales, con el siguiente código, podemos verificar si la interac-
ción de los tres factores es significativa.
htc = as.ordered(data1$ht)
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 220
fertc = as.ordered(data1$fert)
intc = as.ordered(data1$int)
htLin=contr.poly(htc)[htc,".L"]
fertLin=contr.poly(fertc)[fertc,".L"]
intLin=contr.poly(intc)[intc,".L"]
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
htc 2 29 15 0.0440 0.9570
fertc 3 42072 14024 42.3996 3.315e-12 ***
htLin:fertLin 1 4 4 0.0131 0.9096
htLin:intLin 1 72645 72645 219.6327 < 2.2e-16 ***
fertLin:intLin 1 373 373 1.1279 0.2949
htLin:fertLin:intLin 1 214 214 0.6460 0.4265
Residuals 38 12569 331
lo posible para acentuar la señal o la diferencia en la respuesta entre los dos niveles. Si
un factor tiene niveles cualitativos, las designaciones (−) y (+) son arbitrarias, pero los
dos niveles elegidos normalmente serían dos que el experimentador cree que deberían
dar como resultado la máxima diferencia en la respuesta.
El modelo para un diseño factorial con tres factores se puede escribir como sigue:
donde αi , βj , etc., son los efectos tal como se han definido con anterioridad. Sin embargo,
en el caso donde cada factor tiene solo dos niveles representados por (−) y (+), i, j,
k y l pueden ser remplazados con (−) o (+), y α− = −α+ , ya que α− = ȳ−... − ȳ.... ,
α+ = ȳ+... − ȳ.... y ȳ.... = (ȳ−... + ȳ+... )/2.
La anterior igualdad es similar para todos los efectos e interacciones. Una manera
más compacta de definir los efectos principales para un factorial de dos niveles es
EA = ȳ+... − ȳ−... . Esto se puede visualizar en el lado izquierdo de la siguiente figura
(tamada de Lawson (2015)) y representa el cambio en la respuesta promedio causada
por un cambio en el factor desde su nivel bajo (−) hasta su nivel alto (+). Este efecto
puede ser representado por la diferencia en dos promedios ȳ+... y ȳ−... .
como un medio la diferencia en el efecto simple del factor A, (ȳ++.. − ȳ−+.. ), cuando
el factor B se fija en su nivel alto (+), y el efecto simple del factor A, (ȳ+−.. − ȳ−−.. ),
cuando factor B se fija en su nivel bajo (−), es decir, ((ȳ++.. − ȳ−+.. ) − (ȳ+−.. − ȳ−−.. ))/2.
Ejemplo
Para ilustrar el diseño y análisis de un experimento factorial 23 , consideremos el sigu-
iente ejemplo (ver Lawson y Erjavec, 2001). Los estudiantes en un laboratorio de elec-
trónica de una universidad consideran que las mediciones de voltaje realizadas en un
circuito que construyeron en clase eran inconsistentes. El asistente de enseñanza de
laboratorio (TA) decidió realizar un experimento para tratar de identificar la fuente
de la variación. Los tres factores que varió fueron A = la temperatura ambiente donde
se realizó la medición de voltaje, B = el tiempo de calentamiento del voltímetro y C
= el tiempo en que se conectó la alimentación al circuito antes de tomar la medición.
La respuesta fue la tensión medida en milivoltios. Los dos niveles para el factor A
fueron − = 22o C (temperatura ambiente) y + = 32o C (cerca de la temperatura en
algunos entornos industriales). Se usó un horno y el circuito se dejó estabilizar durante
al menos cinco minutos antes de las mediciones. Los niveles para los factores B y C
fueron − = 30 segundos o menos, y + = 5 minutos. El mismo circuito se midió para
cada combinación de factores de tratamiento, por lo que la unidad experimental no fue
más que el ensayo o el momento en el que se aplicó la combinación particular de niveles
de factor de tratamiento para realizar la medición. Se ejecutaron dos réplicas de cada
una de las ocho combinaciones experimentales en un orden aleatorio para evitar sesgos.
Los resultados del experimento se muestran en la siguiente tabla.
Los niveles codificados del factor se pueden calcular fácilmente a partir del valor real
CAPÍTULO 6. INTRODUCCIÓN AL ANÁLISIS DE VARIANZA 223
install.packages("DoE.base")
library(DoE.base)
library(daewr)
modv = lm( y ~ A*B*C, data=volt, contrast=list(A=contr.FrF2,
B=contr.FrF2, C=contr.FrF2))
summary(modv)
Residuals:
Min 1Q Median 3Q Max
-21.50 -11.75 0.00 11.75 21.50
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 668.5625 4.5178 147.985 4.86e-15 ***
A1 -16.8125 4.5178 -3.721 0.00586 **
B1 0.9375 4.5178 0.208 0.84079
C1 5.4375 4.5178 1.204 0.26315
A1:B1 -6.6875 4.5178 -1.480 0.17707
A1:C1 12.5625 4.5178 2.781 0.02390 *
B1:C1 1.8125 4.5178 0.401 0.69878
A1:B1:C1 -5.8125 4.5178 -1.287 0.23422
---
los niveles del factor codificado, de modo que los coeficientes de regresión producidos
por la función lm de R son exactamente la mitad de los efectos. Por tanto, el efecto
del factor A es el doble del coeficiente de regresión que se muestra en el output, o
EA = 2 × β̂A = 2(−16.8125) = −33.625. Esto significa que, en promedio, cuando
la temperatura ambiente aumenta de 22o a 32o , la medición de voltaje disminuirá en
33.6 milivoltios. Sin embargo, dado que la interacción es significativa en este ejemplo,
realmente no tiene sentido hablar del efecto principal promedio porque el efecto de la
temperatura ambiente depende del tiempo de calentamiento del circuito.
Veamos ahora el gráfico de interacción.
C_Warmup=volt$C
with(volt, (interaction.plot(A, C_Warmup, y, type = "b",
pch = c(24,22), leg.bty = "o", xlab = "Temperatura",ylab =
"Voltaje")))
690
C_Warmup
5
0.5
680
670
Voltaje
660
650
640
22 32
Temperatura
milivoltios) en la lectura del voltaje. Por lo tanto, para que las lecturas de voltaje sean
más consistentes, el laboratorio recomendó a sus estudiantes que dejen que sus circuitos
se calienten 5 minutos antes de realizar las mediciones de voltaje.
La ortogonalidad del diseño también permite escribir una ecuación de predicción re-
ducida a partir de los resultados de la regresión, simplemente eliminando los términos
insignificantes. Esta ecuación se puede usar para predecir la lectura de voltaje en mili-
voltios para cualquier temperatura ambiente entre 22o y 32o , y cualquier tiempo de
calentamiento del circuito entre 30 segundos y 5 minutos.
( ) ( )( )
T emp − 27 CW arm − 2.75 T emp − 27
y = 668.563 − 16.813 + 12.563 .
5 2.25 5
Ejercicio:
Yang-Gyu y Woolley (2006), realizaron un experimento factorial 4 × 3 donde se var-
ió la concentración del regulador de crecimiento de plantas CPPU en una solución y
el momento en que se sumergieron las espárragos en una solución. Los resultados se
muestran en la tabla de abajo.
Tiempo de inmersión
CPPU Conc. 30 60 90
0 (control) 92.5 92.9 91.3
0.5 ppm 97.8 94.9 101.3
1 ppm 97 98.5 101.6
10 ppm 103.4 102.9 98.6
η = xT β
η = g(µ)
226
CAPÍTULO 7. MODELOS LINEALES GENERALIZADOS 227
edad=c(10.83,11.08,11.33,11.58,11.83,12.08,12.33,12.58,12.83,13.08,
13.33,13.58,13.83,14.08,14.33,14.58,14.83,15.08,15.33,15.58)
exitos=c(2,2,5,10,17,16,29,39,51,47,67,81,88,79,90,113,95,117,107,92)
n=c(120,90,88,105,111,100,93,100,108,99,106,105,117,98,97,120,102,
122,111,94)
mod1=glm(cbind(exitos,n-exitos)~edad,family="binomial")
summary(mod1)
Call:
glm(formula = cbind(exitos, n - exitos) ~ edad, family = "binomial")
Deviance Residuals:
Min 1Q Median 3Q Max
-1.2267 -0.8613 -0.3124 0.7507 1.2841
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -20.4692 0.8349 -24.52 <2e-16 ***
edad 1.5755 0.0638 24.69 <2e-16 ***
---
(Dispersion parameter for binomial family taken to be 1)
Podemos evaluar la calidad de ajuste del modelo usando los grados de libertad del
Residual deviance evaluado en la cola de la distribución Chi-cuadrado, y compararlo
con el estadístico Chi-cuadrado. esto es:
a=qchisq(0.95,18)
> a
[1] 28.8693
CAPÍTULO 7. MODELOS LINEALES GENERALIZADOS 228
Ahora, como el Residual deviance que es igual a 14.893 es menor que a = 28.8693, no
rechazo la hipótesis nula que el modelo ajustado es adecuado, relativo al modelo nulo.
CAPÍTULO 7. MODELOS LINEALES GENERALIZADOS 229
7.2. Referencias
Abel D (1999). Diseño Estadístico de experimentos. Universidad de Antioquía,
primera edición. Páginas 231-261.
Benjamini, Yoav; Hochberg, Yosef (1995). “Controlling the false discovery rate: a
practical and powerful approach to multiple testing”. Journal of the Royal Statis-
tical Society, Series B 57 (1). 289-300.
Faraway, J. (2002). Practical Regression and Anova using R. Ann Arbor, MI,
self-published. http : //cran.r − project.org/doc/contrib/F araway − P RA.pdf
Montgomery D.C. Design and analysis of experiments. Jhon Wiley & Sons, INC
2001, quinta edición. 392-422.