JustToThePoint English Website Version
JustToThePoint en español
JustToThePoint in Thai

Estadística

Las estadísticas demuestran que quienes celebran más cumpleaños viven más tiempo. ¿Has escuchado el último chiste sobre estadísticos? ¡Probablemente!

Un estadístico puede tener la cabeza en el horno y los pies en el congelador y te dirá que, en promedio, se siente bien.

Un estadístico puede tener la cabeza en el horno y los pies en el congelador y te dirá que, en promedio, se siente bien.

LibreOffice Calc

LibreOffice Calc es el componente de hoja de cálculo del paquete ofimático LibreOffice, una excelente alternativa gratuita al software privativo Excel. Viene con muchas funciones integradas, entre ellas, las de números imaginarios, así como, funciones financieras y estadísticas. Calc es muy intuitivo, potente, y fácil de aprender.

Trabajaremos con una hoja de cálculo que contiene datos sobre la esperanza de vida en varios países del mundo.

Life Expectancy

Country Code Life Expectancy
Aruba ABW 76.293
Afghanistan AFG 64.833
Angola AGO 61.147
Albania ALB 78.573
United Arab Emirates ARE 77.972
Argentina ARG 76.667
Armenia ARM 75.087
Antigua, Barbuda ATG 77.016
Australia AUS 82.9
Austria AUT 81.79…

Vamos a analizar estos datos en nuestra hoja de cálculo usando las funciones de Calc. Una función es un cálculo o fórmula predefinida que se ingresa en una celda para ayudarnos a analizar o manipular los datos en nuestra hoja de cálculo.

Puede insertar funciones en Calc utilizando el Asistente de funciones o manualmente:

Los promedios se utilizan para representar un gran conjunto de datos con un solo número de una manera significativa. Se calcula mediate la suma de todos los valores individuales dividido por n, donde n es el número de elementos que componen el grupo o la muestra. La “mediana” es el valor “medio” de una secuencia ordenada de datos, es decir, el valor que separa la mitad superior de la muestra de la mitad inferior: =MEDIANA(C4: C266). La moda es el valor que aparece con mayor frecuencia en un conjunto de datos: =MODA(C4: C266).

Es posible que desees utilizar la función REDONDEAR (por ejemplo, REDONDEAR (2.43) devuelve 2 y REDONDEAR (2.65) devuelve 3) para redondear los valores de la esperanza de vida a un número específico de decimales antes de usar la función MODA.

  1. Selecciona la celda a la derecha del primer valor (esperanza de vida de Aruba), es decir, BK6, e ingresa la fórmula: = REDONDEAR (BJ6). 2 Selecciona esta celda y coloca el cursor del ratón sobre el pequeño cuadradito de la esquina inferior derecha de la celda. Al hacer esto, el cursor cambiará a una cruz negra. Mantenlo presionado y arrastra la cruz negra hacia abajo sobre las celdas en la columna donde deseas copiar la fórmula.
  2. Finalmente, selecciona otra celda y define la función MODA sobre los datos de la esperanza de vida redondeados: = MODO(BK6: BK271). LibreOffice Calc

    LibreOffice Calc

La varianza es el promedio o media aritmética de las diferencias de los datos con respecto a la media (las desviaciones) al cuadrado dividido entre el número de observaciones o datos menos uno. Básicamente, mide la variabilidad de un conjunto de datos respecto de su media aritmética o, con otras palabras, la bondad de la media para representar estos datos: = VAR (C4:C266). La Desviación estándar o típica es la raíz cuadrada de la varianza, una medida de la variabilidad o dispersión de un conjunto de datos: = DESVEST(C4: C266).

Estadística con R

R es tanto un lenguaje de programación como un entorno de software estadístico libre diseñado para analizar y visualizar datos.

