Transformar distribución normal a normal estándar y calcular probabilidades
¿Porque Z? En general, el valor de \(Z\) se interpreta como el número de desviaciones estándar que están comprendidas entre el promedio y un cierto valor de variable \(x\).
Se identifica \(z\) como la diferencia entre un valor de la variable y el promedio, expresada esta diferencia en cantidad de desviaciones estándar.(MedWave 2011).
Hablar estadísticamente en términos de distribuciones \(z\) o normal estandarizada significa que se tiene una media igual a cero y una desviación estándar de 1.
Cargar librerías y datos para representar una distribución normal y transformar a distribución normal estándar
library(cowplot) # Gráficos
library(ggplot2) # Gráfico
library(mosaic)
library(dplyr) # Para proesar filtrar ordnar con arrange
Estas variables son para generar la población.
n <- 200
media <- 175
desv <- 10
set.seed(2021)
n <- 200
estaturas<- rnorm(n = n, mean = media, sd = desv)
estaturas
## [1] 173.7754 180.5246 178.4865 178.5963 183.9805 155.7743 177.6174 184.1557
## [9] 175.1377 192.2996 164.1780 172.2717 176.8200 190.0854 191.0447 156.5852
## [17] 191.2331 176.3139 189.8112 190.1332 165.5756 173.1431 163.9888 187.0812
## [25] 158.7506 176.0538 160.4456 171.4598 174.0630 186.0067 155.3617 160.5206
## [33] 185.1944 160.7858 168.9547 159.1653 162.1407 160.4532 174.1293 180.0474
## [41] 176.1639 192.6021 171.5488 196.2000 174.6562 167.0785 189.7552 167.7444
## [49] 178.1238 181.9196 169.9971 152.4413 175.4374 171.3118 165.3978 176.0377
## [57] 179.2729 173.2952 159.5086 159.9440 175.1604 173.1464 178.9193 167.4329
## [65] 177.3142 165.1639 180.6508 191.1675 172.4804 164.4412 171.5177 174.5701
## [73] 161.0245 189.9022 164.6061 172.6305 165.0086 161.0746 184.8201 178.6094
## [81] 171.6249 168.5661 153.3311 181.3329 173.5509 162.5997 180.3396 159.1174
## [89] 165.0904 179.8326 183.1062 172.0634 174.4654 182.3518 175.1498 173.7800
## [97] 168.5323 166.3214 169.9130 154.2242 172.3966 179.5034 173.5712 170.1328
## [105] 163.0423 175.4694 173.7347 147.9928 169.2919 180.9160 179.8698 173.7320
## [113] 162.4080 177.0129 155.8310 191.7274 179.7079 189.1411 175.8430 156.9770
## [121] 182.5374 171.8806 157.6744 153.6144 198.6580 179.8476 185.9324 178.0291
## [129] 185.1530 199.5359 172.5438 180.4152 176.9688 154.2884 180.1258 170.9424
## [137] 178.5620 171.6843 175.8059 172.3847 166.2255 182.4131 148.1704 165.5052
## [145] 179.4626 162.1117 173.4219 178.4782 174.4038 189.7673 168.4584 172.4319
## [153] 162.4596 182.7104 165.8865 168.0669 168.8233 182.6212 164.1284 171.0020
## [161] 183.2780 178.5542 176.5914 184.5540 171.6036 167.7262 158.0219 194.5414
## [169] 201.6674 195.6338 183.1878 174.2035 170.1055 183.4772 165.4096 184.2869
## [177] 178.8097 189.9460 170.3230 177.6116 165.0739 164.3662 177.7428 184.4534
## [185] 182.2619 172.4549 189.8518 177.3029 177.7800 176.4704 163.0371 175.9014
## [193] 187.1927 169.3851 178.3688 159.6320 172.5987 180.1487 172.6114 180.8182
\[ \sigma \text{ desviación estándar de población} \\ \mu \text{ media de la población} \]
media.p <- mean(estaturas)
desv.p <- sd(estaturas)
media.p; desv.p
## [1] 174.1197
## [1] 10.43651
g1 <- plotDist(dist = "norm", mean = media.p, sd = desv.p, type = "h", xlab = "x's = Estaturas")
g1
z se interpreta como los valores que están a la derecha de una distribución normal con media igual a cero y desviación igual a 1.
\[ z = \frac{x - \mu}{\sigma} \]
x = seq(160, 190, 5)
# z ?
f.devolver.z <- function(x, media, desv) {
z <- (x - media) / desv
z
}
z <- f.devolver.z(x = x, media = media.p, desv = desv.p)
x; z
## [1] 160 165 170 175 180 185 190
## [1] -1.35291036 -0.87382319 -0.39473603 0.08435114 0.56343831 1.04252548
## [7] 1.52161265
Por cada valor de x’s su correspondiente valor de z
equivalencias <- data.frame (x = estaturas, z = f.devolver.z(x = estaturas, media = media, desv = desv))
# equivalencias
equivalencias <- arrange(equivalencias, x)
head(equivalencias, 20)
## x z
## 1 147.9928 -2.700715
## 2 148.1704 -2.682963
## 3 152.4413 -2.255869
## 4 153.3311 -2.166885
## 5 153.6144 -2.138563
## 6 154.2242 -2.077584
## 7 154.2884 -2.071162
## 8 155.3617 -1.963825
## 9 155.7743 -1.922570
## 10 155.8310 -1.916904
## 11 156.5852 -1.841476
## 12 156.9770 -1.802304
## 13 157.6744 -1.732560
## 14 158.0219 -1.697806
## 15 158.7506 -1.624939
## 16 159.1174 -1.588265
## 17 159.1653 -1.583474
## 18 159.5086 -1.549140
## 19 159.6320 -1.536800
## 20 159.9440 -1.505600
tail(equivalencias, 20)
## x z
## 181 189.7552 1.475515
## 182 189.7673 1.476729
## 183 189.8112 1.481122
## 184 189.8518 1.485180
## 185 189.9022 1.490216
## 186 189.9460 1.494604
## 187 190.0854 1.508542
## 188 190.1332 1.513318
## 189 191.0447 1.604470
## 190 191.1675 1.616752
## 191 191.2331 1.623310
## 192 191.7274 1.672739
## 193 192.2996 1.729963
## 194 192.6021 1.760214
## 195 194.5414 1.954138
## 196 195.6338 2.063379
## 197 196.2000 2.120000
## 198 198.6580 2.365798
## 199 199.5359 2.453593
## 200 201.6674 2.666738
La media debe ser 0 y la desviación es 1
\[ \mu = 0 \\ \sigma = 1 \]
g2 <- plotDist(dist = "norm", mean = 0, sd = 1, type = "h", xlab = "Z's")
g2
plot_grid(g1, g2, nrow = 1, ncol=2)
\[ P(x> 180) \]
x <- 180
prob1 <- round(pnorm(q = x, mean = media.p, desv.p, lower.tail = FALSE) * 100, 2)
paste(prob1, "%")
## [1] "28.66 %"
g3 <- plotDist(dist = "norm", mean = media.p, sd = desv.p, type = "h", xlab = "x's", groups = x >= 180)
# g3
x <- 180
z <- f.devolver.z(x = x, media = media.p, desv = desv.p)
z
## [1] 0.5634383
prob2 <- round(pnorm(q = z, mean = 0, sd=1, lower.tail = FALSE) * 100, 2)
paste(prob2, "%")
## [1] "28.66 %"
g4 <- plotDist(dist = "norm", mean = 0, sd = 1, type = "h", xlab = "z's", groups = x >= z)
#g4
plot_grid(g3, g4, nrow = 1, ncol=2)