Variable aleatoria y Distribuciones de probabilidad

Autor/a
Afiliación
Gina Guzmán, Miguel Perez, Yiseth Castaño
Fecha de publicación

12 de mayo de 2023

Ver código
#Paqueteria

library(kableExtra)
library(gridExtra)
library(ggplot2)
library(ggridges)
library(dplyr)
library(tidyverse)
library(vembedr)
library(MASS)

(Zhu 2021; Auguie 2017; Wickham 2016; Wilke 2022; Wickham et al. 2019, 2023; Lyttle 2021; Venables y Ripley 2002)

INTRODUCCIÓN

En el campo de la estadística, las variables aleatorias son un concepto fundamental que se utiliza para modelar y analizar diversos fenómenos en una amplia gama de disciplinas.Estas variables se pueden clasificar en dos tipos principales: variables aleatorias discretas y variables aleatorias continuas.

En este documento en Quarto, se explorará en profundidad estos conceptos, y se proporcionarán ejemplos prácticos de cómo trabajar con variables aleatorias en R. Se explicará cómo simular y generar valores aleatorios para diferentes distribuciones de probabilidad, y se mostrará cómo se pueden visualizar y analizar estas variables usando gráficos y herramientas estadísticas en R.

1 Variable aleatoria

Es una variable que puede tomar diferentes valores numéricos de forma aleatoria, en función del resultado de un evento aleatorio. Son una herramienta fundamental en la estadística y la probabilidad, ya que permiten modelar y analizar los resultados de eventos aleatorios y calcular probabilidades asociadas a diferentes escenarios. Las variables aleatorias pueden ser discretas o continuas, dependiendo de si pueden tomar valores aislados o cualquier valor dentro de un rango continuo.

Ejemplo:

Sea el siguiente experimento aleatorio lanzar dos monedas al aire, y sea la variable aleatoria x.

E = Lanzamiento dos monedas

Ω= {CC, CS, SC, SS}

X= N° de caras obtenidas

Ver código
fz0<-0.25
fz0<-fractions(fz0)
fz1=0.5
fz1<-fractions(fz1)
fz2=0.25
fz2<-fractions(fz2)

M<-c(0,1,2)
f_z<-c(fz0,fz1,fz2)
f_z<-fractions(f_z)
f_Z<-round(cumsum(f_z),4)
f_Z1<-fractions(f_Z)
EZ<-M*f_z
EZ1<-fractions(EZ)
E_Z<-round(cumsum(EZ),4)
EZ<-mean(f_z)*10



data<-cbind.data.frame(M,f_z,f_Z1,EZ1)
names(data)<-c("X","f(X)","F(X)","E[X]")
kable(data) %>%
  kable_styling(full_width = FALSE) %>%
  column_spec(column = 1, background = "#F5FF6D")
X f(X) F(X) E[X]
0 0.25 0.25 0.0
1 0.50 0.75 0.5
2 0.25 1.00 0.5
Ver código
ge <- data.frame(x = M, p = f_z)

ggplot(ge, aes(x = x, y = p)) + geom_point(size= I(4),color = "#E52FF3") +
  geom_segment(aes(x = x, y = 0, xend = x, yend = p), color = "#E52FF3", size = 1.5) +
  theme_classic()+
  xlab("X") +
  ylab("P(X)") +
  ggtitle("Función de masa de probabilidad")

Ver código
gE <- data.frame(x = M, p = f_Z)

# Graficar la PMF usando ggplot2
ggplot(gE, aes(x = x, y = p)) + 
  geom_point(size= I(3),color="#2FF37F") +
  geom_text(aes(label = paste0("(",(p),")")), size = 2,
            vjust = -1) +
  geom_segment(aes(x = lag(x), y = lag(p), xend = x, yend =
                     lag(p)), color = "#2FF37F", size =
  1.0)+ xlab("X") + ylab("P(X)") +
  ggtitle("Función de Distribución")+
  theme_classic()+
  scale_x_continuous(limits = c(0, 3), breaks = seq(0, 3, by = 1)) +  
  geom_segment(aes(x=-1,y=0,xend=0,yend=0), color="#E52FF3")+
  geom_segment(aes(x=2,y=1,xend=3,yend=1), color="#2FF37F",size =
  1.0)

2 Tipos de variable aleatoria

2.1 Variable aleatoria discreta

