La empresa desea analizar la relación entre las preferencias de diseño en el mercado británico y americano. Los datos de ranking por país son:
british_rank <- c(1, 2, 3, 4, 5, 6, 7)
american_rank <- c(3, 4, 1, 5, 2, 7, 6)
data.frame(Diseño = LETTERS[1:7], British = british_rank, American = american_rank)
## Diseño British American
## 1 A 1 3
## 2 B 2 4
## 3 C 3 1
## 4 D 4 5
## 5 E 5 2
## 6 F 6 7
## 7 G 7 6
Ho= Los datos se distribuyen de manera normal
Ha= Los datos no provienen de una distribución normal.
shapiro.test(british_rank)
##
## Shapiro-Wilk normality test
##
## data: british_rank
## W = 0.978, p-value = 0.9493
shapiro.test(american_rank)
##
## Shapiro-Wilk normality test
##
## data: american_rank
## W = 0.978, p-value = 0.9493
Para todos los grupos los p-value son mayores que 0.05 lo cual indica que no hay un rechazo a la hipotesis nula, es decir hay evidencia suficiente para decir que los datos siguen una distribucion normal.
Hipótesis nula (H0): En la prueba de correlación de Pearson, la hipótesis nula (H0) establece que el coeficiente de correlación poblacional (ρ) es igual a cero. Esto significa que no hay relación lineal entre las dos variables en la población.
Hipótesis alternativa (H1): La hipótesis alternativa (H1) establece que el coeficiente de correlación poblacional (ρ) es diferente de cero. Esto significa que sí existe una relación lineal entre las dos variables en la población
cor.test(british_rank, american_rank, method = "pearson")
##
## Pearson's product-moment correlation
##
## data: british_rank and american_rank
## t = 1.557, df = 5, p-value = 0.1802
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.3188267 0.9260079
## sample estimates:
## cor
## 0.5714286
el valor p es > a 0.05 lo cual indica que se acepta la hipotesis nula, es decir que el coeficiente de correlación poblacional (ρ) es igual a cero. Esto significa que no hay relación lineal entre las dos variables en la población
Hipótesis Nula (Ho): No existe correlación entre las variables X e Y. El coeficiente de correlación de Spearman (ρ) es igual a 0.
Hipótesis Alternativa (Ha): Existe una correlación entre las variables X e Y. El coeficiente de correlación de Spearman (ρ) es diferente de 0 (puede ser positivo o negativo).
cor.test(british_rank, american_rank, method = "spearman")
##
## Spearman's rank correlation rho
##
## data: british_rank and american_rank
## S = 24, p-value = 0.2
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.5714286
el valor p es > a 0.05 lo cual indica que se acepta la hipotesis nula, es decir que el coeficiente es igual a cero. Esto significa que no hay correlacion entre las dos variables en la población
Hipótesis Nula (H0): No existe asociación monótona significativa entre las variables. El coeficiente de correlación de Kendall (tau) es igual a cero.
Hipótesis Alternativa (H1): Existe una asociación monótona significativa entre las variables. El coeficiente de correlación de Kendall (tau) es diferente de cero.
cor.test(british_rank, american_rank, method = "kendall")
##
## Kendall's rank correlation tau
##
## data: british_rank and american_rank
## T = 15, p-value = 0.2389
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## 0.4285714
el valor p es > a 0.05 lo cual indica que se acepta la hipotesis nula, es decir que el coeficiente es igual a cero. Esto significa que No existe asociación monótona significativa entre las variables.
d <- british_rank - american_rank
d2 <- d^2
sum_d2 <- sum(d2)
n <- length(british_rank)
rho_s_manual <- 1 - (6 * sum_d2) / (n * (n^2 - 1))
rho_s_manual
## [1] 0.5714286
t_s <- rho_s_manual * sqrt(n - 2) / sqrt(1 - rho_s_manual^2)
t_s
## [1] 1.556998
Sin embargo, en todos los casos el valor p es > 0.05, por lo que no hay evidencia estadísticamente significativa de una correlación positiva.
Pearson fue calculado únicamente como ejercicio, pero no es válido en datos ordinales.
Análisis de correlación entre consumo de oxígeno (MVO) y presión ventricular izquierda (LVP).
# Datos
MVO <- c(78, 92, 116, 90, 106, 78, 89)
LVP <- c(33, 33, 45, 30, 38, 24, 44)
data.frame(Dog = LETTERS[1:7], MVO, LVP)
## Dog MVO LVP
## 1 A 78 33
## 2 B 92 33
## 3 C 116 45
## 4 D 90 30
## 5 E 106 38
## 6 F 78 24
## 7 G 89 44
Ho= Los datos se distribuyen de manera normal
Ha= Los datos no provienen de una distribución normal.
shapiro.test(MVO)
##
## Shapiro-Wilk normality test
##
## data: MVO
## W = 0.90491, p-value = 0.3618
shapiro.test(LVP)
##
## Shapiro-Wilk normality test
##
## data: LVP
## W = 0.94691, p-value = 0.7015
Para todos los grupos los p-value son mayores que 0.05 lo cual indica que no hay un rechazo a la hipotesis nula, es decir hay evidencia suficiente para decir que los datos siguen una distribucion normal.
Hipótesis nula (H0): En la prueba de correlación de Pearson, la hipótesis nula (H0) establece que el coeficiente de correlación poblacional (ρ) es igual a cero. Esto significa que no hay relación lineal entre las dos variables en la población.
Hipótesis alternativa (H1): La hipótesis alternativa (H1) establece que el coeficiente de correlación poblacional (ρ) es diferente de cero. Esto significa que sí existe una relación lineal entre las dos variables en la población
cor.test(MVO, LVP, method = "pearson")
##
## Pearson's product-moment correlation
##
## data: MVO and LVP
## t = 2.2035, df = 5, p-value = 0.07875
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.1085312 0.9518404
## sample estimates:
## cor
## 0.7018928
el valor p es > a 0.05 lo cual indica que se acepta la hipotesis nula, es decir que el coeficiente de correlación poblacional (ρ) es igual a cero. Esto significa que no hay relación lineal entre las dos variables en la población
Hipótesis Nula (Ho): No existe correlación entre las variables X e Y. El coeficiente de correlación de Spearman (ρ) es igual a 0.
Hipótesis Alternativa (Ha): Existe una correlación entre las variables X e Y. El coeficiente de correlación de Spearman (ρ) es diferente de 0 (puede ser positivo o negativo).
cor.test(MVO, LVP, method = "spearman")
## Warning in cor.test.default(MVO, LVP, method = "spearman"): Cannot compute
## exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: MVO and LVP
## S = 20.873, p-value = 0.1316
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.6272727
el valor p es > a 0.05 lo cual indica que se acepta la hipotesis nula, es decir que el coeficiente es igual a cero. Esto significa que no hay correlacion entre las dos variables en la población
Hipótesis Nula (H0): No existe asociación monótona significativa entre las variables. El coeficiente de correlación de Kendall (tau) es igual a cero.
Hipótesis Alternativa (H1): Existe una asociación monótona significativa entre las variables. El coeficiente de correlación de Kendall (tau) es diferente de cero.
cor.test(MVO, LVP, method = "kendall")
## Warning in cor.test.default(MVO, LVP, method = "kendall"): Cannot compute exact
## p-value with ties
##
## Kendall's rank correlation tau
##
## data: MVO and LVP
## z = 1.6897, p-value = 0.09109
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## 0.55
el valor p es > a 0.05 lo cual indica que se acepta la hipotesis nula, es decir que el coeficiente es igual a cero. Esto significa que No existe asociación monótona significativa entre las variables.
rank_MVO <- rank(MVO)
rank_LVP <- rank(LVP)
d <- rank_MVO - rank_LVP
d_squared <- d^2
n <- length(MVO)
rho <- 1 - (6 * sum(d_squared)) / (n * (n^2 - 1))
data.frame(MVO, rank_MVO, LVP, rank_LVP, d, d_squared)
## MVO rank_MVO LVP rank_LVP d d_squared
## 1 78 1.5 33 3.5 -2.0 4.00
## 2 92 5.0 33 3.5 1.5 2.25
## 3 116 7.0 45 7.0 0.0 0.00
## 4 90 4.0 30 2.0 2.0 4.00
## 5 106 6.0 38 5.0 1.0 1.00
## 6 78 1.5 24 1.0 0.5 0.25
## 7 89 3.0 44 6.0 -3.0 9.00
rho
## [1] 0.6339286
Según la prueba de Shapiro-Wilk, MVO (p = 0.36) y LVP (p = 0.70) sí cumplen normalidad.
Por lo tanto, Pearson es válido y se puede considerar como principal en este caso.
Todas las pruebas muestran una correlación positiva (coeficientes > 0.5), pero ninguna alcanza significancia estadística (p > 0.05).
Aunque no se puede afirmar con certeza estadística que haya una relación, los datos sugieren una tendencia a correlación positiva moderada a fuerte.
notas <- matrix(c(
22, 30, 27, 30, 28, 28, 28, 28, 36, 29,
20, 28, 25, 29, 28, 25, 29, 34, 40, 30,
22, 28, 29, 28, 25, 29, 33, 29, 33, 27,
24, 29, 30, 28, 29, 27, 30, 30, 34, 30,
30, 41, 37, 41, 34, 32, 35, 29, 42, 34,
27, 27, 32, 33, 33, 23, 36, 22, 42, 29
), nrow = 10, byrow = TRUE)
colnames(notas) <- paste0("Examinador_", 1:6)
rownames(notas) <- paste0("Script_", 1:10)
notas
## Examinador_1 Examinador_2 Examinador_3 Examinador_4 Examinador_5
## Script_1 22 30 27 30 28
## Script_2 28 28 36 29 20
## Script_3 25 29 28 25 29
## Script_4 40 30 22 28 29
## Script_5 25 29 33 29 33
## Script_6 24 29 30 28 29
## Script_7 30 30 34 30 30
## Script_8 37 41 34 32 35
## Script_9 42 34 27 27 32
## Script_10 33 23 36 22 42
## Examinador_6
## Script_1 28
## Script_2 28
## Script_3 34
## Script_4 28
## Script_5 27
## Script_6 27
## Script_7 41
## Script_8 29
## Script_9 33
## Script_10 29
Ho= Los datos se distribuyen de manera normal
Ha= Los datos no provienen de una distribución normal.
apply(notas, 2, shapiro.test)
## $Examinador_1
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.91742, p-value = 0.3359
##
##
## $Examinador_2
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.8367, p-value = 0.04028
##
##
## $Examinador_3
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.91823, p-value = 0.3424
##
##
## $Examinador_4
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.93114, p-value = 0.4592
##
##
## $Examinador_5
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92266, p-value = 0.3797
##
##
## $Examinador_6
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.7588, p-value = 0.004567
Para algunos grupos los p-value son menores que 0.05 lo cual indica que hay un rechazo a la hipotesis nula, es decir no hay evidencia suficiente para decir que los datos siguen una distribucion normal.
Hipótesis nula (H0): Las medianas de las poblaciones de las diferentes condiciones o tratamientos son iguales.
Hipótesis alternativa (H1): Al menos una de las medianas de las poblaciones es diferente de las demás.
friedman.test(notas)
##
## Friedman rank sum test
##
## data: notas
## Friedman chi-squared = 4.052, df = 5, p-value = 0.542
el p value es > 0.542 por lo tanto se acepta la hipotesis nula y re rechaza alternativa, es decir Las medianas de las poblaciones de las diferentes condiciones o tratamientos son iguales.
library(irr)
## Loading required package: lpSolve
kendall(notas)
## Kendall's coefficient of concordance W
##
## Subjects = 10
## Raters = 6
## W = 0.274
##
## Chisq(9) = 14.8
## p-value = 0.0966
##
## Coefficient may be incorrect due to ties
No se puede rechazar la hipótesis nula de que los examinadores ordenan los scripts de manera independiente (p > 0.05). Es decir, no hay evidencia estadísticamente significativa de acuerdo entre ellos.
evaluar si algunos examinadores califican sistemáticamente más alto o bajo
kruskal.test(as.vector(notas) ~ factor(rep(1:6, each = 10)))
##
## Kruskal-Wallis rank sum test
##
## data: as.vector(notas) by factor(rep(1:6, each = 10))
## Kruskal-Wallis chi-squared = 2.647, df = 5, p-value = 0.7542
No hay evidencia estadísticamente significativa de que algún examinador tienda a calificar más alto o más bajo que los otros. Las diferencias en las puntuaciones medias entre los examinadores podrían deberse al azar.
ranked <- t(apply(notas, 1, rank))
sum_ranks <- colSums(ranked)
n <- 10 # scripts (bloques)
k <- 6 # examinadores (tratamientos)
chi_sq <- (12 / (n * k * (k + 1))) * sum(sum_ranks^2) - 3 * n * (k + 1)
chi_sq
## [1] 3.785714
friedman.test(notas)
##
## Friedman rank sum test
##
## data: notas
## Friedman chi-squared = 4.052, df = 5, p-value = 0.542
Pruebas de normalidad:
Al tratarse de calificaciones por examinador (diseño cruzado con muestras pequeñas y ordinales), no es correcto asumir normalidad ni aplicar Pearson de forma formal, por lo que las pruebas no paramétricas (Friedman, Kendall W y Kruskal-Wallis) son las más apropiadas.
Se podrían realizar pruebas de normalidad por columna (examinador), pero dado que las muestras son muy pequeñas (n = 10) y los datos son ordinales con empates, el supuesto de normalidad no es confiable ni teóricamente adecuado.
Friedman Test:
Confirma que no hay diferencia significativa en el ranking de scripts, por lo que no hay un script consistentemente mejor o peor según todos los examinadores.
Kendall’s W:
Muestra un acuerdo bajo entre los examinadores (W = 0.274).
No significativo (p = 0.0966), por lo tanto no hay evidencia estadística de acuerdo consistente entre examinadores.
Kruskal-Wallis:
No detecta diferencias significativas en la tendencia de calificación entre los examinadores (p = 0.7542).
Ningún examinador tiende a calificar más alto o bajo que los otros de manera significativa.
Se desea evaluar el acuerdo entre dos observadores (A y B) que clasifican paneles de madera en tres categorías: DL (De Luxe), S (Standard) y R (Reject).
NO estamos trabajando con variables numéricas continuas, sino con variables categóricas nominales (DL, S, R).
Por lo tanto, pruebas de normalidad, Pearson, Spearman, Kendall NO son aplicables, ya que esas pruebas requieren datos cuantitativos y aquí estamos trabajando con datos categóricos y tablas de contingencia.
tabla <- matrix(c(7, 2, 1,
4, 96, 18,
1, 10, 11),
nrow = 3, byrow = TRUE)
dimnames(tabla) <- list("Obs B" = c("DL", "S", "R"),
"Obs A" = c("DL", "S", "R"))
library(vcd)
## Loading required package: grid
resultado_kappa <- Kappa(tabla)
resultado_kappa
## value ASE z Pr(>|z|)
## Unweighted 0.3984 0.08057 4.944 7.637e-07
## Weighted 0.4025 0.08275 4.864 1.148e-06
El valor ponderado (0.4025) indica que los desacuerdos ocurren más entre categorías cercanas (lo cual es menos grave que confundir DL con R, por ejemplo).
total <- sum(tabla)
diag_sum <- sum(diag(tabla))
Po <- diag_sum / total
Po
## [1] 0.76
fila_totales <- rowSums(tabla)
col_totales <- colSums(tabla)
Pe <- sum((fila_totales * col_totales) / (total^2))
Pe
## [1] 0.6010667
kappa_manual <- (Po - Pe) / (1 - Pe)
kappa_manual
## [1] 0.3983957