CASO 20. Distribución Normal

Objetivo

Identificar en una distribución normal, los valores de la curva o los valores de la función de densidad, graficar el área bajo la curva y calcular probabildiades.

Descripción

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.

Fundamento teórico

La distribución continua de probabilidad más importante en todo el campo de la estadística es la distribución normal. Su gráfi ca, que se denomina curva normal, es la curva con forma de campana (Walpole et al., 2012).

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 (Walpole et al., 2012).

Fórmula de la función de densidad

Para distribución n normal estándard co media igual a 0 y desviación = 1

Para distribución normal

\(n(x;μ;σ)=12⋅π⋅σ−−−−−−√⋅e12⋅σ2⋅(x−μ)2\)

En donde: π=3.14159 y e=2.71828

PASO 1. Cargar las librerías

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(mosaic)
## Warning: package 'mosaic' was built under R version 4.0.3
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
library(readr)
library(ggplot2)  # Para gráficos
library(knitr)    # Para formateo de datos

Ejercicios

Ejercicio 1. Caso de mediciones del cuerpo humano (Peso y Estatura)

Cargar los datos

datos <- read.table("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/datos/body.dat.txt", quote="\"", comment.char="")

datos <- as.data.frame(datos)

colnames(datos)[23:25] <- c("peso", "estatura", "genero")

# Solo nos interesan las tres últimas columnas
datos <- select(datos, estatura, peso, genero)

Ver los primeros seis y últimos seis registros

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

Visualiar la dispersión de los datos

Diagrama de dispersión del peso

ggplot(datos, aes(x = 1:nrow(datos), y = peso)) +
  geom_point(colour = "pink") 

Diagrama de dispersión de la estatura

ggplot(datos, aes(x = 1:nrow(datos), y = estatura)) +
  geom_point(colour = "purple")

Histrogramas

Histograma del peso

ggplot(datos) +
  geom_histogram(aes(x = peso))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Histograma de la estatura

ggplot(datos) +
  geom_histogram(aes(x = estatura))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Identificar medias y desviaciones necesarias

Estadísticos de la variable peso

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.f <- mean(femeninos$peso)
desv.std.peso.f <- sd(femeninos$peso)

Estadísticos de la variable estatura

media.estatura.m <- mean(masculinos$estatura)
desv.std.estatura.m <- sd(masculinos$estatura)


media.estatura.f <- mean(femeninos$estatura)
desv.std.estatura.f <- sd(femeninos$estatura)

Calcular probabilidades

a) ¿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 x<60

Grafíca de desidad

plotDist("norm", mean = media.peso.m, sd = desv.std.peso.m, groups = x <= 60, type = "h", xlab = "Peso Hombres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

b) ¿Cuál es la probabilidad de encontrar a una persona femenino que pese menor o igual de 50 kilogramos?

Graficar la función en donde

\(x<60\) #### Grafíca de desidad

plotDist("norm", mean = media.peso.f, sd = desv.std.peso.f, groups = x <= 60, type = "h", xlab = "Peso Mujeres", ylab = "Densidad" )

Calcular la probabilidad

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 50 kilogramos es de:", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar a una persona femenino que pese menor de 50 kilogramos es de: 47.5107 %"

C) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 180 centímetros?

Graficar la función en donde x>=180

Grafíca de desidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 180, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

d) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura mayor o igual de 190 centímetros?

Graficar la función en donde

\(x>=190\) #### Grafíca de desidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

e) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 160 y 170 centímeros?

Graficar la función en donde 160≤x≤170

Grafíca de desidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

f) ¿Cuál es la probabilidad de encontrar a una persona masculino que tenga una estatura entre 190 y 195 centímeros?

Graficar la función en donde

\(190≤x≤195\) #### Grafíca de desidad

plotDist("norm", mean = media.estatura.m, sd = desv.std.estatura.m, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Hombres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

g) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 180 centímetros?

Graficar la función en donde x>=180

Grafíca de desidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 180, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

h) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura mayor o igual de 190 centímetros?

Graficar la función en donde

\(x>=190\) #### Grafíca de densidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

i) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 160 y 170 centímeros?

Graficar la función en donde 160≤x≤170

Grafíca de desidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

j) ¿Cuál es la probabilidad de encontrar a una persona femenino que tenga una estatura entre 190 y 195 centímeros?

Graficar la función en donde 190≤x≤195

Grafíca de densidad

plotDist("norm", mean = media.estatura.f, sd = desv.std.estatura.f, groups = x >= 190 & x <= 195, type = "h", xlab = "Estatura Mujeres", ylab = "Densidad" )

Calcular la probabilidad

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 %"

k) ¿Cuál es la probabilidad de encontrar a una persona masculino o femenino que tenga una estatura entre 160 y 170 centímeros?

Graficar la función en donde

\(190≤x≤195\) #### Grafíca de desidad

plotDist("norm", mean = mean(datos$estatura), sd = sd(datos$estatura), groups = x >= 160 & x <= 170, type = "h", xlab = "Estatura Hombres y Mujeres", ylab = "Densidad" )

Calcular la probabilidad

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 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: 33.3526 %"

INTERPRETACIÓN DEL EJERCICIO 1

Ejercicio 2.

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 et al. (2012)].

Inicializar valores

μ=800

σ=40

Se busca:

778≤x≤834

media <- 800
desv.stadandar <- 40

La gráfica de la distribución normal

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" )

Cálculo de la probabilidad:

La probabilidad de que una bombilla se queme entre 778 y 834 horas.

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 %"

INTERPRETACIÓN DEL EJEMPLO 2

Debido a que la probabilidad que hay abajo de la curva de una distribución normal es del 100% y se solicita una probabilidad entre 778 y 834, entonces se hace la siguiente resta:

La probabilidad de 834 menos la probabilidad de 778, para as´poder enontrar el área bajo la curva.

En la parte de la gráfica que es de color rosado,es esa el área bajo la curva.

Por otro lado, las probabilidades de fundirse de un foco se encuentran entre un rango de 778 horas y 834 horas es del 51.1178 %

Ejercicio 3.

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, n.d.)

Inicializar valores

\(μ=1200\) \(σ=200\)

Se busca:

\(1000≤x≤1550\)

media <- 1200
desv.stadandar <- 200

La gráfica de la distribución normal

plotDist("norm", mean = media, sd = desv.stadandar, groups = x >= 1000 & x <= 1550, type = "h", xlab = "Ganancias de trabajadores en soles", ylab = "Densidad" )

Cálculo de la probabilidad

¿Qué porcentaje de trabajadores ganan entre 1000 y 1550 soles?

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 %"

INTERPRETACIÓN DEL EJERCICIO 3

La probabilidad de que una persona gane entre 1000 y 1550 soles es de:“, 80.1286,”%" que es el porcentaje de trabajadores que ganan en ese intérvalo