Puedes descargarlo e instalarlo desde The Comprehensive R Archive Network. También deberías instalar RStudio (sudo apt-get install gdebi-core && wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.4.1717-amd64.deb && sudo gdebi rstudio-server-1.4.1717-amd64.deb), una interfaz más amigable que te permite acceder a toda la potencia de R. Se ejecuta en el puerto 8787 y acepta conexiones desde cualquier cliente remoto. Después de la instalación, lanza tu navegador web favorito y podrás acceder al servidor escribiendo la siguiente dirección en la barra de direcciones: http://server-ip:8787. Estadística con R

Estadística con R

Estadística con R

Estadística con R

varianza(resultados) = 1.372449 < 7.142857. Es decir, estos segundos resultados académicos están menos dispersos o, dicho de otro modo, su valor promedio (5.357143) representa mucho mejor el conjunto de datos que el promedio del primer grupo.

Me gustaría decir algo sobre el viejo chiste: “Un estadístico puede tener la cabeza en el horno y los pies en el congelador y asegurará que, en promedio, se siente estupendamente.”

>>> x <- c (50, 0) # Digamos que la cabeza en el horno está a una temperatura de 50°C y sus pies, en el congelador, están a 0°C.
 mean(x)
[1] 25 # La temperatura promedio puede ser agradable ...
>>> varianza(x)
[1] 625 # ... pero, siempre hay un pero en este mundo cruel, la varianza es muy alta. Indica que los datos están muy separados, dispersos o distanciados de la media y entre sí.

En 1992, Mackowiak, Wasserman y Levine midieron la temperatura corporal de 65 hombres y 65 mujeres: oral (33,2-38,2°C, mean(33,2, 38,2) = 35,7), rectal (por favor, no entremos en detalles, 34,4 –37,8°C, mean(34,4, 37,8) = 36,1), timpánico (canal auditivo, 35,4 - 37,8°C, mean(35,4, 37,8) = 36,6), axilar (sí, ¡el sobaco!, 35,5–37,0°C, mean(35,5, 37,0) = 36,25).

>>> x <- c (35,7, 36,1, 36,6, 36,25)
>>> mean(x)
[1] 36,1625
>>> varianza(x)
[1] 0.1042187 # Una pequeña varianza nos indica que _los datos están muy cerca de la media y entre sí. La media es una representación muy fiel o significativa de los datos. 

Finalmente, vamos a ilustrar otro concepto con un ejemplo:

>>> resultados <- c (4, 6, 7, 5, 4, 6, 7, 4, 5, 4, 6, 6, 7, 4)
>>> mean(resultados)
[1] 5.357143
>>> median(resultados)
[1] 5,5
>>> resultados <- c (4, 6, 7, 5, 4, 6, 37, 4, 5, 4, 6, 6, 7, 4) # Un valor atípico, en inglés outlier, es una observación o dato extraordinariamente grande o pequeño y que difiere significativamente de otras observaciones. Observa que 37 es un valor atípico que se ha introducido en nuestros datos.
>>> mean(resultados)
[1] 7.5 # El 37 es un valor atípico que distorsiona exageradamente la media y, en consecuencia, la mediana es una mejor opción para representar los datos.
> median(resultados)
[1] 5,5

Introducción a la visualización de datos en R

Usemos la siguiente encuesta: Opinión pública sobre los problemas más importantes a los que se enfrenta los Estados Unidos en 2021.

“El 20 por ciento de los encuestados afirmó que un liderazgo deficiente y una insatisfacción generalizada con el gobierno eran los problemas más importantes a los que se enfrentaba los Estados Unidos. Además, otro 25 por ciento de los encuestados dijo que el problema más importante era la pandemia de coronavirus”, publicado por Statista Research Departament, 29 de marzo de 2021. Otros problemas mencionados en dicha encuesta fueron: 8% Relaciones raciales/Racismo, 8% Economía en general, 8% Inmigración, y 31% Otros (Desempleo, Salud, deuda, etc.).