Es aquella que toma valores finitos o numerables, y donde la probabilidad de que la variable tome cada uno de estos valores puede ser determinada.

2.1.1 Función de probabilidad 1

f(x)

Esta función puede recibir el nombre de “Función masa” o “Función de cuantia” y cumple con las siguientes propiedades.

1. f(x)\,\ge \,0

2. \sum\limits_{x}{f(x)\,=1\,}

3. P(x=a)=f(a)

2.1.2 Función de distribución

F(x)

Se hace uso de las siguientes fórmulas.

1. F(x)=\,f(X\le x)=\sum\limits_{t\le x}{f(t)}

2. F(a)=\,f(X\le a)

2.1.3 Medidas de resumen (Parámetros) 2

Para la variable discreta se usan las siguientes medidas de resumen con sus determinadas fórmulas.

● Media o valor esperado

La media M o valor esperado E(x) es un promedio ponderado de los valores que asume la variable aleatoria cuando los pesos son las probabilidades.

E(x)=M=\sum\limits_{X}{\text{X }f(x)}

● Varianza

La varianza {{\sigma }^{2}} o V(x), es un promedio ponderado de las desviaciones al cuadrado de una variable aleatoria de su media.1. V[x]=\,{{\sum\limits_{x}{(x-\mu )}}^{2}}\,\cdot \,f(x)

2. V[x]=\,E[{{X}^{2}}]-{{(E[X])}^{2}}

● Desviación estándar

La desviación estándar \sigma es la raíz cuadrada positiva de la varianza:

\sigma =\sqrt{V[X]}

Ejemplo.

Considera lanzar cuatro monedas justas. Los dieciséis resultados posibles son:

CCCC,CCCS,CCSC,CSCC,SCCC,CCSS,CSSC,SSCC.

CSCS,SCSC,SCCS,SSSC,SSCS,SCSS,CSSS,SSSS

Define X como la variable aleatoria “número de caras mostradas cuando se lanzan cuatro monedas”. Obtén la media y la varianza de X. Simula el lanzamiento de cuatro monedas justas 10.000 veces. Calcula la media y la varianza simuladas de X. ¿Están los valores simulados dentro del 2% de las respuestas teóricas?

Ver código
#Poner los p(x) en fraccion
fx0<-0.0625
fx0<-fractions(fx0)
fx1=0.2500
fx1<-fractions(fx1)
fx2=0.3750
fx2<-fractions(fx2)
fx3=0.2500
fx3<-fractions(fx3)
fx4=0.0625
fx4<-fractions(fx4)


C<-c(0,1,2,3,4)
f_x<-c(fx0,fx1,fx2,fx3,fx4)
f_x<-fractions(f_x)
f_X<-round(cumsum(f_x),4)
f_X1<-fractions(f_X)
Ex<-C*f_x
Ex1<-fractions(Ex)
E_x<-round(cumsum(Ex),4)
EX<-mean(f_x)*10
Vz<-(C-EX)^2*f_x
Vz1<-fractions(Vz)
Ds<-sqrt(Vz)


data<-cbind.data.frame(C,f_x,f_X1,Ex1,Vz1,Ds)
names(data)<-c("X","f(X)","F(X)","E[X]","Var[X]","Ds")
kable(data) %>%
  kable_styling(full_width = F) %>%
  column_spec(column = 1, background = "#F5FF6D")
X f(X) F(X) E[X] Var[X] Ds
0 0.0625 0.0625 0.00 0.25 0.5
1 0.2500 0.3125 0.25 0.25 0.5
2 0.3750 0.6875 0.75 0.00 0.0
3 0.2500 0.9375 0.75 0.25 0.5
4 0.0625 1.0000 0.25 0.25 0.5

Esperanza E(X)

E[X]=\sum\limits_{i=1}^{n}{{{X}{i}}}.f({{x}{i}}) \\ =\left( 0,00+0,25+0,75+0,75+0,25 \right)=2 \\

Varianza V[X]

V[X]=\sum\limits_{i=1}^{n}{({{X}{i}}}-E[X]{{)}^{2}}.f({{x}{i}}) \\ =(0,25+0,25+0,0+0,25+0,25)=1 \\

Simulación 10000 lanzamientos

Calculamos los rangos en 2% para la media y varianza y comparamos con el resultado de la simulacion.

< X >
Eintervalo 1.96 2 2.04
Vintervalo 0.98 1 1.02

inicio de simulacion

