Se puede describir de forma completa una variable aleatoria sin más que especificar la probabilidad asociada a cada uno de sus posibles valores. Esta especificación se conoce con el nombre de distribución de probabilidad. Sin embargo, la forma en que se puede especificar dicha distribución de probabilidad depende del tipo de variable aleatoria con la que se esté trabajando. En el caso de variables discretas basta con determinar la probabilidad de cada uno de los posibles resultados observables de la variable, pero no ocurre de la misma forma con las variables continuas donde es imposible conocer todas las probabilidades asociadas con cada uno de sus posibles valores.
Se les denomina discretas, debido a que sus eventos no asumen valores intermedios entre dos numeros enteros.
Se le conoce tambien como distribucion de la probabilidad puntual o de Bernoulli, debido al suizo Jacques Bernoulli, quien por primera vez desarrollo el concepto de ensayos independientes.
\[ P\left(X=x\right)=\binom{size}{x}{prob}^{x}\left(1-{prob}\right)^{size-x}\text{ con }0{\leq}{prob}{\leq}1\text{ y }x=0,1,2,\ldots,{size} \]
densidad.binomial <- function(x, size, prob) choose(size,x)*prob**x*(1-prob)**(size-x)
\[ \mu_{x}=\sum_{x=0}^{size}x{\cdot}\binom{size}{x}{prob}^{x}\left(1-{prob}\right)^{n-x}={size}{\cdot}{prob} \]
esperanza.binomial <- function(size, prob) sum((0:size)*choose(size,(0:size))*prob**(0:size)*(1-prob)**(size-(0:size)))
\[ \sigma_{x}^{2}=\sum_{x=0}^{size}\left(x-\mu_{x}\right)^{2}{\cdot}\binom{size}{x}{prob}^{x}\left(1-{prob}\right)^{{size}-x}={size}{\cdot}{prob}{\cdot}\left(1-{prob}\right) \]
varianza.binomial <- function(size, prob) sum((0:size-esperanza.binomial(size, prob))**2*choose(size,(0:size))*prob**(0:size)*(1-prob)**(size-(0:size)))
CaracterÃsticas:
Los ensayos de Bernoulli se llevan a cabo size (o n) veces,
Los ensayos son independientes,
La probabilidad de exito prob (o p) no cambia entre los ensayos,
Solo hay dos posibles resultados en cada ensayo.
Una medida de aislamiento preventivo obligatorio para contener la expansión de un virus mortal, el COVID-19, ha exito hasta el punto de que 80% de los habitantes de un paÃs se han quedado en sus casas. Para verificar el acatamiento de la medida un grupo de 400 familias ha sido seleccionada para hacer un seguimiento a dicha medida. Con base en lo anterior encuentre las siguientes probabilidades.
\[ P(\text{# de familias que acatan la norma}=x)=\binom{400}{x}{0.8}^{x}\left(1-{0.8}\right)^{400-x}\text{ con }0{\leq}{0.8}{\leq}1\text{ y }x=0,1,2,\ldots,{400} \]
\[ P(\text{# de familias que acatan la norma}=200)=\binom{400}{200}{0.8}^{200}\left(1-{0.8}\right)^{400-200} \]
choose(400,200)*0.8**200*(1-0.8)**(400-200)
## [1] 6.864888e-41
densidad.binomial(x = 200, size = 400, prob = 0.8)
## [1] 6.864888e-41
dbinom(x = 200, size = 400, prob = 0.8)
## [1] 6.864888e-41
\[ P(\text{# de familias que acatan la norma}=320)=\binom{400}{320}{0.8}^{320}\left(1-{0.8}\right)^{400-320} \]
choose(400,320)*0.8**320*(1-0.8)**(400-320)
## [1] 0.04981327
densidad.binomial(x = 320, size = 400, prob = 0.8)
## [1] 0.04981327
dbinom(x = 320, size = 400, prob=0.80)
## [1] 0.04981327
\[ P(\text{# de familias que acatan la norma }{\leq}200)=\sum_{x=0}^{200}P(\text{# de familias que acatan la norma}=x) \] \[ \sum_{x=0}^{200}P(\text{# de familias que acatan la norma}=x)=\sum_{x=0}^{200}\binom{400}{x}{0.8}^{x}\left(1-{0.8}\right)^{400-x} \]
sum(densidad.binomial(0:200, 400, 0.8))
## [1] 9.128211e-41
sum(dbinom(x = 0:200, size = 400, prob = 0.80))
## [1] 9.128211e-41
pbinom(q = 200, size = 400, prob = 0.80, lower.tail = TRUE)
## [1] 9.128211e-41
\[ P(\text{# de familias que acatan la norma }{\geq}300)=1-P(\text{# de familias que acatan la norma}{\leq}299) \]
\[ 1-P(\text{# de familias que acatan la norma}{\leq}299)=1-\sum_{x=0}^{299}P(\text{# de familias que acatan la norma}=x) \]
\[ 1-\sum_{x=0}^{299}P(\text{# de familias que acatan la norma}=x)=1-\sum_{x=0}^{299}\binom{400}{x}{0.8}^{x}\left(1-{0.8}\right)^{400-x} \]
1 - sum(densidad.binomial(0:299, 400, 0.8))
## [1] 0.9938071
1 - sum(dbinom(x = 0:299, size = 400, prob = 0.80))
## [1] 0.9938071
1 - pbinom(q = 299, size = 400, prob = 0.80, lower.tail = TRUE)
## [1] 0.9938071
También se puede encontrar esta probabilidad haciendo el calculo siguiente:
\[ P(\text{# de familias que acatan la norma }{\geq}300)=\sum_{x=300}^{400}P(\text{# de familias que acatan la norma}=x) \]
\[ \sum_{x=300}^{400}P(\text{# de familias que acatan la norma}=x)=\sum_{x=300}^{400}\binom{400}{x}{0.8}^{x}\left(1-{0.8}\right)^{400-x} \]
sum(densidad.binomial(300:400, 400, 0.8))
## [1] 0.9938071
sum(dbinom(x = 300:400, size = 400, prob = 0.80))
## [1] 0.9938071
pbinom(q = 299, size = 400, prob = 0.80, lower.tail = FALSE)
## [1] 0.9938071
La suma de las probabilidades sobre todos los valores que puede tomar la variable aleatoria es igual a 1
\[ P(\text{# de familias que acatan la norma }{\leq}299)+P(\text{# de familias que acatan la norma }{\geq}300)=1 \]
pbinom(q = 299, size = 400, prob = 0.80, lower.tail = TRUE) + pbinom(q = 299, size = 400, prob = 0.80, lower.tail = FALSE)
## [1] 1
De lo anterior y despejando, se puede obtener la formula del complemento de una probabilidad, y es por esto que las probabilidades son iguales
all.equal(pbinom(q = 299, size = 400, prob = 0.80, lower.tail = FALSE), 1 - pbinom(q = 299, size = 400, prob = 0.80, lower.tail = TRUE))
## [1] TRUE
\[ P(\text{# de familias que acatan la norma} {\leq} 400)=\sum_{x = 0}^{400}{P(\text{# de familias que acatan la norma}=x)} \]
\[ \sum_{x = 0}^{400}{P(\text{# de familias que acatan la norma}=x)}=\sum_{x=0}^{400}\binom{400}{x}{0.8}^{x}\left(1-{0.8}\right)^{400-x} \]
sum(densidad.binomial(0:400, 400, 0.8))
## [1] 1
sum(dbinom(x = 0:400, size = 400, prob = 0.80))
## [1] 1
pbinom(q = 400, size = 400, prob = 0.80, lower.tail = TRUE)
## [1] 1
ensayos <- 400
pobabilidad.de.exito <- 0.80
valores.posibles <- 0:ensayos
fx.binomial <- dbinom(x = valores.posibles, size = ensayos, prob = pobabilidad.de.exito)
fbb = pbinom(q = valores.posibles, size = ensayos, prob = pobabilidad.de.exito, lower.tail = TRUE)
fx.binomial = data.frame(x = valores.posibles, "f(X)" = fx.binomial, "F(X)" = fbb)
#tail(fx.binomial)
library(ggplot2)
p1 <- ggplot(fx.binomial, aes(x = x, y = f.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Densidad f(x)")
library(ggplot2)
p2 <- ggplot(fx.binomial, aes(x = x, y = F.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Distribución F(x)")
library(gridExtra)
grid.arrange(p1, p2, nrow = 2, top = "Distribución binomial")
esperanza.binomial(400,0.8)
## [1] 320
400*0.8
## [1] 320
varianza.binomial(400,0.8)
## [1] 64
400*0.8*(1-0.8)
## [1] 64
Es cualquiera de las dos distribuciones de probabilidad discretas siguientes:
\[ P(X=x)={prob}\left(1-{prob}\right)^{x-1}\text{ con }0{\leq}{prob}{\leq}1\text{ y }x=1,2,\ldots \]
Aquà cuento el número de fracasos antes de obtener el primer éxito con probabilidad prob
\[ P(X=x)={prob}\left(1-{prob}\right)^{x}\text{ con }0{\leq}{prob}{\leq}1\text{ y }x=0,1,\ldots \]
densidad.geometrica <- function(x, prob) prob*(1-prob)**(x)
\[ \mu_{x}=\sum_{x=0}^{\infty}x{\cdot}{prob}\left(1-{prob}\right)^{x}=\frac{1-prob}{prob} \]
esperanza.geometrica <- function(size, prob) sum((0:size)*prob*(1-prob)**(0:size))
\[ \sigma_{x}^{2}=\sum_{x=0}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}{prob}\left(1-{prob}\right)^{x}=\frac{1-{prob}}{{prob}^{2}} \]
varianza.geometrica <- function(size, prob) sum((0:size-esperanza.geometrica(size, prob))**2*prob*(1-prob)**(0:size))
Si con relación a cierta pandemia que ha azotado la población de un paÃs se sabe por una muestra aleatoria que un viajero ha contraido la enfermedad y que ha tenido contacto con cien personas, y dado que esta enfermedad es muy contagiosa teniendo un contacto cercano se transmite en el 99% de los casos.
\[ P(X=x)={0.99}\left(1-{0.99}\right)^{x}\text{ con }0{\leq}{0.99}{\leq}1\text{ y }x=0,1,\ldots \]
\[ P(\text{# contactos previos al primer contagio}=0)={0.99}\left(1-0.99\right)^{0} \]
densidad.geometrica(0, 0.99)
## [1] 0.99
dgeom(x = 0, prob = 0.99)
## [1] 0.99
\[ P(\text{# contactos previos al primer contagio}=1)={0.99}\left(1-0.99\right)^{1} \]
densidad.geometrica(x = 1, prob = 0.99)
## [1] 0.0099
dgeom(x = 1, prob = 0.99)
## [1] 0.0099
\[ P(\text{# contactos previos al primer contagio}=2)={0.99}\left(1-0.99\right)^{2} \]
densidad.geometrica(x = 2, prob = 0.99)
## [1] 9.9e-05
dgeom(x = 2, prob = 0.99)
## [1] 9.9e-05
\[ P(\text{# contactos previos al primer contagio}=99)={0.99}\left(1-0.99\right)^{99} \]
densidad.geometrica(x = 99, prob = 0.99)
## [1] 9.9e-199
dgeom(x = 99, prob = 0.99)
## [1] 9.9e-199
\[ P(\text{# contactos previos al primer contagio}=99)={0.99}\left(1-0.99\right)^{100} \]
densidad.geometrica(x = 100, prob = 0.99)
## [1] 9.9e-201
dgeom(x = 100, prob = 0.99)
## [1] 9.9e-201
\[ P(\text{# contactos previos al primer contagio}>x)=1-P(\text{# contactos previos al primer contagio}{\leq}x) \]
\[ 1-P(\text{# contactos previos al primer contagio}{\leq}x)=1-\sum_{x=0}^{x}P(\text{# contactos previos al primer contagio}=x) \]
\[ 1-\sum_{x=0}^{x}P(\text{# contactos previos al primer contagio}=x)=1-\sum_{x=0}^{x}{0.99}\left(1-{0.99}\right)^{100-x} \]
ensayos <- 100
probabilidad.de.contagio <- 0.5
valores.posibles <- 0:ensayos
fx.geometrica <- dgeom(x = valores.posibles, prob = probabilidad.de.contagio)
fbg = pgeom(q = valores.posibles, prob = probabilidad.de.contagio, lower.tail = TRUE)
fx.geometrica = data.frame(x = valores.posibles, "f(X)" = fx.geometrica, "F(X)" = fbg)
#head(fx.geometrica)
library(ggplot2)
p3 <- ggplot(fx.geometrica, aes(x = x, y = f.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Densidad f(x)")
library(ggplot2)
p4 <- ggplot(fx.geometrica, aes(x = x, y = F.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Distribución F(x)")
library(gridExtra)
grid.arrange(p3, p4, nrow = 2, top = "Distribución geométrica")
esperanza.geometrica(size = 100, prob = 0.99)
## [1] 0.01010101
(1-0.99)/0.99
## [1] 0.01010101
varianza.geometrica(size = 10000000, prob = 0.99)
## [1] 0.01020304
(1-0.99)/0.99**2
## [1] 0.01020304
Especialmente útil en todos aquellos casos en los que se extraigan muestras en donde se extraen secuencialmente elementos sin devolución del elemento extraÃdo o, en otras palabras, sin retornar a la situación experimental inicial como es el caso de la binomial.
\[ P(X=x)=\frac{\binom{m}{x}\binom{n}{k-x}}{\binom{m+n}{k}}\text{ con }k{\leq}n+x\text{ y }x=1,2,\ldots,m \]
densidad.hipergeometrica <- function(x, m, n, k) choose(m,x)*choose(n,k-x)/choose(m+n,k)
\[ \mu_{x}=\sum_{x=0}^{\infty}x{\cdot}\frac{\binom{m}{x}\binom{n}{k-x}}{\binom{m+n}{k}}=k{\cdot}\frac{m}{m+n} \]
esperanza.hipergeometrica <- function(m, n, k) sum((0:k)*choose(m,(0:k))*choose(n,k-(0:k))/choose(m+n,k))
\[ \sigma_{x}^{2}=\sum_{x=0}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}\frac{\binom{m}{x}\binom{n}{k-x}}{\binom{m+n}{k}}=\frac{m+n-k}{m+n-1}{\cdot}k{\cdot}\frac{m}{m+n}\left(1-\frac{m}{m+n}\right) \]
varianza.hipergeometrica <- function(m, n, k) sum((0:k-esperanza.hipergeometrica(m, n, k))**2*choose(m,(0:k))*choose(n,k-(0:k))/choose(m+n,k))
una clÃnica ha adquirido quinientas pruebas rápidas para COVID-19, se seleccionan aleatoriamente ochenta de ellas y se someten a una prueba para encontrar posibles defectos. Si el fabricante en la anterior ocasion envÃo dieciséis de otras 500 pruebas defectuosas.
\[ P\left(\text{# de pruebas defectuosas}{\leq}5\right) = P\left(\text{# de pruebas defectuosas}=0\right) + \cdots + P\left(\text{# de pruebas defectuosas}=5\right) \]
sum(densidad.hipergeometrica(x=0:5, m = 16, n = 500 - 16, k = 80))
## [1] 0.9707682
sum(dhyper(x=0:5, m = 16, n = 500 - 16, k = 80))
## [1] 0.9707682
\[ P\left(\text{# de pruebas defectuosas}{\leq}5\right)=\sum_{x=0}^{5}{P\left(\text{# de pruebas defectuosas}=x\right)} \]
phyper(q = 5, m = 16, n = 500 - 16, k = 80, lower.tail = TRUE)
## [1] 0.9707682
\[ P\left(\text{# de pruebas defectuosas}>5\right) = \sum_{x=6}^{80}{P\left(\text{# de pruebas defectuosas}{\leq}x\right)} \]
sum(densidad.hipergeometrica(x=6:16, m = 16, n = 500 - 16, k = 80))
## [1] 0.02923178
sum(dhyper(x=6:16, m = 16, n = 500 - 16, k = 80))
## [1] 0.02923178
phyper(q = 5, m = 16, n = 500 - 16, k = 80, lower.tail = FALSE)
## [1] 0.02923178
La distribución de probabilidades del número de pruebas defectuosas serÃa:
extracciones <- 80
pruebas.malas <- 16
pruebas.buenas <- 500 - 16
valores.posibles <- 0:extracciones
fx.hipergeometrica <- dhyper(x = valores.posibles, m = pruebas.malas, n = pruebas.buenas, k = extracciones)
fbh = phyper(q = valores.posibles, m = pruebas.malas, n = pruebas.buenas, k = extracciones, lower.tail = TRUE)
fx.hipergeometrica = data.frame(x = valores.posibles, "f(X)" = fx.hipergeometrica, "F(X)" = fbh)
#head(fx.hipergeometrica)
library(ggplot2)
p5 <- ggplot(fx.hipergeometrica, aes(x = x, y = f.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Densidad f(x)")
library(ggplot2)
p6 <- ggplot(fx.hipergeometrica, aes(x = x, y = F.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Distribución F(x)")
library(gridExtra)
grid.arrange(p5, p6, nrow = 2, top = "Distribución hipergeométrica")
esperanza.hipergeometrica(m = 16,n = 500-16, k = 80)
## [1] 2.56
80*16/(16+500-16)
## [1] 2.56
varianza.hipergeometrica(m = 16,n = 500-16, k = 80)
## [1] 2.085759
(16+500-16-80)/(16+500-16-1)*80*16/(16+500-16)*(1-16/(16+500-16))
## [1] 2.085759
Es una distribucion discreta al igual que la distribucion binomial, y solo tiene un solo parametro de la media que se le denomina (lambda o \(\lambda\)).
\[ P(X=x)=\frac{e^{-lambda}lambda^{x}}{x!}\text{ con }lambda{=}\mu_{x}{=}\sigma_{x}^{2}\text{ y }x=0,1,2,\ldots \]
densidad.poisson <- function(x, lambda) exp(-lambda)*lambda**x/factorial(x)
\[ \mu_{x}=\sum_{x=0}^{\infty}x{\cdot}\frac{e^{-lambda}lambda^{x}}{x!}=lambda \]
esperanza.poisson <- function(size, lambda) sum((0:size)*exp(-lambda)*lambda**(0:size)/factorial(0:size))
\[ \sigma_{x}^{2}=\sum_{x=0}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}\frac{e^{-lambda}lambda^{x}}{x!}=lambda \]
varianza.poisson <- function(size, lambda) sum((0:size-esperanza.poisson(size, lambda))**2*exp(-lambda)*lambda**(0:size)/factorial(0:size))
La tasa o Ãndice de letalidad se refiere al cociente de fallecimientos en relación a las peronas que se han contagiado de COVID-19 y cuyo resultado suele mostrase en porcentaje. Si en cierto paÃs la tasa de letalidad para el primer més de aislamiento ha sido de 1830 muertes entre 36210, es decir, una tasa de letalidad de \(1830/36210\); lo cual es aproximadamente el 5% o, en terminos diarios, 61 muertos por cada 1207 enfermos. Con base en lo anteriormente expuesto calcule:
\[ P\left(\text{# de muertos}>61\right)=1-P\left(\text{# de muertos}{\leq}61\right) \]
\[ 1-P\left(\text{# de muertos}{\leq}61\right)=1-\sum_{x = 0}^{61}{P\left(\text{# de muertos}=x\right)} \]
\[ 1-\sum_{x = 0}^{61}{P\left(\text{# de muertos}=x\right)}=1-\sum_{x = 0}^{61}\frac{e^{-61}-61^{x}}{x!} \]
1 - sum(densidad.poisson(x = 0:61, lambda = 61))
## [1] 0.4660183
1 - sum(dpois(x = 0:61, lambda = 61))
## [1] 0.4660183
\[ P\left(\text{# de infectados}>61\right)=\sum_{x = 62}^{\infty}{P\left(\text{# de infectados}=x\right)} \]
ppois(q = 61, lambda = 61, lower.tail = FALSE)
## [1] 0.4660183
esperanza.poisson(size=120, lambda = 61)
## [1] 61
61
## [1] 61
En otas palabras, aproximadamente 61 por cada mil doscientos siete habitantes
personas.enfermas <- 32610
muertes.esperadas <- 1820
valores.posibles <- 0:personas.enfermas
fx <- function(x) x*dpois(x = x, lambda = muertes.esperadas)
Ex <- sum(fx(valores.posibles))
Ex
## [1] 1820
muertos.simulados <- as.data.frame(rpois(n = 3261, lambda = 182))
mean(muertos.simulados$`rpois(n = 3261, lambda = 182)`)
## [1] 182.3441
personas.enfermas <- 32610
muertes.esperadas <- 1820
valores.posibles <- 0:personas.enfermas
fx.poisson <- dpois(x = valores.posibles, lambda = muertes.esperadas)
fbp = ppois(q = valores.posibles, lambda = muertes.esperadas, lower.tail = TRUE)
fx.poisson = data.frame(x = valores.posibles, "f(X)" = fx.poisson, "F(X)" = fbp)
#head(fx.poisson)
library(ggplot2)
p7 <- ggplot(fx.poisson, aes(x = x, y = f.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Densidad f(x)")
library(ggplot2)
p8 <- ggplot(fx.poisson, aes(x = x, y = F.X.)) +
geom_bar(aes(color = x), stat = "identity", fill = "white") + theme(legend.position = "none") + xlab("") + ylab("Distribución F(x)")
library(gridExtra)
grid.arrange(p7, p8, nrow = 2, top = "Distribución poisson")
Se les denomina continuas, debido a que sus eventos siempre asumen valores intermedios entre dos numeros cualesquiera que puedan darse.
También llamada distribución de Gauss, distribución gaussiana o distribución de Laplace-Gauss, corresponde una de las distribuciones de probabilidad de variable continua que con más frecuencia aparece en estadÃstica y en la teorÃa de probabilidades.
La gráfica de su función de densidad tiene una forma acampanada y es simétrica respecto a sus parámetros media, mediana y moda, que resultan siendo el mismo valor. Esta curva se conoce como campana de Gauss.
Su importancia radica en que permite modelar numerosos fenómenos naturales, sociales y psicológicos; también es importante por su relación con la estimación por mÃnimos cuadrados, uno de los métodos de estimación más simples y antiguos de una regresión lineal.
Algunos ejemplos de variables asociadas a fenómenos naturales que siguen el modelo de la normal son las siguientes:
caracteres morfológicos de individuos como la estatura;
caracteres fisiológicos como el efecto de un fármaco;
caracteres sociológicos como el consumo de cierto producto por un mismo grupo de individuos;
caracteres psicológicos como el cociente intelectual;
nivel de ruido en telecomunicaciones;
errores cometidos al medir ciertas magnitudes
De igual forma aparece en muchas áreas de la propia estadÃstica; entre ellas: la distribución muestral de las medias muestrales \(\bar{x}_n\) es aproximadamente normal aún cuando la distribución de la población de la cual se extrae la muestra no lo sea.
La distribución normal es la más extendida en estadÃstica y muchos tests o pruebas estadÃsticas se basados en la normalidad de los datos bajo estudio o análisis y que puede ser más o menos justificada.
En probabilidad, la distribución normal aparece como el lÃmite de varias distribuciones de probabilidad continuas y discretas.
\[ P(X=x)=\frac{1}{{sd}\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-{mean}}{{sd}}\right)^{2}}\text{ con }-\infty{\leq}x{\leq}\infty \]
args(dnorm)
## function (x, mean = 0, sd = 1, log = FALSE)
## NULL
\[ \mu_{x}=\int_{-\infty}^{\infty}x{\cdot}\frac{1}{{sd}\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-{mean}}{{sd}}\right)^{2}}dx={mean} \]
\[ \sigma_{x}^{2}=\int_{x=-\infty}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}\frac{1}{{sd}\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-{mean}}{{sd}}\right)^{2}}dx={sd}^{2} \]
args(dnorm)
## function (x, mean = 0, sd = 1, log = FALSE)
## NULL
library(ggfortify)
densidad.normal <- function(mean, sd, colour = NULL, p = NULL) ggdistribution(dnorm, seq(mean-3*sd, mean+3*sd, 0.1), mean = mean, sd = sd, colour = colour, p = p)
\[ P(X=x)=\frac{1}{{sd}\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-{mean}}{{sd}}\right)^{2}}\text{ con }-\infty{\leq}x{\leq}\infty \]
densidad.normal(mean = 0, sd = 1, colour = "black", p = densidad.normal(mean = 0, sd = 0.5, colour = "blue", p = densidad.normal(mean = 2, sd = 1, colour = "green", p = densidad.normal(mean = 0, sd = 2, colour = "red"))))
library(ggfortify)
distribucion.normal <- function(mean, sd, colour = NULL, p = NULL) ggdistribution(pnorm, seq(mean-3*sd, mean+3*sd, 0.1), mean = mean, sd = sd, colour = colour, p = p)
\[ P(X{\leq}x)=\int_{-\infty}^{x}\frac{1}{{sd}\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-{mean}}{{sd}}\right)^{2}dx}\text{ con }-\infty{\leq}x{\leq}\infty \]
distribucion.normal(mean = 0, sd = 1, colour = "black", p = distribucion.normal(mean = 0, sd = 0.5, colour = "blue", p = distribucion.normal(mean = 2, sd = 1, colour = "green", p = distribucion.normal(mean = 0, sd = 2, colour = "red"))))
\[\text{Si }{x}\sim{N(mean,sd^2)}\text{ entonces }z=\frac{x-mean}{sd}\sim{N(0,1^2)}\]
\[\text{Si }{x}\sim{N(0,0.5^2)}\text{ entonces }z=\frac{x-0}{0.5}\sim{N(0,1^2)}\]
azul <- rnorm(n = 10000000, mean = 0, sd = 0.5)
cat("la media de la distribución azul es: ", round(mean(azul),1)," y ","la desviación estándar de la distribución azul es: ", round(sd(azul),1))
## la media de la distribución azul es: 0 y la desviación estándar de la distribución azul es: 0.5
z <- (azul - round(mean(azul),1))/round(sd(azul),1)
cat("la media de z es: ", round(mean(z),1)," y ","la desviación estándar de z es: ", round(sd(z),1))
## la media de z es: 0 y la desviación estándar de z es: 1
\[\text{Si }{x}\sim{N(2,1^2)}\text{ entonces }z=\frac{x-2}{1}\sim{N(0,1^2)}\]
verde <- rnorm(n = 10000, mean = 2, sd = 1)
cat("la media de la distribución verde es: ", round(mean(verde),1)," y ","la desviación estándar de la distribución verde es: ", round(sd(verde),1))
## la media de la distribución verde es: 2 y la desviación estándar de la distribución verde es: 1
z <- (verde - mean(verde))/sd(verde)
cat("la media de z es: ", round(mean(z),1)," y ","la desviación estándar de z es: ", round(sd(z),1))
## la media de z es: 0 y la desviación estándar de z es: 1
rojo <- rnorm(n = 10000, mean = 0, sd = 2)
cat("la media de la distribución verde es: ", round(mean(rojo),1)," y ","la desviación estándar de la distribución verde es: ", round(sd(rojo),1))
## la media de la distribución verde es: 0 y la desviación estándar de la distribución verde es: 2
z <- (rojo - mean(rojo))/sd(rojo)
cat("la media de z es: ", round(mean(z),1)," y ","la desviación estándar de z es: ", round(sd(z),1))
## la media de z es: 0 y la desviación estándar de z es: 1
estaturas <- rnorm(n = 10000, mean = 176, sd = 15)
cat("la media de la distribución las estaturas es: ", round(mean(estaturas),1)," y ","la desviación estándar de la distribución de las estaturas es: ", round(sd(estaturas),1))
## la media de la distribución las estaturas es: 176 y la desviación estándar de la distribución de las estaturas es: 15
z <- (estaturas - mean(estaturas))/sd(estaturas)
cat("la media de z es: ", round(mean(z),1)," y ","la desviación estándar de z es: ", round(sd(z),1))
## la media de z es: 0 y la desviación estándar de z es: 1
\[\text{Si }{x}\sim{Dens(\cdots)}\text{ entonces }Z=\frac{\bar{x}_{n}-\mu_{x}}{\frac{sd}{\sqrt{n}}}\stackrel{n{\rightarrow}\infty}{\sim}{N(0,1)}\]
Para una distribución normal con media mean y desviación estándar sd calcular, en cada caso, la probabilidad \(P(X=a)\) y \(P(X<a)=P(X{\leq}a)\) solicitada en cada caso
mean <- 0
sd <- 1
x <- q <- seq(mean-3*sd, mean+3*sd, 0.1)
a <- 0
ggdistribution(dnorm, seq(mean-3*sd, mean+3*sd, 0.1), mean = mean, sd = sd, colour = "blue", p = ggdistribution(dnorm, seq(a-0.5, a+0.5, 0.1), mean = mean, sd = sd, colour = "blue", fill = "blue"))
dnorm(x = a, mean = mean, sd = sd)
## [1] 0.3989423
pnorm(q = a + 0.5, mean = mean, sd = sd) - pnorm(q = a - 0.5, mean = mean, sd = sd)
## [1] 0.3829249
mean <- 0
sd <- 1
x <- q <- seq(mean-3*sd, mean+3*sd, 0.1)
a <- 0
library(dplyr)
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:gridExtra':
##
## combine
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
data.frame(x = x,
pmf = dnorm(x, mean = mean, sd = sd),
cdf = pnorm(q, mean = mean, sd = sd, lower.tail = TRUE)) %>%
mutate(Probabilidad = ifelse(x < a, "P(x < a)", "P(x > a)")) %>% #a - 0.5 < x & x < a + 0.5
ggplot(aes(x = x, y = pmf, fill = Probabilidad)) +
geom_col() +
geom_text(
aes(label = round(pmf,2), y = pmf + 0.01),
position = position_dodge(width = 0.0),
size = 2,
vjust = 0
) +
labs(title = "Probabilidad puntual.",
subtitle = "Distribuciòn nomal",
x = "x",
y = "f(x)")
library(dplyr)
library(ggplot2)
data.frame(x = x,
pmf = dnorm(x, mean = mean, sd = sd),
cdf = pnorm(q, mean = mean, sd = sd, lower.tail = TRUE)) %>%
mutate(Probabilidad = ifelse(x == a, "P(x < a)", "P(x > a)")) %>%
ggplot(aes(x = x, y = cdf, fill = Probabilidad)) +
geom_col() +
geom_text(
aes(label = round(cdf,2), y = cdf + 0.01),
position = position_dodge(width = 0.0),
size = 2,
vjust = 0
) +
labs(title = "Probabilidad acumulada.",
subtitle = "Distribuciòn nomal",
x = "x",
y = "F(x)")
pnorm(q = a, mean = mean, sd = sd, lower.tail = TRUE)
## [1] 0.5
library(dplyr)
library(ggplot2)
mean = 0
sd = 1
x = q = seq(mean-3*sd, mean+3*sd, 0.1)
a <- 0
b <- 2
data.frame(x = x,
pmf = dnorm(x, mean = mean, sd = sd),
cdf = pnorm(q, mean = mean, sd = sd, lower.tail = TRUE)) %>%
mutate(Probabilidad = ifelse(a < x & x < b, "P(0 < x < 2)", "P(x < 0 o 2 < x)")) %>% #a - 0.5 < x & x < a + 0.5
ggplot(aes(x = x, y = pmf, fill = Probabilidad)) +
geom_col() +
geom_text(
aes(label = round(pmf,2), y = pmf + 0.01),
position = position_dodge(width = 0.0),
size = 2,
vjust = 0
) +
labs(title = "Probabilidad puntual.",
subtitle = "Distribuciòn nomal",
x = "x",
y = "f(x)")
mean = 0
sd = 1
a <- 0
b <- 2
pnorm(q = b, mean = mean, sd = sd, lower.tail = TRUE) - pnorm(q = a, mean = mean, sd = sd, lower.tail = TRUE)
## [1] 0.4772499
mean = -2.65, sd = 1.85 y a = -1.39
mean = -1.19, sd = 2.68 y a = -2.55
mean = 0.04, sd = 1.87 y a = -2.76
mean = -1.48, sd = 1.13 y a = 1.85
Es una distribución de probabilidad que surge del problema de estimar la media \(\mu\) (o mean), cuando la desviación estándar poblacional \(\sigma\) (o sd) es desconocida de una población normalmente distribuida y cuando el tamaño de la muestra es pequeño.
\[ \frac{\bar{x}_{size}-\mu_{x}}{\sqrt{\frac{{s}_{x}^{2}}{size}}}{\sim}t_{df} \]
Fue desarrollada por William Sealy Gosset, bajo el seudónimo Student.
Los grados de libertad \(\nu=n-1\) hacen alusión a lo siguiente:
\[ {s}_{x}^{2}=\frac{\sum_{i=1}^{size}\left(x_{i}-\bar{x}_{size}\right)^{2}}{size-1} \]
la anterior expresion se basa en el hecho de que si bien \({s}_{x}^{2}\) esta basada en \(n\) cantidades \(x_{i}-\bar{x}_{n}\) con \(i=1,2,\ldots,n\), dichas cantidades suman cero; de esta manera al especÃficar los valores de cualesquiera \(n-1\) de dichas cantidades queda determinado el valor restante.
\[ \sum_{i=1}^{size}\left(x_{i}-\bar{x}_{size}\right)=0 \]
Asi que:
\[ \sum_{i=1,\text{ con }i{\neq}k}^{size}\left(x_{i}-\bar{x}_{n}\right)=0-\left(x_{k}-\bar{x}_{n}\right) \]
En resumen, si se conocen \(n-1\) sumandos el que resta no es desconocido, es igual a la suma de los otros multiplicada por menos uno.
\[ P(X=x)=\frac{\Gamma\left(\frac{{df}+1}{2}\right)}{\sqrt{{df}\pi}\Gamma\left(\frac{{df}}{2}\right)}\left(1+\frac{{t}^{2}}{{df}}\right)\text{ con }-\infty{\leq}x{\leq}\infty \]
#dt(x,df)
\[ \mu_{x}=\int_{-\infty}^{\infty}x{\cdot}\frac{\Gamma\left(\frac{{df}+1}{2}\right)}{\sqrt{{df}\pi}\Gamma\left(\frac{{df}}{2}\right)}\left(1+\frac{{t}^{2}}{{df}}\right)dx=0 \]
\[ \sigma_{x}^{2}=\int_{-\infty}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}\frac{\Gamma\left(\frac{{df}+1}{2}\right)}{\sqrt{{df}\pi}\Gamma\left(\frac{{df}}{2}\right)}\left(1+\frac{{t}^{2}}{{df}}\right)dx=\frac{{df}}{{df}+2}\text{ para }{df}>2 \]
library(ggfortify)
densidad.tstudent <- function(df, colour = NULL, p = NULL) ggdistribution(dt, seq(-3, 3, 0.1), df = df, colour = colour, p = p)
densidad.tstudent(df = 1, colour = "black", p = densidad.tstudent(df = 5, colour = "blue", p = densidad.tstudent(df = 11, colour = "green", p = densidad.tstudent(df = 30, colour = "red"))))
library(ggfortify)
distribucion.tstudent <- function(df, colour = NULL, p = NULL) ggdistribution(pt, seq(-3, 3, 0.1), df = df, colour = colour, p = p)
distribucion.tstudent(df = 1, colour = "black", p = distribucion.tstudent(df = 5, colour = "blue", p = distribucion.tstudent(df = 11, colour = "green", p = distribucion.tstudent(df = 30, colour = "red"))))
Muy comunmente utilizada para variables que describen el tiempo de espera entre dos hechos que sigan un proceso de Poisson; depende de un solo parámetro \(\lambda\) o el tiempo hasta que se produce un determinado hecho o suceso. De gran utilidad en situaciones como las siguientes:
Distribución del tiempo de espera entre sucesos de un proceso de Poisson
Distribución del tiempo que transcurre hasta que se produce un fallo, si se cumple la condición que la probabilidad de producirse un fallo en un instante no depende del tiempo transcurrido.
\[P(X=x)={rate}\cdot{e}^{-{rate}\cdot{x}}\text{ con }0{\leq}x{\leq}\infty\text{ y }{rate}>0\]
#dexp(x,rate)
\[ \mu_{x}=\int_{0}^{\infty}x{\cdot}{rate}\cdot{e}^{-{rate}\cdot{x}}dx=\frac{1}{{rate}} \]
\[\sigma_{x}^{2}=\int_{0}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}{rate}\cdot{e}^{-{rate}\cdot{x}}dx=\frac{1}{{rate}^{2}}\]
library(ggfortify)
densidad.exponencial <- function(rate, colour = NULL, p = NULL) ggdistribution(dexp, seq(-0, 3, 0.1), rate = rate, colour = colour, p = p)
densidad.exponencial(rate = 1, colour = "black", p = densidad.exponencial(rate = 7, colour = "blue", p = densidad.exponencial(rate = 13, colour = "green", p = densidad.exponencial(rate = 17, colour = "red"))))
library(ggfortify)
distribucion.exponencial <- function(rate, colour = NULL, p = NULL) ggdistribution(pexp, seq(-0, 3, 0.1), rate = rate, colour = colour, p = p)
distribucion.exponencial(rate = 1, colour = "black", p = distribucion.exponencial(rate = 7, colour = "blue", p = distribucion.exponencial(rate = 13, colour = "green", p = distribucion.exponencial(rate = 17, colour = "red"))))
Conocida como distribución de Pearson, ji cuadrada(o) o chi cuadrado(a), es una distribución de probabilidad continua con un único parámetro \(n\) que representa los grados de libertad de dicha variable aleatoria construida de la siguiente manera:
\[X=Z_{1}^{2}+Z_{2}^{2}+\cdots+Z_{n}^{2}\]
Donde cada \(Z_{i}\) representa una variable aleatoria normal e independiente del resto, la probabilidad de que \(Z_{i}\) tome un valor en partÃcular no depende del valor que puedan tomar las otras; para cada una de ellas su media cero y su varianza es uno.
\[ P(X=x)=\frac{\frac{1}{2}^{\frac{df}{2}}}{\Gamma\left(\frac{df}{2}\right)}x^{\frac{df}{2}-1}e^{-\frac{df}{2}}\text{ con }0{\leq}x{\leq}\infty\text{ y }{df}>0 \]
#dchisq(x,df)
\[ \mu_{x}=\int_{0}^{\infty}x{\cdot}\frac{\frac{1}{2}^{\frac{df}{2}}}{\Gamma\left(\frac{df}{2}\right)}x^{\frac{df}{2}-1}e^{-\frac{df}{2}}dx={df} \]
\[ \sigma_{x}^{2}=\int_{0}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}\frac{\frac{1}{2}^{\frac{df}{2}}}{\Gamma\left(\frac{df}{2}\right)}x^{\frac{df}{2}-1}e^{-\frac{df}{2}}dx=2\cdot{df} \]
library(ggfortify)
densidad.chicuadrado <- function(df, colour = NULL, p = NULL) ggdistribution(dchisq, seq(0, 6*sqrt(2*df), 0.1), df = df, colour = colour, p = p)
densidad.chicuadrado(df = 1, colour = "black", p = densidad.chicuadrado(df = 3, colour = "blue", p = densidad.chicuadrado(df = 5, colour = "green", p = densidad.chicuadrado(df = 7, colour = "red"))))
library(ggfortify)
distribucion.chicuadrado <- function(df, colour = NULL, p = NULL) ggdistribution(pchisq, seq(0, 6*sqrt(2*df), 0.1), df = df, colour = colour, p = p)
distribucion.chicuadrado(df = 1, colour = "black", p = distribucion.chicuadrado(df = 3, colour = "blue", p = distribucion.chicuadrado(df = 5, colour = "green", p = distribucion.chicuadrado(df = 7, colour = "red"))))
Es una distribución de probabilidad continua. También se le conoce como distribución F de Snedecor (por George Snedecor) o como distribución F de Fisher-Snedecor (por Ronald Fisher).
Una variable aleatoria de distribución F se construye como el siguiente cociente:
\[F={\frac {X_{1}/m}{X_{2}/n}}\]
En donde
\(X_{1}\) y \(X_{2}\) siguen una distribución chi-cuadrado con \(m\) y d2 grados de libertad respectivamente, y
\(m\) y \(n\) son independientes desde el punto de vista estadÃstico.
\[ P(X=x)=\frac{\sqrt{\frac{\left({df1}\cdot{x}\right)^{{df1}}{{df2}}^{{df2}}}{\left({df1}\cdot{x}+{df2}\right)^{{df1}+{df2}}}}}{{x}\cdot\mathcal{B}\left(\frac{{df1}}{2},\frac{{df2}}{2}\right)}\text{ con }0{\leq}x{\leq}\infty\text{, }{df1}>0\text{ y }{df2}>0 \]
#df(x,df1,df2)
\[ \mu_{x}=\int_{x=-\infty}^{\infty}x{\cdot}\frac{\sqrt{\frac{\left({df1}\cdot{x}\right)^{{df1}}{{df2}}^{{df2}}}{\left({df1}\cdot{x}+{df2}\right)^{{df1}+{df2}}}}}{{x}\cdot\mathcal{B}\left(\frac{{df1}}{2},\frac{{df2}}{2}\right)}dx=\frac{{df2}}{{df2}-2}\text{ para }df2>2 \]
\[ \sigma_{x}^{2}=\int_{x=-\infty}^{\infty}\left(x-\mu_{x}\right)^{2}{\cdot}\frac{\sqrt{\frac{\left({df1}\cdot{x}\right)^{{df1}}{{df2}}^{{df2}}}{\left({df1}\cdot{x}+{df2}\right)^{{df1}+{df2}}}}}{{x}\cdot\mathcal{B}\left(\frac{{df1}}{2},\frac{{df2}}{2}\right)}dx=\frac{2\cdot{df2}^{2}\left({df1}+{df2}-2\right)}{{df1}\left({df2-2}\right)^{2}\left({df2}-4\right)}\text{ para }df2>4 \]
library(ggfortify)
densidad.F <- function(df1, df2, colour = NULL, p = NULL) ggdistribution(df, seq(0, 6*sqrt(df1/(df2-2)), 0.1), df1 = df1, df2 = df2, colour = colour, p = p)
densidad.F(df1 = 1, df2 = 3, colour = "black", p = densidad.F(df1 = 5, df2 = 7, colour = "blue", p = densidad.F(df1 = 11, df2 = 13, colour = "green", p = densidad.F(df1 = 17, df2 = 19, colour = "red"))))
library(ggfortify)
distribucion.F <- function(df1, df2, colour = NULL, p = NULL) ggdistribution(pf, seq(0, 6*sqrt(df1/(df2-2)), 0.1), df1 = df1, df2 = df2, colour = colour, p = p)
distribucion.F(df1 = 1, df2 = 3, colour = "black", p = distribucion.F(df1 = 5, df2 = 7, colour = "blue", p = distribucion.F(df1 = 11, df2 = 13, colour = "green", p = distribucion.F(df1 = 17, df2 = 19, colour = "red"))))