Vamos a definir dos vectores: problemas <- c (25, 20, 8, 8, 8, 31) (problemas a los que se enfrenta los EE.UU.) y etiquetas <- c (“Covid” , “Gobierno”, “Racismo”, “Economía”, “Inmigración”, “Otros”) (etiquetas o descripciones).

A continuación, dibujaremos un diagrama o gráfico de barras en R: barplot(problemas, main = “Problemas más importantes a los que se enfrenta EE.UU.”, ylab = “Porcentaje de personas”, names.arg = etiquetas, col = rainbow(6)), donde problemas especifica las alturas de las barras en el gráfico. Incluimos la opción names.args = etiquetas para etiquetar las barras, añadimos un título (main = “Problemas más importantes a los que se enfrenta EE.UU.”) y una etiqueta para el eje y (ylab = “Porcentaje de personas”), e indicamos que use los colores del arco iris (col = rainbow (6)). Visualización de datos en R

Visualización de datos en R

Hagamos que las etiquetas sean más descriptivas añadiendo su valor porcentual: etiquetas_nuevas <- paste(etiquetas, “”, problemas, “%”)

Vamos a solicitar a R que dibuje un gráfico circular o de tartas: pie(problemas, main = “Los problemas más importantes a los que se enfrenta Estados Unidos”, labels = etiquetas_nuevas, col = rainbow (6)). Los gráficos circulares se crean con la función pie (x, labels = nombres) donde x es un vector que especifica el área de cada sector y labels es un vector de cadenas de caracteres con nombres para todos y cada uno de los sectores. Visualización de datos en R

Visualización de datos en R

¡Seguramente podemos mejorar el resultado! Vamos a instalar dos paquetes:

library(plotrix) # Carga el paquete plotrix ...
library(viridis) # ... así como el paquete viridis
problemas <- c (25, 20, 8, 8, 8, 31)
etiquetas <- c ("Covid", "Gobierno", "Racismo", "Economía", "Inmigración", "Otros")
etiquetas_nuevas <- paste(etiquetas, "", problemas, "%")
pie3D (problemas, main = "Problemas más importantes a los que se enfrenta EE.UU.", labels = etiquetas_nuevas, col = viridis (6), explode = 0.3)

pie3D es la función del paquete plotrix que nos permite dibujar gráficos circulares en 3D. También usamos la función viridis () en el paquete viridis para generar los colores. Gráficos de tartas en 3D en R

Gráficos de tartas en 3D en R

Diagrama de caja en R. x = rnorm (500, mean = 0, sd = 1). rnorm (n, mean, sd) genera un vector de números aleatorios distribuidos normalmente. boxplot(x) dibuja un diagrama de caja para x. Un diagrama de caja es un gráfico o forma estandarizada de mostrar la distribución de los datos basada en un resumen de cinco números: mínimo (Q0, la observación más baja excluyendo cualquier valor atípico), primer cuartil (Q1), mediana, tercer cuartil (Q3) y máximo (Q4, la observación con un valor más alto excluyendo cualquier valor atípico).

Un diagrama de caja se compone de dos partes: un rectángulo o caja delimitada por el primer Q1 y el tercel cuartil Q3 y que presenta una línea horizontal dibujada en el medio donde se encuentra la mediana y dos bigotes. Uno que empieza en el primer cuartil Q1 y acaba en el mínimo y el segundo bigote que empieza en el tercer cuartil Q3 y acaba en el máximo.

Todo lo que esté fuera de los bigotes se consideran valores atípicos y estos valores extremos están representados por puntos o círculos pequeños.

Diagrama de caja en R

Diagrama de caja en R

Creemos un diagrama de tallo y hojas con R. Se trata de una manera que permite organizar o representar un conjunto númerico de datos de una manera gráfica. Cada observación o dato se divide en una “hoja” (el último dígito) y un “tallo” (todos los demás dígitos).