Ver código
lanzamientos<-10000
experimento <- replicate(lanzamientos, sum(sample(c(1,0), size = 4, replace = TRUE)))
frecuencia<-table(experimento)
Prob<-prop.table(frecuencia)

Calculamos media y varianza de la simulación

Media simulada 2.0008000
Varianza simulada 0.9936987
Ver código
# Graficar la PMF usando ggplot2
# Crear un data frame con las probabilidades de X
g1 <- data.frame(x = C, p = f_x)

ggplot(g1, aes(x = x, y = p)) + geom_point(size= I(4),color = "#F3B22F") +
  geom_segment(aes(x = x, y = 0, xend = x, yend = p), color = "#F3B22F", size = 1.5) +
  theme_classic()+
  xlab("X") +
  ylab("P(X)") +
  ggtitle("Función de masa de probabilidad")

Ver código
g2 <- data.frame(x = C, p = f_X)

# Graficar la PMF usando ggplot2
ggplot(g2, aes(x = x, y = p)) + 
  geom_point(size= I(3),color="#2FF37F") +
  geom_text(aes(label = paste0("(",(p),")")), size = 2,
            vjust = -1) +
  geom_segment(aes(x = lag(x), y = lag(p), xend = x, yend =
                     lag(p)), color = "#2FF37F", size =
  1.0)+ xlab("X") + ylab("P(X)") +
  ggtitle("Función de Distribución")+
  theme_classic()+
  scale_x_continuous(limits = c(-1, 5), breaks = seq(-1, 5, by = 1))+  
  geom_segment(aes(x=-1,y=0,xend=0,yend=0), color="#2FF37F",size = 1.0)+geom_point(x=-1, y=0,size= I(3),color="#2FF37F")+
  geom_segment(aes(x=4,y=1,xend=5,yend=1), color="#2FF37F",size = 1.0)

2.2 Variable aleatoria continua

Es aquella que puede tomar cualquier valor dentro de un intervalo y su distribución se describe mediante una función de densidad de probabilidad.

2.2.1 Función de probabilidad

Para este tipo de variable f(x) tambien recibe el nombre de “función de densidad” y cumple con las siguientes propiedades.

1. f(x)\,\ge \,0

2. \int_{-\infty}^{\infty}f(x)dx=1

3. P(a< X< b)=\int_{a}^{b}f(x)dx

2.2.2 Función de distribución

F(x)

Se hace uso de la siguiente fórmula.

F(x)=f(X\leq x)=\int_{-\infty}^{x}f(t)dt

2.2.3 Medidas de resumen (Parámetros)

Para la variable continua se usan las siguientes medidas de resumen con sus determinadas fórmulas.

● Media o valor esperado

se denota con μ o E(X) y su fórmula es.

E[X]=M= \int_{-\infty}^{\infty}xf(x)dx

● Varianza

se representa con {{\sigma }^{2}} o V(X) y su fórmula es.

a.V[X]= \int_{-\infty}^{\infty}(x-\mu)^{2}f(x)dx

b. V[X]=E[X^{2}]-(E[X])^{2}

● Desviación estándar

Se representa con σ y se calcula teniendo en cuenta que es la raíz cuadrada (positiva) de la varianza:

\sigma =\sqrt{V[X]}

Ejemplo.

Supongamos que X sea una variable aleatoria continua con función de densidad.4

a). Encuentre la constante k para que f(x) sea una función de densidad de probabilidad de la variable aleatoria X.

b). Halle la función de distribución acumulada de X.

c). Calcule P(−0,5≤X≤1).

a). Despejando K en la función de densidad se tiene que:

F(x)\begin{Bmatrix}0 &si\,\,\,x\leq -1 \\\int_{-\infty}^{x}\frac{3}{4}(1-t^{2})dt=\frac{-x^{3}}{4}+\frac{3x}{4}+\frac{1}{2}&si\,\,\, -1 <x\leq 1 \\1 & si\,\,\, x>1\end{Bmatrix}

b). Por medio de la fórmula se obtiene que la funcion de distribución acumulada es:

\begin{matrix}1=\int\limits_{-\infty }^{\infty }{f(x)}\,dx & =\int\limits_{-1 }^{1}k(1-x^{2})dx& \\& & \\&=k \begin{bmatrix}x-\frac{x^{3}}{3}\end{bmatrix}_{-1}^{1}=k[(1-\frac{1}{3})&-&(-1-\frac{-1}{3})] \\& &\\&=k[\frac{2}{3}-\frac{-2}{3}]=k\frac{4}{3} \Rightarrow k=\frac{3}{4}\\& &\end{matrix}

