Calcular probabilidades, determinado la función de densidad y la visualización gráfica de una distribución normal.
Realizar distribuciones de probabilidad conforme a la distribución de probabilidad normal a partir de valores iniciales de los ejercicios identificando y visualizando la función de densidad y calculando probabilidades.
La distribución continua de probabilidad más importante en todo el campo de la estadística es la distribución normal. Su gráfica, que se denomina curva normal, es la curva con forma de campana .
La distribución normal a menudo se denomina distribución Gaussiana, en honor de Karl Friedrich Gauss (1777-1855), quien también derivó su ecuación a partir de un estudio de errores en mediciones repetidas de la misma cantidad [@walpole2012].
En a imagen anterior se identifican dos valores que se requieren para suponer una curva de distribución normal, la media \(\mu\) y la desviación estándar \(\sigma\) de los datos.
o
\[ f(x) =\frac{1}{\sigma \cdot \sqrt{2 \cdot \pi}}\cdot e ^{\frac{-1}{2}\cdot ( \frac {x - \mu}{\sigma}) ^2} \]
Ejemplo de calcular la densidad para un valor de \(x\) de acuerdo a la distribución normal con media y desviación.
Valor de \(x=18\); \(media=20\); \(desv=2\);\(e=2.71828\);\(pi=3.14159\)
Se utiliza la función f.normal.dens() que se encuentra previamente programada y devuelve precisamente la probabilidad para un valor específico de x.
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20disribuciones%20de%20probabilidad.R")
Se utilizan también las funciones de la distribución normal de los paquete base de R.
x= 18
media <- 20
desv <- 2
e <- exp(1)
pi <- pi
x; media; desv; e; pi
## [1] 18
## [1] 20
## [1] 2
## [1] 2.718282
## [1] 3.141593
La función de \(f(x)\) es lo que representa probabilidad de un solo punto de la curva o lo que es lo mismo la densidad. LA densidad es la altura de la curva normal en ese punto en particular.
prob = f.normal.dens(x = x, desv = desv, media = media)
prob
## [1] 0.1209854
Se utiliza dnorm() para calcular la función de densidad o el punto en donde se cruzan el valor de \(x\) con su probabilidad en distribución normal.
Debe salir el mismo valor que usando prob = f.normal.dens().
dnorm(x = x, mean = media, sd = desv)
## [1] 0.1209854
Calcular la probabilidad acumulada de un intervalo de \(x\) continua entre 16 y 22. Es decir encontrar el área que contiene todas las probabilidades (densidades) de los puntos de la distribución normal desde 16 a 22 con los valores de media y desviación \(media=20\) y \(desv=2\)
Ahora bien, R dispone de pnorm() para calcular probabilidades acumuladas.
x2 <- 22
pnorm(q = x2, mean = media, sd = desv)
## [1] 0.8413447
x1 <- 16
pnorm(q = x1, mean = media, sd = desv)
## [1] 0.02275013
pnorm(q = x2, mean = media, sd = desv) - pnorm(q = x1, mean = media, sd = desv)
## [1] 0.8185946
El 81.85% es el área bajo la curva.
No es necesario tabla de probabilidades al tratar con distribuciones normales.
La distribución normal trata con variables aleatorias continuas, del tal forma que el valor de la probabilidad acumulada es el área bajo la curva y la sumatoria de cada punto de la función de densidad.
¿Cómo determinar el área bajo la curva?, con pnorm().
options(scipen=999) # Notación normal
x <- seq(from= 0, to = 18, by = 0.5)
tabla <- data.frame(x = x, f.x=round(dnorm(x = x, mean = media, sd = desv), 6), F.x = round(pnorm(q = x, mean = media, sd = desv), 6))
tabla
## x f.x F.x
## 1 0.0 0.000000 0.000000
## 2 0.5 0.000000 0.000000
## 3 1.0 0.000000 0.000000
## 4 1.5 0.000000 0.000000
## 5 2.0 0.000000 0.000000
## 6 2.5 0.000000 0.000000
## 7 3.0 0.000000 0.000000
## 8 3.5 0.000000 0.000000
## 9 4.0 0.000000 0.000000
## 10 4.5 0.000000 0.000000
## 11 5.0 0.000000 0.000000
## 12 5.5 0.000000 0.000000
## 13 6.0 0.000000 0.000000
## 14 6.5 0.000000 0.000000
## 15 7.0 0.000000 0.000000
## 16 7.5 0.000000 0.000000
## 17 8.0 0.000000 0.000000
## 18 8.5 0.000000 0.000000
## 19 9.0 0.000000 0.000000
## 20 9.5 0.000000 0.000000
## 21 10.0 0.000001 0.000000
## 22 10.5 0.000003 0.000001
## 23 11.0 0.000008 0.000003
## 24 11.5 0.000024 0.000011
## 25 12.0 0.000067 0.000032
## 26 12.5 0.000176 0.000088
## 27 13.0 0.000436 0.000233
## 28 13.5 0.001015 0.000577
## 29 14.0 0.002216 0.001350
## 30 14.5 0.004547 0.002980
## 31 15.0 0.008764 0.006210
## 32 15.5 0.015870 0.012224
## 33 16.0 0.026995 0.022750
## 34 16.5 0.043139 0.040059
## 35 17.0 0.064759 0.066807
## 36 17.5 0.091325 0.105650
## 37 18.0 0.120985 0.158655
¿Cuánto vale el área bajo la curva hasta 18 ó \(P(x < 18)\)?
library(ggplot2)
ggplot(data = tabla, aes(x,f.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
geom_hline(yintercept = dnorm(x = max(x), mean = media, sd = desv), col='red') +
geom_vline(xintercept = max(x), col='red') +
ggtitle(label = "Distribución normal", subtitle = paste("Media = ", media, "; Desviación =", desv, "; valor de x de 0 hasta ",max(x)))
library("mosaic")
plotDist("norm", mean = media, sd = desv, groups = x <= 18, type = "h", xlab ="Valores de la variable continua X", ylab = "Densidad", main='Densidad',sub = paste('Media= ', media, ' Desv Std=', desv ))
library(dplyr)
library(mosaic)
library(readr)
library(ggplot2) # Para gráficos
library(knitr) # Para formateo de datos
library(cowplot) #Imágenes en el mismo renglón
options(scipen=999) # Notación normal
datos <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/datos/estatura%20peso%20generos.csv")
# Solo interesan las tres últimas columnas o variables
datos <- select(datos, estatura, peso, genero)
Estatura, altura en centímetros de una persona
Peso: Peso de una persona medido en kilogramos
Genero: 0 Femenino, 1 Masculino
head(datos)
## estatura peso genero
## 1 174.0 65.6 1
## 2 175.3 71.8 1
## 3 193.5 80.7 1
## 4 186.5 72.6 1
## 5 187.2 78.8 1
## 6 181.5 74.8 1
tail(datos)
## estatura peso genero
## 502 157.5 76.8 0
## 503 176.5 71.8 0
## 504 164.4 55.5 0
## 505 160.7 48.6 0
## 506 174.0 66.4 0
## 507 163.8 67.3 0
ggplot(datos, aes(x = peso, y = 1:nrow(datos))) +
geom_point(colour = "red")
ggplot(datos, aes(x = peso, y = 1:nrow(datos))) +
geom_point(colour = "blue")
ggplot(datos) +
geom_histogram(aes(x = peso), bins = 30)
ggplot(datos) +
geom_histogram(aes(x = estatura), , bins = 30)
Se extraen conjuntos de datos para masculinos y femeninos respectivamente.
datos$genero <- as.factor(datos$genero)
masculinos <- filter(datos, genero == 1)
femeninos <- filter(datos, genero == 0)
media.peso.m <- mean(masculinos$peso)
desv.std.peso.m <- sd(masculinos$peso)
media.peso.m
## [1] 78.14453
desv.std.peso.m
## [1] 10.51289
media.peso.f <- mean(femeninos$peso)
desv.std.peso.f <- sd(femeninos$peso)
media.peso.f
## [1] 60.60038
desv.std.peso.f
## [1] 9.615699
Se toman los valores mínimos y máximos de pesos, de esos valores se disminuye en diez a mínimo y aumenta en diez a máximo para contemplar mayor rango.
x <- round(min(masculinos$peso-10),0):round(max(masculinos$peso+10),0)
tabla.peso.masculino <- data.frame(x=x, prob.x = dnorm(x = x, mean = media.peso.m, sd = desv.std.peso.m), f.acum.x = pnorm(q = x, mean = media.peso.m, sd = desv.std.peso.m))
kable(tabla.peso.masculino, caption = "Peso Muestra Masculino")
| x | prob.x | f.acum.x |
|---|---|---|
| 44 | 0.0001943 | 0.0005814 |
| 45 | 0.0002635 | 0.0008087 |
| 46 | 0.0003540 | 0.0011155 |
| 47 | 0.0004714 | 0.0015257 |
| 48 | 0.0006220 | 0.0020694 |
| 49 | 0.0008134 | 0.0027834 |
| 50 | 0.0010541 | 0.0037126 |
| 51 | 0.0013536 | 0.0049111 |
| 52 | 0.0017227 | 0.0064430 |
| 53 | 0.0021726 | 0.0083834 |
| 54 | 0.0027153 | 0.0108191 |
| 55 | 0.0033630 | 0.0138490 |
| 56 | 0.0041277 | 0.0175841 |
| 57 | 0.0050206 | 0.0221471 |
| 58 | 0.0060518 | 0.0276714 |
| 59 | 0.0072290 | 0.0342994 |
| 60 | 0.0085574 | 0.0421798 |
| 61 | 0.0100387 | 0.0514651 |
| 62 | 0.0116703 | 0.0623073 |
| 63 | 0.0134449 | 0.0748534 |
| 64 | 0.0153498 | 0.0892405 |
| 65 | 0.0173668 | 0.1055903 |
| 66 | 0.0194718 | 0.1240034 |
| 67 | 0.0216353 | 0.1445535 |
| 68 | 0.0238227 | 0.1672820 |
| 69 | 0.0259950 | 0.1921939 |
| 70 | 0.0281098 | 0.2192529 |
| 71 | 0.0301230 | 0.2483797 |
| 72 | 0.0319895 | 0.2794500 |
| 73 | 0.0336657 | 0.3122952 |
| 74 | 0.0351107 | 0.3467043 |
| 75 | 0.0362878 | 0.3824272 |
| 76 | 0.0371665 | 0.4191803 |
| 77 | 0.0377237 | 0.4566529 |
| 78 | 0.0379443 | 0.4945154 |
| 79 | 0.0378225 | 0.5324273 |
| 80 | 0.0373615 | 0.5700472 |
| 81 | 0.0365736 | 0.6070412 |
| 82 | 0.0354799 | 0.6430924 |
| 83 | 0.0341089 | 0.6779085 |
| 84 | 0.0324955 | 0.7112293 |
| 85 | 0.0306796 | 0.7428320 |
| 86 | 0.0287042 | 0.7725353 |
| 87 | 0.0266142 | 0.8002022 |
| 88 | 0.0244540 | 0.8257403 |
| 89 | 0.0222668 | 0.8491012 |
| 90 | 0.0200926 | 0.8702783 |
| 91 | 0.0179674 | 0.8893028 |
| 92 | 0.0159223 | 0.9062398 |
| 93 | 0.0139828 | 0.9211827 |
| 94 | 0.0121690 | 0.9342474 |
| 95 | 0.0104951 | 0.9455673 |
| 96 | 0.0089699 | 0.9552872 |
| 97 | 0.0075973 | 0.9635580 |
| 98 | 0.0063768 | 0.9705325 |
| 99 | 0.0053041 | 0.9763609 |
| 100 | 0.0043722 | 0.9811877 |
| 101 | 0.0035715 | 0.9851490 |
| 102 | 0.0028912 | 0.9883708 |
| 103 | 0.0023194 | 0.9909675 |
| 104 | 0.0018439 | 0.9930416 |
| 105 | 0.0014527 | 0.9946834 |
| 106 | 0.0011342 | 0.9959712 |
| 107 | 0.0008775 | 0.9969723 |
| 108 | 0.0006728 | 0.9977436 |
| 109 | 0.0005112 | 0.9983323 |
| 110 | 0.0003850 | 0.9987778 |
| 111 | 0.0002873 | 0.9991117 |
| 112 | 0.0002124 | 0.9993599 |
| 113 | 0.0001557 | 0.9995426 |
| 114 | 0.0001130 | 0.9996759 |
| 115 | 0.0000814 | 0.9997723 |
| 116 | 0.0000580 | 0.9998414 |
| 117 | 0.0000410 | 0.9998905 |
| 118 | 0.0000287 | 0.9999250 |
| 119 | 0.0000199 | 0.9999491 |
| 120 | 0.0000137 | 0.9999657 |
| 121 | 0.0000093 | 0.9999771 |
| 122 | 0.0000063 | 0.9999849 |
| 123 | 0.0000042 | 0.9999901 |
| 124 | 0.0000028 | 0.9999936 |
| 125 | 0.0000018 | 0.9999958 |
| 126 | 0.0000012 | 0.9999973 |
x <- round(min(masculinos$peso-10),0):round(max(masculinos$peso+10),0)
tabla.peso.femenino <- data.frame(x=x, prob.x = dnorm(x = x, mean = media.peso.f, sd = desv.std.peso.f), f.acum.x = pnorm(q = x, mean = media.peso.f, sd = desv.std.peso.f))
kable(tabla.peso.femenino, caption = "Peso Muestra Femenino")
| x | prob.x | f.acum.x |
|---|---|---|
| 44 | 0.0093485 | 0.0421392 |
| 45 | 0.0111267 | 0.0523603 |
| 46 | 0.0131007 | 0.0644580 |
| 47 | 0.0152589 | 0.0786232 |
| 48 | 0.0175815 | 0.0950307 |
| 49 | 0.0200398 | 0.1138315 |
| 50 | 0.0225960 | 0.1351430 |
| 51 | 0.0252042 | 0.1590409 |
| 52 | 0.0278111 | 0.1855511 |
| 53 | 0.0303575 | 0.2146430 |
| 54 | 0.0327805 | 0.2462249 |
| 55 | 0.0350163 | 0.2801416 |
| 56 | 0.0370021 | 0.3161741 |
| 57 | 0.0386800 | 0.3540430 |
| 58 | 0.0399989 | 0.3934143 |
| 59 | 0.0409180 | 0.4339075 |
| 60 | 0.0414078 | 0.4751070 |
| 61 | 0.0414528 | 0.5165747 |
| 62 | 0.0410515 | 0.5578638 |
| 63 | 0.0402167 | 0.5985330 |
| 64 | 0.0389750 | 0.6381613 |
| 65 | 0.0373654 | 0.6763603 |
| 66 | 0.0354370 | 0.7127858 |
| 67 | 0.0332465 | 0.7471469 |
| 68 | 0.0308559 | 0.7792121 |
| 69 | 0.0283291 | 0.8088133 |
| 70 | 0.0257295 | 0.8358461 |
| 71 | 0.0231171 | 0.8602681 |
| 72 | 0.0205465 | 0.8820943 |
| 73 | 0.0180653 | 0.9013909 |
| 74 | 0.0157128 | 0.9182679 |
| 75 | 0.0135197 | 0.9328698 |
| 76 | 0.0115076 | 0.9453677 |
| 77 | 0.0096895 | 0.9559498 |
| 78 | 0.0080710 | 0.9648134 |
| 79 | 0.0066504 | 0.9721578 |
| 80 | 0.0054210 | 0.9781780 |
| 81 | 0.0043713 | 0.9830597 |
| 82 | 0.0034869 | 0.9869757 |
| 83 | 0.0027516 | 0.9900833 |
| 84 | 0.0021479 | 0.9925228 |
| 85 | 0.0016587 | 0.9944173 |
| 86 | 0.0012671 | 0.9958727 |
| 87 | 0.0009575 | 0.9969788 |
| 88 | 0.0007158 | 0.9978104 |
| 89 | 0.0005294 | 0.9984289 |
| 90 | 0.0003873 | 0.9988839 |
| 91 | 0.0002803 | 0.9992151 |
| 92 | 0.0002007 | 0.9994536 |
| 93 | 0.0001421 | 0.9996234 |
| 94 | 0.0000996 | 0.9997431 |
| 95 | 0.0000690 | 0.9998265 |
| 96 | 0.0000473 | 0.9998840 |
| 97 | 0.0000321 | 0.9999233 |
| 98 | 0.0000215 | 0.9999498 |
| 99 | 0.0000143 | 0.9999674 |
| 100 | 0.0000094 | 0.9999791 |
| 101 | 0.0000061 | 0.9999867 |
| 102 | 0.0000039 | 0.9999917 |
| 103 | 0.0000025 | 0.9999948 |
| 104 | 0.0000016 | 0.9999968 |
| 105 | 0.0000010 | 0.9999981 |
| 106 | 0.0000006 | 0.9999988 |
| 107 | 0.0000004 | 0.9999993 |
| 108 | 0.0000002 | 0.9999996 |
| 109 | 0.0000001 | 0.9999998 |
| 110 | 0.0000001 | 0.9999999 |
| 111 | 0.0000000 | 0.9999999 |
| 112 | 0.0000000 | 1.0000000 |
| 113 | 0.0000000 | 1.0000000 |
| 114 | 0.0000000 | 1.0000000 |
| 115 | 0.0000000 | 1.0000000 |
| 116 | 0.0000000 | 1.0000000 |
| 117 | 0.0000000 | 1.0000000 |
| 118 | 0.0000000 | 1.0000000 |
| 119 | 0.0000000 | 1.0000000 |
| 120 | 0.0000000 | 1.0000000 |
| 121 | 0.0000000 | 1.0000000 |
| 122 | 0.0000000 | 1.0000000 |
| 123 | 0.0000000 | 1.0000000 |
| 124 | 0.0000000 | 1.0000000 |
| 125 | 0.0000000 | 1.0000000 |
| 126 | 0.0000000 | 1.0000000 |
g1 <- ggplot(data = tabla.peso.masculino, aes(x,prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Pesos MASCULINO Densidad P(x)", subtitle = paste("media = ",round(media.peso.m, 4), "desv=", round(desv.std.peso.m, 4) )) +
geom_vline(xintercept = media.peso.m, colour="red")
#g1
g2 <- ggplot(data = tabla.peso.femenino, aes(x,prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("PESO FEMENINO. Densidad P(x)", subtitle = paste("media = ",round(media.peso.f, 4), "desv=", round(desv.std.peso.f,4) )) +
geom_vline(xintercept = media.peso.f, colour="red")
#g2
plot_grid(g1, g2)
media.estatura.m <- mean(masculinos$estatura)
desv.std.estatura.m <- sd(masculinos$estatura)
media.estatura.m
## [1] 177.7453
desv.std.estatura.m
## [1] 7.183629
media.estatura.f <- mean(femeninos$estatura)
desv.std.estatura.f <- sd(femeninos$estatura)
media.estatura.f
## [1] 164.8723
desv.std.estatura.f
## [1] 6.544602
Se toman los valores mínimos y máximos de estaturas, de esos valores se disminuye en diez a mínimo y aumenta en diez a máximo para contemplar mayor rango.
x <- round(min(masculinos$estatura-10),0):round(max(masculinos$estatura+10),0)
tabla.estatura.masculino <- data.frame(x=x, prob.x = dnorm(x = x, mean = media.estatura.m, sd = desv.std.estatura.m), f.acum.x = pnorm(q = x, mean = media.estatura.m, sd = desv.std.estatura.m))
kable(tabla.estatura.masculino, caption = "Estatura Muestra Masculino")
| x | prob.x | f.acum.x |
|---|---|---|
| 147 | 0.0000058 | 0.0000093 |
| 148 | 0.0000105 | 0.0000173 |
| 149 | 0.0000185 | 0.0000315 |
| 150 | 0.0000320 | 0.0000562 |
| 151 | 0.0000543 | 0.0000984 |
| 152 | 0.0000903 | 0.0001693 |
| 153 | 0.0001472 | 0.0002859 |
| 154 | 0.0002355 | 0.0004741 |
| 155 | 0.0003695 | 0.0007720 |
| 156 | 0.0005686 | 0.0012347 |
| 157 | 0.0008582 | 0.0019393 |
| 158 | 0.0012705 | 0.0029920 |
| 159 | 0.0018448 | 0.0045344 |
| 160 | 0.0026273 | 0.0067510 |
| 161 | 0.0036698 | 0.0098756 |
| 162 | 0.0050276 | 0.0141956 |
| 163 | 0.0067555 | 0.0200542 |
| 164 | 0.0089032 | 0.0278467 |
| 165 | 0.0115085 | 0.0380133 |
| 166 | 0.0145906 | 0.0510229 |
| 167 | 0.0181431 | 0.0673516 |
| 168 | 0.0221276 | 0.0874534 |
| 169 | 0.0264692 | 0.1117262 |
| 170 | 0.0310550 | 0.1404736 |
| 171 | 0.0357361 | 0.1738683 |
| 172 | 0.0403336 | 0.2119183 |
| 173 | 0.0446489 | 0.2544416 |
| 174 | 0.0484774 | 0.3010538 |
| 175 | 0.0516240 | 0.3511688 |
| 176 | 0.0539198 | 0.4040177 |
| 177 | 0.0552368 | 0.4586815 |
| 178 | 0.0555000 | 0.5141393 |
| 179 | 0.0546943 | 0.5693246 |
| 180 | 0.0528659 | 0.6231864 |
| 181 | 0.0501179 | 0.6747493 |
| 182 | 0.0466009 | 0.7231655 |
| 183 | 0.0424991 | 0.7677559 |
| 184 | 0.0380145 | 0.8080361 |
| 185 | 0.0333506 | 0.8437254 |
| 186 | 0.0286974 | 0.8747411 |
| 187 | 0.0242194 | 0.9011789 |
| 188 | 0.0200480 | 0.9232826 |
| 189 | 0.0162765 | 0.9414086 |
| 190 | 0.0129609 | 0.9559880 |
| 191 | 0.0101227 | 0.9674899 |
| 192 | 0.0077542 | 0.9763902 |
| 193 | 0.0058259 | 0.9831453 |
| 194 | 0.0042932 | 0.9881740 |
| 195 | 0.0031029 | 0.9918458 |
| 196 | 0.0021997 | 0.9944755 |
| 197 | 0.0015294 | 0.9963228 |
| 198 | 0.0010430 | 0.9975955 |
| 199 | 0.0006976 | 0.9984556 |
| 200 | 0.0004576 | 0.9990257 |
| 201 | 0.0002945 | 0.9993964 |
| 202 | 0.0001858 | 0.9996328 |
| 203 | 0.0001150 | 0.9997806 |
| 204 | 0.0000698 | 0.9998713 |
| 205 | 0.0000416 | 0.9999259 |
| 206 | 0.0000243 | 0.9999581 |
| 207 | 0.0000139 | 0.9999767 |
| 208 | 0.0000078 | 0.9999873 |
x <- round(min(femeninos$estatura-10),0):round(max(femeninos$estatura+10),0)
tabla.estatura.femenino <- data.frame(x=x, prob.x = dnorm(x = x, mean = media.estatura.f, sd = desv.std.estatura.f), f.acum.x = pnorm(q = x, mean = media.estatura.f, sd = desv.std.estatura.f))
kable(tabla.estatura.femenino, caption = "Estatura Muestra Femenino")
| x | prob.x | f.acum.x |
|---|---|---|
| 137 | 0.0000070 | 0.0000103 |
| 138 | 0.0000133 | 0.0000201 |
| 139 | 0.0000246 | 0.0000386 |
| 140 | 0.0000445 | 0.0000722 |
| 141 | 0.0000787 | 0.0001323 |
| 142 | 0.0001358 | 0.0002372 |
| 143 | 0.0002289 | 0.0004158 |
| 144 | 0.0003770 | 0.0007132 |
| 145 | 0.0006066 | 0.0011969 |
| 146 | 0.0009536 | 0.0019655 |
| 147 | 0.0014644 | 0.0031586 |
| 148 | 0.0021968 | 0.0049680 |
| 149 | 0.0032196 | 0.0076489 |
| 150 | 0.0046097 | 0.0115295 |
| 151 | 0.0064476 | 0.0170175 |
| 152 | 0.0088102 | 0.0245998 |
| 153 | 0.0117607 | 0.0348342 |
| 154 | 0.0153372 | 0.0483303 |
| 155 | 0.0195396 | 0.0657177 |
| 156 | 0.0243190 | 0.0876024 |
| 157 | 0.0295690 | 0.1145133 |
| 158 | 0.0351228 | 0.1468424 |
| 159 | 0.0407569 | 0.1847861 |
| 160 | 0.0462034 | 0.2282939 |
| 161 | 0.0511690 | 0.2770326 |
| 162 | 0.0553606 | 0.3303735 |
| 163 | 0.0585133 | 0.3874068 |
| 164 | 0.0604184 | 0.4469834 |
| 165 | 0.0609459 | 0.5077833 |
| 166 | 0.0600592 | 0.5684026 |
| 167 | 0.0578197 | 0.6274497 |
| 168 | 0.0543791 | 0.6836408 |
| 169 | 0.0499631 | 0.7358822 |
| 170 | 0.0448463 | 0.7833331 |
| 171 | 0.0393246 | 0.8254399 |
| 172 | 0.0336870 | 0.8619440 |
| 173 | 0.0281917 | 0.8928619 |
| 174 | 0.0230484 | 0.9184454 |
| 175 | 0.0184086 | 0.9391272 |
| 176 | 0.0143635 | 0.9554614 |
| 177 | 0.0109487 | 0.9680648 |
| 178 | 0.0081531 | 0.9775655 |
| 179 | 0.0059312 | 0.9845624 |
| 180 | 0.0042153 | 0.9895967 |
| 181 | 0.0029266 | 0.9931354 |
| 182 | 0.0019851 | 0.9955656 |
| 183 | 0.0013153 | 0.9971961 |
| 184 | 0.0008514 | 0.9982648 |
| 185 | 0.0005384 | 0.9989491 |
| 186 | 0.0003327 | 0.9993773 |
| 187 | 0.0002008 | 0.9996390 |
| 188 | 0.0001184 | 0.9997952 |
| 189 | 0.0000682 | 0.9998864 |
| 190 | 0.0000384 | 0.9999383 |
| 191 | 0.0000211 | 0.9999673 |
| 192 | 0.0000113 | 0.9999830 |
| 193 | 0.0000059 | 0.9999914 |
g1 <- ggplot(data = tabla.estatura.masculino, aes(x,prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("ESTATURAS MASCULINO Densidad P(x)", subtitle = paste("media = ",round(media.estatura.m, 4), "desv=", round(desv.std.estatura.m, 4) ))+
geom_vline(xintercept = media.estatura.m, colour="red")
#g1
g2 <- ggplot(data = tabla.estatura.femenino, aes(x,prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("ESTATURAS FEMENINO. Densidad P(x)", subtitle = paste("media = ",round(media.estatura.f, 4), "desv=", round(desv.std.estatura.f, 4) )) +
geom_vline(xintercept = media.estatura.f, colour="red")
#g2
plot_grid(g1, g2)
¿Cuál es la probabilidad de encontrar a una persona masculino que pese menor o igual de 60 kilogramos?
Graficar la función en donde \(P(x \leq 60)\)
Gráfica de densidad
plotDist("norm", mean = media.peso.m, sd = desv.std.peso.m, groups = x <= 60, type = "h", xlab = "Peso Hombres", ylab = "Densidad", sub=paste("Media = ",round(media.peso.m), " Desv. Std = ", round(desv.std.peso.m,4)) )
prob <- pnorm(q = 60, mean = media.peso.m, sd = desv.std.peso.m)
paste("La probabilidad de encontrar a una persona masculino que pese menor de 60 kilogramos es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que pese menor de 60 kilogramos es de: 4.218 %"
¿Cuál es la probabilidad de encontrar a una persona femenino que pese menor o igual de 60 kilogramos?
plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x <= 60, type = "h", xlab = "Peso Mujeres", ylab = "Densidad", sub=paste("Media = ",round(media.peso.f), " Desv. Std = ", round(desv.std.peso.f,4)) )
prob <- pnorm(q = 60, mean = media.peso.f, sd = desv.std.peso.f)
paste("La probabilidad de encontrar a una persona femenino que pese menor de 60 kilogramos es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que pese menor de 60 kilogramos es de: 47.5107 %"
¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 centímetros?
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 180, type = "h", xlab = "Estatura Hombres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.m), " Desv. Std = ", round(desv.std.estatura.m,4)) )
prob <- pnorm(q = 180, mean = media.estatura.m, sd = desv.std.estatura.m, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 de: 37.6814 %"
¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 centímetros?
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190, type = "h", xlab = "Estatura Hombres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.m), " Desv. Std = ", round(desv.std.estatura.m,4)) )
prob <- pnorm(q = 190, mean = media.estatura.m, sd = desv.std.estatura.m, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 de: 4.4012 %"
¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímetros?
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.m), " Desv. Std = ", round(desv.std.estatura.m,4)))
prob <- pnorm(q = 170, mean = media.estatura.m, sd = desv.std.estatura.m) - pnorm(q = 160, mean = media.estatura.m, sd = desv.std.estatura.m)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros de: 13.3723 %"
¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímetros?
plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Hombres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.m), " Desv. Std = ", round(desv.std.estatura.m,4)) )
prob <- pnorm(q = 195, mean = media.estatura.m, sd = desv.std.estatura.m) - pnorm(q = 190, mean = media.estatura.m, sd = desv.std.estatura.m)
paste("La probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros es de: 3.5858 %"
¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 centímetros?
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 180, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.f), " Desv. Std = ", round(desv.std.estatura.f,4)) )
prob <- pnorm(q = 180, mean = media.estatura.f, sd = desv.std.estatura.f, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 de: 1.0403 %"
¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 centímetros?
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.f), " Desv. Std = ", round(desv.std.estatura.f,4)) )
prob <- pnorm(q = 190, mean = media.estatura.f, sd = desv.std.estatura.f, lower.tail = FALSE)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 de: 0.0062 %"
¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímetros?
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.f), " Desv. Std = ", round(desv.std.estatura.f,4)) )
prob <- pnorm(q = 170, mean = media.estatura.f, sd = desv.std.estatura.f) - pnorm(q = 160, mean = media.estatura.f, sd = desv.std.estatura.f)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros de: 55.5039 %"
¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímetros?
plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad", sub=paste("Media = ",round(media.estatura.f), " Desv. Std = ", round(desv.std.estatura.f,4)) )
prob <- pnorm(q = 195, mean = media.estatura.f, sd = desv.std.estatura.f) - pnorm(q = 190, mean = media.estatura.f, sd = desv.std.estatura.f)
paste("La probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros es de: 0.006 %"
¿Cuál es la probabilidad de encontrar a una persona masculino o femenino que tenga una estatura entre 160 y 170 centímetros?
plotDist("norm", mean = mean(datos$estatura), sd = sd(datos$estatura), groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres y Mujeres", ylab = "Densidad", sub=paste("Media = ",round(mean(datos$estatura)), " Desv. Std = ", round(sd(datos$estatura),4)) )
prob <- pnorm(q = 170, mean = mean(datos$estatura), sd = sd(datos$estatura)) - pnorm(q = 160, mean = mean(datos$estatura), sd = sd(datos$estatura))
paste("La probabilidad de encontrar a una persona masculino o femenino que tenga una estatura entre 160 y 170 centímetros? es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona masculino o femenino que tenga una estatura entre 160 y 170 centímetros? es de: 33.3526 %"
En este ejercicio, realizamos una comparación de las probabilidades de diferentes eventos. Por ejemplo, analizamos la probabilidad de encontrar hombres con una estatura superior a 190 centímetros frente a aquellos que están por encima de 180 centímetros. Nuestros datos indican que el segundo evento tiene una mayor probabilidad, con un resultado del 37.6814%, en comparación con el 4.4012% del primer evento.
Además, también comparamos las estaturas en diferentes rangos dentro de una población femenina. Por ejemplo, encontramos que la probabilidad de que exista una mujer con una estatura entre 160 y 170 centímetros es mayor que la probabilidad de encontrar mujeres con una estatura igual o superior a 190 centímetros. En el primer evento, observamos una concentración significativa de probabilidad, con un 55.5039%, mientras que el segundo evento tiene una probabilidad muy baja de tan solo 0.0062%.
En resumen, los resultados de este ejercicio indican que hay una mayor cantidad de hombres con estaturas de 180 centímetros o más, y una mayor cantidad de mujeres con estaturas entre 160 y 170 centímetros.
Una empresa de material eléctrico fabrica bombillas (focos) de luz que tienen una duración, antes de quemarse (fundirse), que se distribuye normalmente con media igual a 800 horas y una desviación estándar de 40 horas. Encuentre la probabilidad de que una bombilla se queme entre 778 y 834 horas. @walpole_probabilidad_2012].
\[\mu = 800\] \[ \sigma=40\]
\[P(778 \leq x \leq 834)\]
media <- 800
desv.stadandar <- 40
plotDist("norm", mean = media, sd = desv.stadandar, groups = x >= 778 & x <= 834, type = "h", xlab = "Distribución de la duración bombillas (focos)", ylab = "Densidad" )
prob <- pnorm(q = 834, mean = media, sd = desv.stadandar) - pnorm(q = 778, mean = media, sd = desv.stadandar)
paste("La probabilidad de que una bombilla se queme entre 778 y 834 horas es:", round(prob * 100, 4), "%")
## [1] "La probabilidad de que una bombilla se queme entre 778 y 834 horas es: 51.1178 %"
Si consideramos que la probabilidad total del área bajo la curva de una distribución normal es del 100%, y deseamos calcular la probabilidad en el intervalo comprendido entre 778 y 834, podemos obtenerla restando la probabilidad de 834 a la probabilidad de 778. Esto nos proporcionará el área bajo la curva correspondiente a dicho intervalo en la variable aleatoria. En la gráfica, el área coloreada de rosa representa este intervalo.
Por lo tanto, la probabilidad de que un foco se funda en un rango de tiempo entre 778 y 834 horas es del 51.1178%.
Los sueldos mensuales en una empresa siguen una distribución normal con media de 1200 soles, y desviación estándar de 200 soles.
¿Qué porcentaje de trabajadores ganan entre 1000 y 1550 soles?[@matemovil].
\[\mu = 1200\] \[ \sigma=200\]
\[1000 \leq x \leq 1550\]
media <- 1200
desv.stadandar <- 200
plotDist("norm", mean = media, sd = desv.stadandar, groups = x >= 1000 & x <= 1550, type = "h", xlab = "Ganancias de trabajadores en soles", ylab = "Densidad" )
prob <- pnorm(q = 1550, mean = media, sd = desv.stadandar) - pnorm(q = 1000, mean = media, sd = desv.stadandar)
paste("La probabilidad de que una persoan gane entre 1000 y 1550 soles es de:", round(prob * 100, 4), "%")
## [1] "La probabilidad de que una persoan gane entre 1000 y 1550 soles es de: 80.1286 %"
La probabilidad de que una persona gane entre 1000 y 1550 soles es del 80.1286%. Este porcentaje representa la proporción de trabajadores cuyos ingresos caen dentro de ese intervalo específico.
Esta información sugiere que hay una alta probabilidad de que un individuo tenga un salario comprendido entre 1000 y 1550 soles. Esto puede ser considerado como un intervalo común o típico en términos de la distribución de salarios entre los trabajadores analizados.
Es importante tener en cuenta que el porcentaje mencionado se refiere específicamente a aquellos trabajadores cuyos salarios se encuentran dentro de ese rango en particular. Otros intervalos de ingresos pueden tener diferentes probabilidades asociadas, lo que indica la variabilidad en las distribuciones de ingresos dentro de la muestra o población analizada.
En una distribución normal \(N ( \mu=5, \sigma=2 )\) calcula las siguientes probabilidades:
Inicializar valores de media y desviación [anónimo]
media <- 5
desv <- 2
plotDist("norm", mean = media, sd = desv, groups = x <= 3.25, type = "h", xlab = "Contexto indistinto", ylab = "Densidad" )
x = 3.25
pnorm(q = x, mean = media, sd= desv)
## [1] 0.190787
plotDist("norm", mean = media, sd = desv, groups = x > 4.5, type = "h", xlab = "Contexto indistinto", ylab = "Densidad" )
x <- 4.5
pnorm(q = x, mean = media, sd= desv, lower.tail = FALSE)
## [1] 0.5987063
plotDist("norm", mean = media, sd = desv, groups = x <= 7.2, type = "h", xlab = "Contexto indistinto", ylab = "Densidad" )
x <- 7.2
pnorm(q = x, mean = media, sd= desv)
## [1] 0.8643339
plotDist("norm", mean = media, sd = desv, groups = x > 3 & x<= 6 , type = "h", xlab = "Contexto indistinto", ylab = "Densidad" )
x1 <- 6
x2 <- 3
pnorm(q = x1, mean = media, sd = desv) - pnorm(q = x2, mean = media, sd = desv)
## [1] 0.5328072
Es difícil etiquetar la carne empaquetada con su peso correcto debido a los efectos de pérdida de líquido (definido como porcentaje del peso original de la carne). Supongamos que la pérdida de líquido en un paquete de pechuga de pollo se distribuye como normal con media \(4 %\) y desviación típica \(1 %\). [@uc3m_introduccion_nodate].
media <- 0.04
desv <- 0.01
¿Cuál es la probabilidad de que de que esté entre 3 y 5 porciento.
plotDist("norm", mean = media, sd = desv, groups = x >= 0.03 & x <= 0.05, type = "h", xlab = "Carne empaquetada", ylab = "Densidad" )
\(P(3 \leq x \leq 5\)
pnorm(q = 0.05, mean = media, sd = desv) - pnorm(q = 0.03, mean = media, sd = desv)
## [1] 0.6826895
La distribución normal, también conocida como distribución de Gauss, es una herramienta estadística ampliamente utilizada para modelar eventos que involucran variables continuas. Se aplica en una amplia gama de áreas, como la biología, la física, la economía y más. Su gráfica muestra una forma característica en forma de campana y se extiende hacia infinito en ambos extremos.
Esta distribución se utiliza para representar eventos que ocurren alrededor de un valor central, conocido como la media aritmética. Es decir, tiende a ser más probable que los eventos se concentren alrededor de este valor medio. Sin embargo, también permite representar eventos que se desvían de la media, aunque con menor probabilidad a medida que se alejan.
En diversos ejercicios, se pueden observar diferentes gráficas de distribución normal, que varían principalmente en términos de su probabilidad y densidad. Aunque mantienen la forma general de campana, la variación en la probabilidad y densidad puede revelar la diversidad de situaciones y comportamientos que pueden ser modelados mediante esta distribución.
En resumen, la distribución normal es una herramienta valiosa para comprender y modelar eventos que involucran variables continuas. Su forma característica y propiedades estadísticas la convierten en una elección común en el análisis de una amplia variedad de fenómenos y poblaciones.