Se determinó el tiempo de respuesta en milisegundos para tres diferentes tipos de circuitos que podrían usarse en un mecanismo de desconexión automática. Los resultados se muestran en la tabla:
| Tipo de circuito | Tiempos de respuesta (ms) |
|---|---|
| 1 | 9, 12, 10, 8, 15 |
| 2 | 20, 21, 23, 17, 30 |
| 3 | 6, 5, 8, 16, 7 |
1. Se desea probar la hipótesis de que los tres tipos de circuitos tienen el mismo tiempo de respuesta utilizando un nivel de significancia \(\alpha = 0.01\).
Crear un dataframe con los datos de la tabla
datos <- data.frame(
Tipo_de_circuito = rep(c(1, 2, 3), each = 5),
Tiempo_de_respuesta = c(9, 12, 10, 8, 15, 20, 21, 23, 17, 30, 6, 5, 8, 16, 7)
)
print(datos)
## Tipo_de_circuito Tiempo_de_respuesta
## 1 1 9
## 2 1 12
## 3 1 10
## 4 1 8
## 5 1 15
## 6 2 20
## 7 2 21
## 8 2 23
## 9 2 17
## 10 2 30
## 11 3 6
## 12 3 5
## 13 3 8
## 14 3 16
## 15 3 7
Planteamiento de hipótesis
\[ H_0: \mu_1 = \mu_2 = \mu_3
\]
(Los tiempos promedio de respuesta son iguales para todos los tipos de
circuitos)
\[ H_a: \text{Al menos uno de los } \mu_i
\text{ es diferente} \]
(Al menos un tipo de circuito tiene un tiempo promedio de respuesta
diferente)
model <- aov(Tiempo_de_respuesta~factor(Tipo_de_circuito),data=datos)
summary(model)
## Df Sum Sq Mean Sq F value Pr(>F)
## factor(Tipo_de_circuito) 2 543.6 271.8 16.08 0.000402 ***
## Residuals 12 202.8 16.9
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Decisión: Con pv= 0.000402 < 0.01 se rechaza la hipótesis nula.
Conclusión: Se puede concluir que existe una diferencia significativa entre los tres tipos de circuito.
residuos <- residuals(model)
hist(residuos,main="Histograma",col="pink")
qqnorm(residuos)
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.87352, p-value = 0.03802
Decisión: Con un pv=0.03802 > 0.01 se acepta la hipótesis nula.
Conclusión: El modelo cumple con el supuesto de normalidad
bartlett.test(Tiempo_de_respuesta~factor(Tipo_de_circuito),data=datos)
##
## Bartlett test of homogeneity of variances
##
## data: Tiempo_de_respuesta by factor(Tipo_de_circuito)
## Bartlett's K-squared = 1.1345, df = 2, p-value = 0.5671
Decisión: Con pv= 0.5671 > 0.01 se acepta la hipótesis nula.
Conclusión: Se puede concluir que la varianza de los supuestos es constante para todas las combinaciones de niveles de factores.
library(car)
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.2.3
durbinWatsonTest(model)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.4329389 2.840237 0.222
## Alternative hypothesis: rho != 0
Decisión: Con pv= 0.24 > 0.01 se acepta la hipótesis nula.
Conclusión: Se puede concluir que los datos son independientes uno de otro y se cumple el supuesto de independencia.
2. Use la prueba de Tukey para camparar pares de medias de los tratamientos. Utilizar \(\alpha = 0.01\).
tukey <- TukeyHSD(model, conf.level = 0.99)
tukey
## Tukey multiple comparisons of means
## 99% family-wise confidence level
##
## Fit: aov(formula = Tiempo_de_respuesta ~ factor(Tipo_de_circuito), data = datos)
##
## $`factor(Tipo_de_circuito)`
## diff lwr upr p adj
## 2-1 11.4 2.123163 20.676837 0.0023656
## 3-1 -2.4 -11.676837 6.876837 0.6367043
## 3-2 -13.8 -23.076837 -4.523163 0.0005042
plot(tukey)
El circuito 2 tiene un tiempo de respuesta significativamente mayor que el circuito 1.
Comparación 2 : Dado que el valor pv> 0.01, no existe una diferencia significativa entre los tiempos de respuesta del circuito 3 y el circuito 1.
Comparación 3 : Dado que el valor pv<0.01, la diferencia entre las medias del circuito 3 y el circuito 2 es significativamente diferente.
El circuito 3 tiene un tiempo de respuesta significativamente menor que el circuito 2.
En terminos prácticos esto significa que, los tipos de circuito 3 y 1 tuvieron un mejor tiempo de respuesta (menor tiempo).
3. Si quiere detectarse una diferencia máxima en los tiempos de respuesta promedio de 10 milisegundos con una probabilidad de al menos 0.90 ¿qué tamaño de la muestra deberá usarse?¿Como se obtendrá una estimación puntual de \(\sigma^2\)
Definir función
sample_size <- function(alpha, sigma, dT, k, n0) {
t_alpha_2 <- qt(1-alpha/2, df = k*(n0-1))
n <- (2 * (t_alpha_2 ^ 2) * (sigma ^ 2)) / (dT ^2)
return(ceiling(n))
}
Probar la función con parámetros establecidos
sample_size(alpha=0.1,sigma=sqrt(16.9),dT=10,k=3,n0=5)
## [1] 2
¿Como se obtendrá una estimación puntual de \(\sigma^2\)
Por medio de la desviación estándar estimada a partir del ANOVA, que es \(\sqrt{16.9} \approx 4.11\).
Potencia de prueba
Fcrit <- function(alpha,nu1,nu2) stats::qf(1-alpha,nu1,nu2)
Fpower1<-function(alpha=NULL, nlev=NULL,nreps=NULL, Delta=NULL, sigma=NULL)
{
##### Power Calculation for one way ANOVA ###########
# Argument list
# alpha: the significance level of the test
# nlev: the number of levels of the factor
# nreps: the number of replicates in each level of the factor
# Delta: the size of a practical difference in two cell means
# sigma: the standard deviation of the experimental error
#####################################################
if (is.null(alpha)|is.null(nlev)|is.null(nreps)|is.null(Delta)|is.null(sigma))
stop("you must supply alpha, nlev, nreps, Delta and sigma")
css<-(Delta^2)/2
nc<- (nreps*css)/(sigma^2)
df1<-nlev-1
df2<-(nreps-1)*nlev
power <- 1-stats::pf(Fcrit(alpha,df1,df2),df1,df2,nc)
result <- cbind(alpha,nlev,nreps, Delta, sigma, power)
return(result)
}
Aplicación de función
rmin <-2 # menor número de réplicas que consideramos
rmax <-10 # mayor número de réplicas que consideramos
alpha=0.1
k=3
nreps=rmin:rmax
dT=10
sigma=sqrt(16.9)
power <- Fpower1(alpha,k,nreps,dT,sigma)
power
## alpha nlev nreps Delta sigma power
## [1,] 0.1 3 2 10 4.110961 0.4175364
## [2,] 0.1 3 3 10 4.110961 0.6982921
## [3,] 0.1 3 4 10 4.110961 0.8561776
## [4,] 0.1 3 5 10 4.110961 0.9353690
## [5,] 0.1 3 6 10 4.110961 0.9722735
## [6,] 0.1 3 7 10 4.110961 0.9885480
## [7,] 0.1 3 8 10 4.110961 0.9954177
## [8,] 0.1 3 9 10 4.110961 0.9982154
## [9,] 0.1 3 10 10 4.110961 0.9993211
Conclusión: Se concluyó que con un nivel de significancia de \(\alpha = 0.1\) y un número de niveles (tipos de circuito) \(k = 3\), que se necesita un tamaño de muestra mínimo de 2 para detectar diferencias significativas. Adicionalmente, para garantizar una alta probabilidad de detección de la diferencia (≥ 0.90), se recomienda un mínimo de 4 réplicas en cada nivel del factor.
Un Diseño de Bloques Completamente al Azar (DBCA) es una técnica experimental donde los tratamientos se asignan al azar dentro de cada bloque. Los bloques son grupos de unidades experimentales que son homogéneos respecto a algún factor que podría influir en los resultados. El objetivo del DBCA es minimizar la variabilidad dentro de los bloques, separando los efectos debidos a variaciones entre ellos, lo que permite un análisis más preciso de los tratamientos.
Ejemplo: Si se esta probando diferentes fertilizantes en cultivos y las condiciones del suelo varían en diferentes áreas de la parcela, cada área sería un bloque. Dentro de cada bloque, se asignan los fertilizantes al azar (tratamientos).
Los factores de bloqueo son variables que pueden influir en la respuesta experimental pero no son de interés principal. Se usan para dividir las unidades experimentales en grupos (bloques) que son homogéneos en relación con el factor de bloqueo. Esto permite controlar la variabilidad debida a este factor, mejorando la precisión del experimento.
Ejemplo: En un estudio de productividad de plantas, el clima o el tipo de suelo podría ser un factor de bloqueo.
Un Diseño en Cuadro Latino (DCL) es un diseño experimental que organiza los tratamientos en una tabla cuadrada donde cada fila y cada columna representa un factor de control o de bloqueo. De esta manera, cada tratamiento aparece exactamente una vez en cada fila y cada columna, controlando la variabilidad en dos direcciones.
Ejemplo: Si se tiene 3 fertilizantes (A, B, C) y tres tipos de suelo, se puede organizar los fertilizantes de forma que cada uno aparezca una vez en cada tipo de suelo.
Implementación en R:
library(agricolae)
## Warning: package 'agricolae' was built under R version 4.2.3
# Definir tratamientos
tratamientos <- c("A", "B", "C")
# Crear cuadro latino
diseno <- design.lsd(tratamientos, serie = 1, seed = 123)
# Visualizar el diseño
print(diseno$sketch)
## [,1] [,2] [,3]
## [1,] "C" "A" "B"
## [2,] "A" "B" "C"
## [3,] "B" "C" "A"
Un Diseño en Cuadro Greco-Latino es una extensión del diseño en cuadro latino. Aquí, además de tener filas y columnas, se introduce un tercer factor de control o bloqueo, que aparece una vez en cada fila y columna junto con los otros dos factores. Este diseño se utiliza cuando se *quiere controlar la variabilidad en tres direcciones.
Ejemplo: Si tienes 4 tipos de fertilizantes, 4 tipos de suelo y 4 tipos de riego, un diseño greco-latino podría ayudarte a controlar la variabilidad en los tres factores simultáneamente.
Implementación en R:
fertilizantes <- c("F1", "F2", "F3", "F4")
suelos <- c("S1", "S2", "S3", "S4")
riegos <- c("R1", "R2", "R3", "R4")
# Crear el diseño greco-latino
# Fertilizantes como tratamiento, suelos y riegos como filas y columnas
diseño <- design.graeco(fertilizantes, suelos, serie=1, seed=123)
# Visualizar el diseño (cuadro greco-latino)
print(diseño$sketch)
## [,1] [,2] [,3] [,4]
## [1,] "F3 S1" "F1 S3" "F4 S2" "F2 S4"
## [2,] "F1 S2" "F3 S4" "F2 S1" "F4 S3"
## [3,] "F4 S4" "F2 S2" "F3 S3" "F1 S1"
## [4,] "F2 S3" "F4 S1" "F1 S4" "F3 S2"
El Diseño de Bloques Completamente al Azar (DBCA) se utiliza cuando se busca controlar la variabilidad causada por factores externos que no son de interés, pero que pueden afectar el resultado del experimento. Es ideal cuando las unidades experimentales pueden dividirse en grupos (bloques) que son homogéneos con respecto a algún factor que no está bajo estudio pero influye en la respuesta.
Los tratamientos son las condiciones o intervenciones que se desean comparar (por ejemplo, tipos de fertilizantes).
Los bloques son agrupaciones de unidades experimentales con características similares en relación con un factor de variabilidad (por ejemplo, parcelas con similares condiciones de suelo).
La diferencia es que en un Diseño de Bloques Completamente al Azar (DBCA), los bloques agrupan las unidades experimentales para controlar la variabilidad en una sola dirección, mientras que en un Diseño en Cuadro Latino, se controlan dos fuentes de variabilidad (por filas y columnas).
DBCA: Un solo factor de bloqueo. Cuadro Latino: Dos factores de bloqueo (filas y columnas).
En un Diseño en Bloques Completamente al Azar (DBCA), el error aleatorio se reduce porque se agrupan las unidades experimentales en bloques que son homogéneos respecto a algún factor externo que podría afectar la respuesta. Al hacerlo, se separa la variabilidad debida al factor de bloqueo, dejando una variabilidad menor para ser atribuida al azar dentro de cada bloque. Esto mejora la precisión de la comparación entre tratamientos.
Se hace un estudio sobre la efectividad de tres marcas de atomizador para matar moscas. Para ello, cada producto se aplica a un grupo de 100 moscas, y se cuenta el número de moscas muertas expresado en porcentajes. Se hicieron seis réplicas, pero en días diferentes; por ello, se sospecha que puede haber algún efecto importante debido a esta fuente de variación. Los datos obtenidos se muestran a continuación:
| Marca de Atomizador | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 1 | 72 | 65 | 67 | 76 | 68 | 58 |
| 2 | 55 | 59 | 68 | 70 | 73 | 50 |
| 3 | 64 | 74 | 61 | 58 | 51 | 69 |
a. Suponiendo un DBCA, formule las hipótesis adecuadas y el modelo estadístico.
Las hipótesis son:
\[ H_0: \mu_1 = \mu_2 = \mu_3
\]
(La efectividad promedio es igual para los tres tipos de atomizador)
\[ H_a: \text{Al menos uno de los } \mu_i
\text{ es diferente} \]
(Al menos un tipo de atomizador tiene una efectividad promedio de
respuesta diferente)
\[ Y_{ij} = \mu + \alpha_i + \beta_j + \varepsilon_{ij} \]
Donde:
\(Y_{ij}\) es la observación (número de moscas muertas) para el \(i\)-ésimo tratamiento (atomizador) y el \(j\)-ésimo bloque (día).
\(\mu\) es el promedio general.
\(\alpha_i\) es el efecto del \(i\)-ésimo tratamiento (atomizador).
\(\beta_j\) es el efecto del \(j\)-ésimo bloque (día).
\(\varepsilon_{ij}\) es el término de error aleatorio.
¿Existe diferencia entre la efectividad promedio de los atomizadores?
Crear un dataframe con los datos de la tabla:
# Datos de efectividad de los atomizadores
datos <- data.frame(
Atomizador = factor(rep(1:3, each = 6)), # Marca de atomizador
Dia = factor(rep(1:6, times = 3)), # Días
Efectividad = c(72, 65, 67, 75, 62, 73, # Efectividad del atomizador 1
55, 59, 68, 70, 53, 50, # Efectividad del atomizador 2
64, 74, 61, 58, 51, 69) # Efectividad del atomizador 3
)
Modelo ANOVA
anova_model <- aov(Efectividad ~ Atomizador + Dia, data = datos)
summary(anova_model)
## Df Sum Sq Mean Sq F value Pr(>F)
## Atomizador 2 296.3 148.17 2.881 0.103
## Dia 5 281.3 56.27 1.094 0.421
## Residuals 10 514.3 51.43
Decisión: Con pv= 0.103 > 0.05 no se rechaza la hipótesis nula.
Conclusión: Se puede concluir que no existe una diferencia significativa en la efectividad promedio de los atomizadores.
No existe evidencia significativa para afirmar que alguno es mejor que otro.
Decisión: Con pv= 0.421 > 0.05 no se rechaza la hipótesis nula.
Conclusión: Se puede concluir que no existe una diferencia significativa en los días que se realizó el experimento.
residuos <- residuals(anova_model)
hist(residuos,main="Histograma",col="lightblue")
qqnorm(residuos)
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.9575, p-value = 0.5541
Decisión: Con un pv=0.5541 > 0.05 se acepta la hipótesis nula.
Conclusión: El modelo cumple con el supuesto de normalidad.
# Prueba de Bartlett para el factor Atomizador
resultado_bartlett_atomizador <- bartlett.test(Efectividad ~ Atomizador, data = datos)
# Mostrar el resultado
print(resultado_bartlett_atomizador)
##
## Bartlett test of homogeneity of variances
##
## data: Efectividad by Atomizador
## Bartlett's K-squared = 1.1889, df = 2, p-value = 0.5519
Decisión: Con pv= 0.5519 > 0.01 se acepta la hipótesis nula.
Conclusión: Se puede concluir que la varianza de los supuestos es constante para todas las combinaciones de niveles de factores.
Prueba de homocedasticidad para los días.
resultado_bartlett_dia <- bartlett.test(Efectividad ~ Dia, data = datos)
print(resultado_bartlett_dia)
##
## Bartlett test of homogeneity of variances
##
## data: Efectividad by Dia
## Bartlett's K-squared = 2.348, df = 5, p-value = 0.7992
Decisión: Con pv= 0.7992 > 0.01 se acepta la hipótesis nula.
Conclusión: Se puede concluir que la varianza de los supuestos es constante para todas las combinaciones de niveles de factores.
library(car)
durbinWatsonTest(anova_model)
## lag Autocorrelation D-W Statistic p-value
## 1 0.06723914 1.781864 0.41
## Alternative hypothesis: rho != 0
Decisión: Con pv= 0.41 > 0.01 se acepta la hipótesis nula.
Conclusión: Se puede concluir que los datos son independientes uno de otro y se cumple el supuesto de independencia.