Con las tablas de frecuencia logramos presentar los datos de una forma organizada y visualmente mas clara, pero en la mayoría de ocasiones es necesario condensar dicha información en unos numeros que la expresen de forma clara y concisa (Medidas de tendencia central o posición). Ademas es necesario medir la variabilidad que tienen nuestros datos (Medidas de dispersión), estableciendo una medida que indique dicha fluctuación. Por ello es necesario definir algunos tipos de medidas (parámetros) para representar los datos.
En la mayoría de los datos se evidencia la tendencia a agruparse alrededor de un valor central, este nos permite obtener un valor que describe el conjunto de nuestros datos. A este valor denominamos medida de tendencia central, como la media, la mediana y la moda.
La media (media aritmética) es la mas utilizada y se calcula realizando la suma de los datos sobre el total de la muestra tomada y se notara con \(\bar{x}\)
\[\bar{x}=\dfrac{1}{n}\sum_{i=1}^nx_i\]
observación: Si los datos corresponden a toda la población, se hablara de media poblacional y la notaremos con \(\mu\).
Montgomery, D.C., Runger, G.C. (2002). Probabilidad y Estadística aplicadas a la ingeniería. Editorial Limusa Wiley.
Las siguientes mediciones corresponden a las temperaturas de un horno registradas en lotes sucesivos de un proceso de fabricación de semiconductores (Las unidades estan en °F): 953, 950, 948, 955, 951, 949, 957, 954, 955.
ej1temp <- c(953, 950, 948, 955, 951, 949, 957, 954, 955)
sum(ej1temp)/length(ej1temp)
## [1] 952.4444
mean(ej1temp)
## [1] 952.4444
Esta base de datos fue descargada de la pagina https://www.datos.gov.co/Salud-y-Protecci-n-Social/Banco-de-sangre-Hospital-General-de-Medell-n/65is-zhxx/about_data y se encuentran en los archivos del curso.
# leyendo el archivo con los datos
BSHGM20240123 <- read.csv("Banco_de_sangre__Hospital_General_de_Medell_n_20240123.csv")
dim(BSHGM20240123)
## [1] 28961 11
BSHGM20240123 <- na.omit(BSHGM20240123)
dim(BSHGM20240123)
## [1] 28937 11
# calculando la media para la edad y estatura
mean(BSHGM20240123$EDAD)
## [1] 37.86944
mean(BSHGM20240123$ESTATURA)
## [1] 1.661843
colMeans(BSHGM20240123[,c(7,8,10)])
## EDAD ESTATURA PESO
## 37.869441 1.661843 73.042541
Otro caso que se nos pueda presentar es que los datos estén agrupados, es decir que algunos se repitan y tengan su frecuencia absoluta respectiva, en consecuencia la media se calculara multiplicando cada dato por su frecuencia, realizando la suma de estos valores y dividiendo el resultado entre el tamano de la muestra.
\[\bar{x}=\dfrac{1}{n}\sum_{j=1}^mx_j*f_j\]
donde \(x_j\) es nuestro dato de la clase o la marca de clase del intervalo, \(f_j\) es su frecuencia absoluta respectiva y \(m\) es el numero de clases.
Número de asignaturas inscritas por semestre para una muestra de 50 estudiantes de la Universidad Distrital obteniendo los siguientes resultados
asign <- c(2,5,3,6,7,1,5,6,7,4,4,3,5,5,5,6,4,3,2,2,3,5,6,5,6,6,6,4,5,7,3,2,1,7,7,6,6,4,5,3,5,6,5,2,3,4,4,3,4,4)
n <- length(asign)
tej3 <- data.frame(t(table(asign)))[,-1]
h_i <- tej3$Freq/n
F_i <- cumsum(tej3$Freq)
H_i <- F_i/n
tej3 <- cbind.data.frame(tej3,h_i,F_i,H_i)
colnames(tej3) <- c("Clase","f_i","h_i","F_i","H_i")
sum(as.numeric(tej3$Clase)*tej3$f_i)/n
## [1] 4.44
sum(as.numeric(tej3$Clase)*tej3$h_i)
## [1] 4.44
mean(asign)
## [1] 4.44
tabedad <- table(BSHGM20240123$EDAD)
tabedad <- data.frame(Clase = as.numeric(names(tabedad)), f_i = as.vector(tabedad))
sum(tabedad$Clase*tabedad$f_i)/sum(tabedad$f_i)
## [1] 37.86944
En el caso de trabajar con intervalos se cambia \(x_i\) por la marca de clase
C19Boy <- c(57,69,72,73,84,70,42,40,29,72,50,20,2,58,60,15,42,25,36,32,52,19,46,64,34,36,24,18,66,38,23,24,31,43,16,27,77,68,33)
n <- length(C19Boy)
R <- max(C19Boy)-min(C19Boy)
m <- nclass.Sturges(C19Boy)
a <- (trunc(R/m*10)+1)/10
LI <- min(C19Boy)+0:(m-1)*a
LS <- LI+a
f_i <- rep(0,m)
for (i in 1:m) {
f_i[i]=length(C19Boy[C19Boy<LS[i]&C19Boy>=LI[i]])
}
h_i <- f_i/n
F_i <- cumsum(f_i)
H_i <- F_i/n
tej4 <- cbind.data.frame(LI,LS,0.5*(LI+LS),f_i,h_i,F_i,H_i)
colnames(tej4) <- c("L_inf","L_sup","x_i","f_i","h_i","F_i","H_i")
sum(tej4$x_i*tej4$h_i)
## [1] 42.99744
n <- length(BSHGM20240123$EDAD)
m <- nclass.Sturges(BSHGM20240123$EDAD)
R <- max(BSHGM20240123$EDAD)-min(BSHGM20240123$EDAD)
a <- trunc(R/m)+1
LI <- min(na.omit(BSHGM20240123$EDAD))+0:(m-1)*a
LS <- LI+a
f_i <- rep(0,m)
for (i in 1:m) {
f_i[i]=length(BSHGM20240123$EDAD[BSHGM20240123$EDAD<LS[i]&BSHGM20240123$EDAD>=LI[i]])
}
h_i <- f_i/n
F_i <- cumsum(f_i)
H_i <- F_i/n
tej2ed <- cbind.data.frame(LI,LS,0.5*(LI+LS),f_i,h_i,F_i,H_i)
colnames(tej2ed) <- c("L_inf","L_sup","x_i","f_i","h_i","F_i","H_i")
sum(tej2ed$x_i*tej2ed$h_i)
## [1] 38.39114
mean(BSHGM20240123$EDAD)
## [1] 37.86944
La ventajas de la media aritmetica es su facil calculo e interpretación, en contraposición su mayor desventaja es su afectación por valores extremos por esta razon no es recomendable su calculo con datos asimetricos.
Otra media posible es la media geometrica que se nota con \(\bar{x_g}\) y se define como la media de los logaritmos;
\[ \log(\bar{x}_g)=\dfrac{1}{n}\sum_{i=1}^n\log(x_i)\hspace{3cm}\bar{x}_g=\sqrt[n]{\prod_{i=1}^nx_i} \]
Su uso esta recomendado para variables que no “sigan una distribución normal”, la mayor ventaja es que no se afecta por valores extremos, pero su calculo e interpretación es mas dificil ademas solo se puede aplicar si los numeros son positivos.
Otra media es la media armonica que se define como el reciproco de la media de los reciprocos de los datos y se nota por \(\bar{x}_a\);
\[ \dfrac{1}{\bar{x}_a}=\dfrac{1}{n}\sum_{i=1}^n\dfrac{1}{x_i} \hspace{3cm} \bar{x}_a=\dfrac{n}{\sum_{i=1}^n\dfrac{1}{x_i}} \]
Su uso principal es para promediar velocidades, tiempos y rendimientos, no se recomienda usar con valores muy pequeños.
Por ultimo se introduce la media cuadratica que es la raiz cuadrada de la media de los cuadrados, se usa principalmente para calcular el valor eficaz de una corriente alterna.
\[ \bar{x}_c=\sqrt{\dfrac{1}{n}\sum_{i=1}^nx_i^2}\] En este caso calcularemos las cuatro medias para la variable estatura, es necesario tomas solo las estaturas mayores a cero.
ESTATURA <- BSHGM20240123$ESTATURA[BSHGM20240123$ESTATURA>0]
# media aritmetica
mean(ESTATURA)
## [1] 1.662647
# media geometrica
prod(ESTATURA^{1/n})
## [1] 1.659525
# media armonica
length(ESTATURA)/sum(1/ESTATURA)
## [1] 1.656736
# media cuadratica
(sum(ESTATURA^2)/length(ESTATURA))^{1/2}
## [1] 1.665213
La mediana \(Me\) es el valor que se encuentra en el centro de una secuencia ordenada de datos, al ser una medida que depende del orden de los datos por esto no se ve afectada por valores extremos, ademas su calculo e interpretación es sencilla. El calculo se realiza segun si la cantidad de datos es par o impar;
\[ n\ \text{impar}\hspace{1cm} Me=x_{\frac{n+1}{2}} \hspace{3cm} n\ \text{par}\hspace{1cm} Me=\frac{1}{2}\left(x_{\frac{n}{2}}+x_{\frac{n}{2}+1}\right) \] ### Ejemplo 1 Temperatura de un horno
ej1temp
## [1] 953 950 948 955 951 949 957 954 955
sort(ej1temp)
## [1] 948 949 950 951 953 954 955 955 957
(n <- length(ej1temp))
## [1] 9
sort(ej1temp)[(n+1)*0.5]
## [1] 953
median(ej1temp)
## [1] 953
Montgomery, D.C., Runger, G.C. (2002). Probabilidad y Estad´ıstica aplicadas a la ingenier´ıa. Editorial Limusa Wiley.
Un articulo publicado en Humnas Factors(junio 1989) presenta datos de acomodamiento visual (una función del movimiento del ojo) cuando se reconoce un patrón de manchas sobre la pantalla de un tubo de rayos catódicos de alta resolución. Los datos son: 36.45, 67.90, 38.77, 42.18, 26.72, 50.77, 39.30, y 49.71. Determinar la mediana.
ej5av <- c(36.45, 67.90, 38.77, 42.18, 26.72, 50.77, 39.30, 49.71)
(n <- length(ej5av))
## [1] 8
0.5*(sort(ej5av)[0.5*n]+sort(ej5av)[0.5*n+1])
## [1] 40.74
median(ej5av)
## [1] 40.74
median(BSHGM20240123$EDAD)
## [1] 36
median(BSHGM20240123$ESTATURA)
## [1] 1.65
apply(BSHGM20240123[,c(7,8,10)], MARGIN = 2, FUN = median)
## EDAD ESTATURA PESO
## 36.00 1.65 71.00
Es el valor de un conjunto de datos que aparece con mayor frecuencia. A diferencia de la media, la moda no se afecta por los valores extremos. Sin embargo es mucho mas variable para distintas muestras que las demas medidas de tendencia central. Un conjunto de datos puede tener mas de una moda o ninguna.
library(modeest)
mlv(ej1temp, method = "mfv")
## [1] 955
mlv(BSHGM20240123$EDAD, method ="mfv")
## [1] 22
modas <- function(x) {mlv(x,method = "mfv")}
apply(BSHGM20240123[,c(7,8,10)], 2, modas)
## EDAD ESTATURA PESO
## 22.0 1.6 68.0
En el caso de datos agrupados existen diferentes formulas las mas usadas son;
\[ Mo = L_i+\left(\dfrac{f_i-f_{i-1}}{2f_i-f_{i-1}-f_{i+1}}\right)a \hspace{3cm} Mo=L_i+\left(\dfrac{f_{i+1}}{f_{i-1}+f_{i+1}}\right)a\] donde \(i\) es el la clase o clases con mayor frecuencia absoluta, \(L_i\) es el limite inferior del intervalo de la clase correspondiente y \(a\) es la amplitud.
tej4[tej4$f_i==max(tej4$f_i),]
i <- 2
a <- tej4$L_sup[1]-tej4$L_inf[1]
tej4$L_inf[i]+(tej4$f_i[i]-tej4$f_i[i-1])/(2*tej4$f_i[i]-tej4$f_i[i-1]-tej4$f_i[i+1])*a
## [1] 24.28889
tej2ed[tej2ed$f_i==max(tej2ed$f_i),]
i <- 4
a <- tej2ed$L_sup[1]-tej2ed$L_inf[1]
tej2ed$L_inf[i]+(tej2ed$f_i[i]-tej2ed$f_i[i-1])/(2*tej2ed$f_i[i]-tej2ed$f_i[i-1]-tej2ed$f_i[i+1])*a
## [1] 27.54277
El calculo de los cuartiles usado en R esta dado por los siguientes pasos.
n <- length(ej1temp)
ej1temp <- sort(ej1temp)
# calculo de la posición del cuartil 2
(w <- (n+1)/2)
## [1] 5
# calculo del cuartil 2
(q_2 <- ej1temp[w])
## [1] 953
# calculo de la posición del cuartil 1
(tmp <- 0.5*(w+1))
## [1] 3
# calculo del caurtil 1
(q_1 <- ej1temp[tmp])
## [1] 950
# calculo de la posición del cuartil 3
(tmp <- n+1-tmp)
## [1] 7
# calculo del cuartil 3
(q_3 <- ej1temp[tmp])
## [1] 955
n <- length(ej5av)
ej5av <- sort(ej5av)
# calculo de la posición del cuartil 2
(w <- (n+1)/2)
## [1] 4.5
# calculo del cuartil 2
(q_2 <- (ej5av[floor(w)]+ej5av[floor(w)+1])/2)
## [1] 40.74
# calculo de la posición del cuartil 1
(tmp <- 0.5*(w+1))
## [1] 2.75
# calculo del caurtil 1
(q_1 <- ej5av[floor(tmp)]+(ej5av[floor(tmp)+1]-ej5av[floor(tmp)])*(tmp-floor(tmp)))
## [1] 38.19
# calculo de la posición del cuartil 3
(tmp <- n+1-tmp)
## [1] 6.25
# calculo del cuartil 3
(q_3 <- ej5av[floor(tmp)]+(ej5av[floor(tmp)+1]-ej5av[floor(tmp)])*(tmp-floor(tmp)))
## [1] 49.975
quantile(ej5av)
## 0% 25% 50% 75% 100%
## 26.720 38.190 40.740 49.975 67.900
boxplot(ej5av)
apply(BSHGM20240123[,c(7,8,10)],2,quantile)
## EDAD ESTATURA PESO
## 0% 0 0.00 2
## 25% 27 1.60 63
## 50% 36 1.65 71
## 75% 47 1.73 81
## 100% 104 2.03 170
Para el caso de datos agrupados se calcula tomando \(i\) como la \(F_i > \frac{n}{4}\), \(F_i>\frac{n}{2}\) y \(F_i > \frac{3n}{4}\) para el primer, segundo y tercer cuartil respectivamente y se le asigna a cada cuartil el dato correspondiente. Si los datos estan agrupados en intervarlos se define el \(i\) de igual forma pero el cuartil se calcula con la siguiente formula;
\[Q_j = L_i+\dfrac{\frac{jn}{4}-F_{i-1}}{{f_i}}a\]
Donde \(L_i\) es el limite inferior del intervalo \(i\), \(a\) corresponde a la amplitud, \(j\) es el cuartil.
n <- sum(tej2ed$f_i)
tej2ed
c(n/4,n/2,3*n/4)
## [1] 7234.25 14468.50 21702.75
a <- tej2ed$L_sup[1]-tej2ed$L_inf[1]
(Q_1 <- tej2ed$L_inf[4]+(n/4-tej2ed$F_i[3])/tej2ed$f_i[4]*a)
## [1] 27.79577
(Q_2 <- tej2ed$L_inf[6]+(n/2-tej2ed$F_i[5])/tej2ed$f_i[6]*a)
## [1] 36.98699
(Q_3 <- tej2ed$L_inf[7]+(3*n/4-tej2ed$F_i[6])/tej2ed$f_i[7]*a)
## [1] 48.04572
En el caso de datos des-agrupados se calcula la posición de la siguiente forma, si se quiere calcular el percentil del \(k\) por ciento \(p_k\) con \(0 < k < 1\); \[w = k(n-1)+1\] Para el calculo de su valor podemos tomar dos opciones una parecida a la de los cuartiles, donde definimos \(w_1\) como la parte entera de \(w\) y \(w_2\) como la parte decimal y se realiza el siguiente calculo;
\[ x_{w_1} + (x_{w_1+1} − x_{w_1}) ∗ w_2\]
O sencillamente se calcula el promedio entre los datos alrededor de la posición calculada, así;
\[\dfrac{x_{w_1} + x_{w_1+1}}{2}\]
ej5av
## [1] 26.72 36.45 38.77 39.30 42.18 49.71 50.77 67.90
n <- length(ej5av)
k <- 0.37
(w <- k*(n-1)+1)
## [1] 3.59
ej5av[floor(w)]+(ej5av[floor(w)+1]-ej5av[floor(w)])*(w-floor(w))
## [1] 39.0827
0.5*(ej5av[floor(w)]+ej5av[floor(w)+1])
## [1] 39.035
quantile(ej5av,k)
## 37%
## 39.0827
quantile(BSHGM20240123$EDAD,seq(from = 0.02, to = 1, by = 0.06))
## 2% 8% 14% 20% 26% 32% 38% 44% 50% 56% 62% 68% 74% 80% 86% 92% 98%
## 19 21 23 25 28 30 32 34 36 39 41 44 47 50 54 58 63
En el caso de los datos agrupados se usa la siguiente formula;
\[P_k=L_i+\dfrac{kn-F_{i-1}}{{f_i}}a\]
tomando \(i\) como la primera clase donde la frecuencia acumulada supera a \(kn\) y el resto de valores se toman igual que en los cuartiles
n <- tej2ed$F_i[16]
tej2ed
n*0.26
## [1] 7523.62
(p_26 <- tej2ed$L_inf[5]+(n*0.26-tej2ed$F_i[4])/tej2ed$f_i[5]*a)
## [1] 28.14549
n*0.98
## [1] 28358.26
(p_98 <- tej2ed$L_inf[10]+(n*0.98-tej2ed$F_i[9])/tej2ed$f_i[10]*a)
## [1] 63.51894
Las medidas de dispersión también denominadas medidas de variabilidad, nos indican si las medidas anteriores están muy próximas entres sí o si por el contrario están muy dispersas. Las medidas de dispersion mas usadas son rango, varianza, desviación estándar y el coeficiente de variación.
Su calculo del rango es sencillo se calcula la diferencia entre el mayor dato y el menor, en caso de estar agrupados se toma el limite superior del ultimo intervalo y se le resta al limite inferior del primer intervalo. Se caracterizan por su facil calculo, ser afectada por valores extremos, puede aumentar o quedar igual con nuevas observaciones pero nunca disminuye.
# datos desagrupados
max(BSHGM20240123$EDAD)-min(BSHGM20240123$EDAD)
## [1] 104
# datos agrupados
tej2ed$L_sup[16]-tej2ed$L_inf[1]
## [1] 112
Establecen la forma en que los valores fluctuan con respecto a la media aritmetica, la desviacion estandar (\(S\)) es la raiz cuadrada de la varianza (\(S^2\)). La característica principal es que siempre son positivas, y su uso principal es para la inferencia estadística. Para el caso de varianza poplacional y desviacion estandar poblacional se usan los simbolos \(\sigma^2\) y \(\sigma\) respectivamente. El calculo se hace con las siguientes formulas;
\[\text{No agrupados}\hspace{1cm} S^2=\frac{1}{n-1}\sum_{i=1}^n(x_i-\bar{x})^2 \hspace{2cm} \text{agrupados} \hspace{1cm} S^2=\frac{1}{n-1}\sum_{i=1}^n(x_i-\bar{x})^2f_i\]
sum((BSHGM20240123$EDAD-mean(BSHGM20240123$EDAD))^2)/(length(BSHGM20240123$EDAD)-1)
## [1] 156.1733
var(BSHGM20240123$EDAD)
## [1] 156.1733
sqrt(var(BSHGM20240123$EDAD))
## [1] 12.49693
sd(BSHGM20240123$EDAD)
## [1] 12.49693
media <- mean(BSHGM20240123$EDAD)
desvest <- sd(BSHGM20240123$EDAD)
n <- length(BSHGM20240123$EDAD)
for (i in 1:3) {
tmp <- sum(BSHGM20240123$EDAD>media-i*desvest&BSHGM20240123$EDAD<media+i*desvest)
print(paste("i=",i," ",round(tmp/n*100,2),"%"," en (",round(media-i*desvest,1),",",round(media+i*desvest,1),")"))
}
## [1] "i= 1 60.11 % en ( 25.4 , 50.4 )"
## [1] "i= 2 97.84 % en ( 12.9 , 62.9 )"
## [1] "i= 3 99.99 % en ( 0.4 , 75.4 )"
La mayor ventaja del coeficiente de variación es ser una variable a dimensional, permitiendo comparar diferentes poblaciones o medidas de una misma población. se debe calcular sobre valores positivos.
sd(BSHGM20240123$EDAD)/mean(BSHGM20240123$EDAD)
## [1] 0.3300004
sd(BSHGM20240123$PESO)/mean(BSHGM20240123$PESO)
## [1] 0.1847584
sd(BSHGM20240123$ESTATURA)/mean(BSHGM20240123$ESTATURA)
## [1] 0.05978125