Se dibuja una tabla con dos columnas separadas por una línea vertical. Los tallos se enumeran a la izquierda de la línea vertical, que corresponde a la primera columna, solo una vez. Las hojas se enumeran en orden creciente en una fila a la derecha de cada tallo. Cuando hay un dato u observación repetida, el gráfico lo refleja mostrando dos o más hojas.

edades <- c (35, 36, 36, 35, 57, 69, 24, 25, 21, 39, 37, 30, 29, 28, 34, 40, 20) # edades es un vector que representa las edades de los sujetos de una determinada muestra.
stem(edades) 
Diagrama de tallo y hojas con R

Diagrama de tallo y hojas con R

Finalmente, vamos a visualizar algunos datos sobre la evolución del desempleo en algunos países utilizando series de tiempo. Nuestros datos de entrada están almacenados en un archivo csv con comas “,” como delimitadores y el siguiente formato:

“País”, “Año”, “Desempleo”
“AUS”, “2005”, 5.033881
“AUS”, “2006”, 4.78524
“AUS”, “2007”, 4.379151
“AUS”, “2008”, 4.23433
“AUS”, “2009”, 5.560385 ….

desempleo <- read.table ("/path/Unemployment.csv", header = T, sep = ",") 

Lee un archivo y devuelve un “data frame”, marco o matriz de datos con el que R es capaz de trabajar; header = T indica que el archivo contiene los nombres de las variables en su primera línea. sep es el carácter separador de campo, en nuestro ejemplo, los valores en cada línea del archivo están separados por comas.

desempleoAUS <- subset(desempleo, País == "AUS", select= c("Año", "Desempleo")) 

La función subset() es la forma más fácil de seleccionar o filtrar variables y observaciones en R. Seleccionamos todas las filas donde “País” es AUS (AUS es la abreviatura de país para Australia) y mantenemos las columnas Año y Desempleo.

desempleoES <- subset(desempleo, País == "ESP", select = c("Año", "Desempleo"))
desempleoGBR <- subset(desempleo, País == "GBR", select = c("Año", "Desempleo"))
desempleo EEUU <- subset(desempleo, País == "EE. UU.", select = c("Año", "Desempleo"))
desempleoFRA <- subset(desempleo, País == "FRA", select = c("Año", "Desempleo"))
desempleoGRC <- subset(desempleo, País == "GRC", select = c("Año", "Desempleo"))
plot (desempleoES, col = "violeta", xlab = "Tiempo", type = "o", ylim = range(desempleo["Desempleo"]))

Dibujamos la evolución de la tasa de desempleo en España (x = Año, y = Desempleo), especificamos la etiqueta del eje x (xlab = “Tiempo”), establecemos los límites para el eje y (ylim = range(desempleo[“Desempleo”])) y el tipo de gráfico que queremos que se dibuje (con segmentos y puntos, pero la línea se dibuja por encima de los puntos a diferencia de type=“b”).

title("Evolución del desempleo") # Definimos un título para el gráfico.
lines(desempleoAUS, col = "amarillo", tipo = "o") # lines() no puede producir un gráfico por sí solo. Sin embargo, se puede usar para añadir líneas (segmentos y puntos) a un gráfico ya existente. Con esta orden, dibujamos la evolución de la tasa de desempleo en Australia.
lines(desempleoGBR, col = "red", type = "o")
lines(desempleoUSA, col = "azul", tipo = "o")
lines(desempleoFRA, col = "naranja", tipo = "o")
lines(desempleoGRC, col = "verde", tipo = "o")
legend("topleft", c ("ES", "AUS", "GBR", "USA", "FRA", "GRC"), lwd = c (5,2), col=c("violet","yellow", "red", "blue", "orange", "green"), y.intersp = 1) # La función legend() nos permite incluir leyendas en los gráficos. y.intersp es el factor de espaciado vertical de caracteres (y). lwd = c(5,2) se usa para definir los anchos de línea para las líneas que aparecen en la leyenda (otras ideas: lwd = c(1), lwd = c(1,2,1,2,1,2), etc.). 
Evolución del desempleo en R