c). La probabilidad en el intervalo (−0,5≤X≤1)

\begin{matrix}P(-0.5\leq x\leq 1) &=F(1)-F(-0.5) & \\& &\\& =(\frac{-1^{3}}{4}+\frac{3\cdot 1}{4}+\frac{1}{2})-(-\frac{(\frac{-1}{2})^{3}}{4}+\frac{3\cdot -\frac{1}{2}}{4}+\frac{1}{2}) & \\& &\\&=(\frac{-1}{4}+\frac{3}{4}+\frac{1}{2})-(\frac{1}{32}+\frac{-3}{8}+\frac{1}{2}) \\& &\\&=1-\frac{5}{32}=\frac{27}{32}=0.84375 &\end{matrix}

Ver código
x <- seq(-2, 2, length.out = 100)

f <- function(x) {
  y <- 3/4 * (1 - x^2)
  y[x < -1 | x > 1] <- 0
  return(y)
}

y <- f(x)


df_pdf <- data.frame(x = x, y = f(x))

p1 <- ggplot(df_pdf, aes(x = x, y = y)) +
  geom_line(color="#62E5FF", 
            lwd=1,
            linetype=1) +
  theme_classic() +
  labs(x = "x", y = "f(x)", title = "PDF for X")

F <- function(x) {
  y <- -x^3/4 + 3 * x/4 + 1/2
  y[x <= -1] <- 0
  y[x > 1] <- 1
  return(y)
}


df_cdf <- data.frame(x = x, y = F(x))

p2 <- ggplot(df_cdf, aes(x = x, y = y)) +
  geom_line(color="#B562FF",
            lwd=1,
            linetype=1) +
  theme_classic()+
  labs(x = "x", y = "F(x)", title = "CDF for X")

# Mostrar los gráficos en una cuadrícula de 1 fila y 2 columnas
grid.arrange(p1, p2, nrow = 1)

3 Anexo

Propiedades del valor esperado

Sean x y y dos variables aleatorias y a,b constantes reales tenemos que:

  1. E[ax]=\,aE[x]
  2. E[x+a]=\,E[x]+a
  3. E[x+y]=\,E[x]+E[y]
  4. E[ax+by]=\,aE[x]+bE[y]

Propiedades de la varianza

  1. V[X]\geq 0

  2. V[a]=0

  3. V[X+a]=V[X]

  4. V[aX]=a^{2}V[X]

  5. V[X+Y]=V[X]+V[Y]+Cov[X,Y]

    Donde\,\,\,Cov\,[X,Y]=E[X,Y]-E[X]E[Y]

Referencias

Auguie, Baptiste. 2017. «gridExtra: Miscellaneous Functions for "Grid" Graphics». https://CRAN.R-project.org/package=gridExtra.
Lyttle, Ian. 2021. «vembedr: Embed Video in HTML». https://CRAN.R-project.org/package=vembedr.
Venables, W. N., y B. D. Ripley. 2002. «Modern Applied Statistics with S». https://www.stats.ox.ac.uk/pub/MASS4/.
Wickham, Hadley. 2016. «ggplot2: Elegant Graphics for Data Analysis». https://ggplot2.tidyverse.org.
Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. «Welcome to the tidyverse» 4: 1686. https://doi.org/10.21105/joss.01686.
Wickham, Hadley, Romain François, Lionel Henry, Kirill Müller, y Davis Vaughan. 2023. «dplyr: A Grammar of Data Manipulation». https://CRAN.R-project.org/package=dplyr.
Wilke, Claus O. 2022. «ggridges: Ridgeline Plots in ’ggplot2’». https://CRAN.R-project.org/package=ggridges.
Zhu, Hao. 2021. «kableExtra: Construct Complex Table with ’kable’ and Pipe Syntax». https://CRAN.R-project.org/package=kableExtra.

Notas

  1. Es una función que asigna pesos probabilisticos a cada uno de los valores de la variable aleatoria X.Se puede representar mediante un grafico de bastones.↩︎

  2. Son una representación matemática de un conjunto de datos que se utiliza para resumir y describir las características clave de esos datos. Los modelos de resumen se construyen utilizando una serie de parámetros estadísticos.↩︎