Evolución del desempleo en R

Probabilidad en R

Vamos a utilizar el paquete prob. Es una librería para realizar cálculos de probabilidades elementales en espacios muestrales finitos. Vamos a instalarlo: install.packages (“prob”, repos = “http://R-Forge.R-project.org”) .

No es necesario que tengas R en tu sistema. Basta con abrir tu navegador favorito y dirigirte a https://rdrr.io/ . Es un magnífico recurso con un índice muy completo de paquetes para R y documentación de CRAN. Además, te permite ejecutar código R desde tu navegador. Probabilidad en R

Probabilidad en R

library(prob) # Cargamos o instalamos la biblioteca prob.
tosscoin (2, makespace = TRUE) # Establece un espacio muestral para el experimento de lanzar una moneda dos veces con los posibles resultados: "H" (heads, cara) o "T" (tails, cruz).

S <-tosscoin (2, makespace = TRUE)  
Prob(S, toss1=="H" & toss2=="H") 

Si consideramos todos los resultados posibles, solo hay uno (HH, HT, TH, TT) de cuatro en los que ambas monedas caigan de cara, por lo que la probabilidad de éxito, es decir, de obtener cara en ambas monedas es: Prob (S, toss1 == “H” & toss2 == “H”) = Número de resultados favorables⁄Número total de resultados posibles = 14 = 0.25.

rolldie (1, makespace = TRUE) # Configura un espacio muestral para el experimento de lanzar un dado una sola vez. Dado que hay seis resultados posibles, la probabilidad de obtener cualquier lado del dado es = Número de resultados favorables⁄Número total de resultados posibles = 16 = 0.166… Probabilidad en R

Probabilidad en R

Lanzamos el dado dos veces. ¿Cuál es la probabilidad de obtener una suma de 7?

library(prob)
S<-rolldie(2, makespace=TRUE)
Prob(S, X1+X2 == 7)

Prob(S, X1+X2 == 7) = Número de resultados favorables⁄Número total de resultados posibles = 6 (1, 6), (6, 1), (2, 5), (5, 2), (3, 4), (4, 3) ⁄ 36 = 636 = 0.166…

Se lanza un dado dos veces, ¿cuál es la probabilidad de obtener un doblete? Prob (S, X1 == X2) = Número de resultados favorables⁄Número total de resultados posibles = 6 (1, 1),(2, 2), (3, 3), (4, 4), (5,5 ), (6, 6) ⁄ 36 = 636 = 0.166…

Se lanza un dado dos veces, ¿cuál es la probabilidad de obtener dos 6?

Cuando ciertos eventos no se interfieren o afectan entre sí, se conocen como eventos independientes. Algunos ejemplos de eventos independientes son el lanzar un dado o una moneda varias veces y hacer girar una ruleta repetidamente. Si A y B son eventos independientes, P(A∩B) = P(A) P(B).

Prob (S, X1 == 6 & X2 == 6) = Número de resultados favorables⁄Número total de resultados posibles = 1 (6, 6) ⁄ 36 = 136 = (Los experimentos o sucesos de lanzar un dado varias veces son independientes) = 16 * 16 = 136 = 0.02777777777.

¿Cuál es la probabilidad de obtener un doblete dado que la suma de dos dados es 8?

Prob(S, X1==X2, given = (X1+X2==8))

La probabilidad condicional es la probabilidad de que ocurra un evento dado que ya ocurrió otro evento. La probabilidad condicional de A dado B (generalmente se escribe como p (A/B)) = P(A ∩ B)P(B)

P(A/B) = P(A ∩ B)P(B) = 136 (X1=4, X2=4)⁄ 536 ( (2, 6), (6, 2), (3, 5), (5, 3), (4, 4) ) = 15 = 0.2.

¿Cuál es la probabilidad de que la suma de los dos dados sea 8 dado que se ha visto un doblete?

Prob(S, X1+X2==8, given = (X1==X2))

P(B/A) = P(A ∩ B)P(A) = 136 (X1=4, X2=4)⁄ 636 ( (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6) ) = 16 = 0.166…

Prob(S, X1==6, given = (X1%2==0))

P(A/B) = P(A ∩ B)P(B) = 16 (X1=6)⁄ 36 ( X1 = 2, X1 = 4, X1 = 6 ) = 13 = 0.333…

Prob(S, X1==6, given = ( (X2%2==0) & (X1+X2>8) ) )

P(A/B) =P(A ∩ B)P(B) = 236 ((6, 4), (6, 6))⁄ 636 ( (5, 4), (6, 4), (3, 6), (4, 6), (5, 6), (6, 6) = 26 = 0.333…

Prob(S, X1==6, given = ( (X2%2!=0) & (X1+X2>8) ) )

P(A/B) = P(A ∩ B)P(B) = 236 ( (6, 3), (6, 5) ) ⁄ 436 ( (6, 3), (4, 5), (5, 5), (6, 5)) = 24 = 0.5.

Probabilidad en R

Probabilidad en R

Una “dulce” introducción al teorema de Bayes

Veámoslo con un ejemplo. Hay tres tipos de estudiantes: procrastinadores (0.7), estudiantes promedio (0.2) y estudiantes de alto rendimiento (0.1): previo <- c (0.7, 0.2, 0.1).

La probabilidad de que un estudiante apruebe un examen varía mucho entre estos grupos: 0,2 (procrastinadores), 0,8 (estudiantes promedio) o 0,9 (alto rendimiento): posteriori <- c(0,2, 0,8, 0,9).

El teorema de Bayes describe la probabilidad de un evento basado en el conocimiento previo de las condiciones que podrían estar relacionadas con el evento. Se define como P(A/B) = P(B/A) * P(A)P(B).

Un estudiante aprobó su último examen pero se olvidó de firmar en la hoja de respuestas. ¿Cuál es la probabilidad de que este alumno pertenezca a cada uno de los grupos? p (B) = probabilidad de que un estudiante apruebe un examen, p (B) = probabilidad de que un estudiante suspenda un examen. P(A1/B) = probabilidad de que un estudiante sea un procrastinador dado que ha aprobado un examen. P(A1/B) = P(B/A1) * P(A1)⁄P(B) = 0.2 * 0.7 ⁄ P(B) = …

P(B) = { A1 ∪ A2 ∪ A3 = S, the sample space} P(B ∩ A1) + P(B ∩ A2) + P(B ∩ A3) = P(B/A1) * P(A1) + P(B/A2) * P(A2) + P(B/A3) * P(A3) = 0.2 * 0.7 + 0.8 * 0.2 + 0.9 * 0.1 = 0.39

P(A1/B) = 0.2 * 0.70.39 = 0.3589.
P(A2/B) = P(B/A2) * P(A2) ⁄ P(B) = 0.8 * 0.20.39 = 0.4102.
Aunque los estudiantes de alto rendimiento aprueban casi siempre (0.9), no hay tantos (0.1) como estudiantes promedios (0.2); esta es la razón de que haya más probabilidad de que sea un estudiante promedio.
P(A3/B) = P(B/A3) * P(A3) ⁄ P(B) = 0.9 * 0.20.39 = 0.2307.

Hagamos estos cálculos en R: Teorema de Bayes

Teorema de Bayes

Bitcoin donation

JustToThePoint Copyright © 2011 - 2022 PhD. Máximo Núñez Alarcón, Anawim. ALL RIGHTS RESERVED. Bilingual e-books, articles, and videos to help your child and your entire family succeed, develop a healthy lifestyle, and have a lot of fun.

Esta web utiliza 'cookies' propias y de terceros para ofrecerte una mejor experiencia y servicio.
Al navegar o utilizar nuestros servicios, estas aceptando nuestra Política de Cookies, así como, nuestros Términos y condiciones de uso.