Para detalles de las distribuciones puede obtener el libro “Modelos de probabilidad” en la siguiente dirección

https://1drv.ms/b/s!Aj-hHTVbsx01hs9cx6tbr9v1vZKjzQ?e=qyn6U4

Los métodos de simulación de variables aleatorias continuas pueden adaptarse para variables aleatorias continuas, como en el caso particular del método de la transformada inversa.

Sea una variable aleatoria discreta para la cual

Para simular \(X\) tal que \(P(X=x_{j})= p_{j}\), sea \(U\) una variable aleatoria continua con distribución uniforme en \((0,1)\) y sea: \[\begin{equation*} X= \begin{cases} x_{1} &\text{si $ U \leq p_{1} $}\\ x_{2} &\text{si $ p_{1}<U \leq p_{1}+p_{2} $}\\ x_{3} &\text{si $ p_{2}<U \leq p_{1}+p_{2}+p_{3} $}\\ \vdots\\ x_{j} &\text{si $ \displaystyle\sum_{i=1}^{j-1}p_{i} < U \leq \displaystyle\sum_{i01}^{j}p_{i}$}\\ \end{cases} \end{equation*}\]

En general, para utilizar este método para simular una variable aleatoria discreta se sigue el siguiente procedimiento:

  1. Calcular la probabilidad para la distribución de probabilidad, \(f(x)\), de la variable a modelar.

  2. Calcular las probabilidades acumuladas, \(F(x)\).

  3. Generar números psudoaleatorios de la distribución uniforme en (0,1).

  4. Comparar el valor de \(F(x)\) y determinar los valores de \(x\) que correspondan a \(F(x)\).

1. Simulación de una distribución empírica.

Ejemplo. Durante 50 días se observó el número de unidades de un artículo que se demandaron en una tienda y se obtuvieron los datos que se muestran a continuación:

La simulación de esta distribución de probabilidad empírica se muestra a continuación.

t(da)
##              [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## demanda      0.00 1.00  2.0  3.0 4.00 5.00 6.00
## días         3.00 8.00 10.0 15.0 9.00 3.00 2.00
## probabilidad 0.06 0.16  0.2  0.3 0.18 0.06 0.04
u=runif(100000,0,1)
CL="0:0.06=0;0.06:0.22=1;0.22:0.42=2;0.42:0.72=3;0.72:0.90=4;0.90:0.96=5;0.96:1=6"
x=recode(u,CL)
T1<-table(x)
T2<-T1/100000
par(mfrow=c(1,2))
plot(T2,ylab="",main="",xlab="demanda simulada")
abline(h=0)
demanda<-c(0,1,2,3,4,5,6)
prob<-c(0.06,0.16, 0.2,0.3,0.18,0.06,0.04)
plot(demanda,prob, type="h",main="",xlab="demanda real",lwd=2,ylab="")
abline(h=0)

2. Simulación de una variable aleatoria uniforme discreta.

La función de probabilidad de una variable aleatoria discreta tiene la forma: \[\begin{equation*} f(x)= \begin{cases} \dfrac{1}{N} &\text{si $ x=0,1,2,\cdots,N$}\\ 0, &\text{en otro caso.} \end{cases} \end{equation*}\] La función de distribución acumulada es: \[\begin{equation*} F(x)= \begin{cases} 0, &\text{si x<1}\\ \dfrac{1}{N}, &\textit{si $1\leq x<2$}\\ \dfrac{2}{N}, &\textit{si $2\leq x<3$}\\ \vdots \\ \dfrac{k}{N} &\textit{si $k\leq x<N$}\\ 1 ,&\textit{si $x \geq N $} \end{cases} \end{equation*}\]

Ejemplo. Simular la variable aleatoria uniforme discreta que tiene función de probabilidad}

\[\begin{equation*} f(x)= \begin{cases} \dfrac{1}{10} &\text{si $ x=0,1,2,\cdots,10$}\\ 0 &\text{en otro caso.} \end{cases} \end{equation*}\]

Se hace:

\[\begin{equation*} X= \begin{cases} 1 & \text{si $ 0 \leq u \leq 0.1 $}\\ 2& \text{si $ 0.1< u \leq 0.2 $}\\ 3& \text{si $ 0.2< u \leq 0.3 $}\\ 4& \text{si $ 0.3< u \leq 0.4 $}\\ 5& \text{si $ 0.4< u \leq 0.5 $}\\ 6& \text{si $ 0.5< u \leq 0.6 $}\\ 7& \text{si $ 0.6< u \leq 0.7 $}\\ 8& \text{si $ 0.7< u \leq 0.8 $}\\ 9& \text{si $ 0.8< u \leq 0.9 $}\\ 10& \text{si $ 0.9< u \leq 1.00 $} \end{cases} \end{equation*}\]

u=runif(100000,0,1)
CL="0:0.1=1;0.1:0.2=2;0.2:0.3=3;0.3:0.4=4;0.4:0.5=5;0.5:0.6=6;0.6:0.7=7;0.7:0.8=8;0.8:0.9=9;0.9:1=10"
x=recode(u,CL)
T1<-table(x)
T2<-T1/100000
par(mfrow=c(1,2))
plot(T2,main=" ",ylab="",xlab="Dist. simulada")
abline(h=0)
valores<-c(1,2,3,4,5,6,7,8,9,10)
proba=c(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)
plot(valores,proba, type="h",main="",ylim=c(0,0.11),ylab="",lwd=2,xlab="Dist. teórica")

3. Simulación de variable aleatoria con distribución Bernoulli.

Sea una variable aleatoria con distribución Bernoulli de parámetro \(p\) \[\begin{equation*} f(x)= \begin{cases} 1-p & \text{si $ x=0 $}\\ p & \text{si $x=1 $} \end{cases} \end{equation*}\] Y la distribución acumulada: \[\begin{equation*} F(x)= \begin{cases} 1-p & \text{si $0\leq x<1-p $}\\ 1 & \text{si $x\geq 1 $} \end{cases} \end{equation*}\] Entonces, se hace: \[\begin{equation*} x= \begin{cases} 0 & \text{si $ 0\leq u \leq 1-p $}\\ 1 & \text{si $1-p< u \leq 1 $} \end{cases} \end{equation*}\]

Ejemplo. Sea una variable aleatoria discreta con distribución Bernoulli de parámetro $ p=0.3 $

Se generan números pseudoaleatorios en (0,1), \(u\).

Entonces, se tiene que: \[\begin{equation*} x= \begin{cases} 0 & \text{si $ 0\leq u \leq 0.7 $}\\ 1 & \text{si $0.7< u \leq 1 $} \end{cases} \end{equation*}\]

u=runif(100000,0,1)
CL="0:0.7=0;0.7:1.0=1"
x=recode(u,CL)
T1<-table(x)
T2<-T1/100000
par(mfrow=c(1,2))
plot(T2,ylab="",main="",xlab="Dist. Simulada")
abline(h=0)
y<-c(0, 1)
prob<-c(0.7,0.3)
plot(y,prob, type="h",main="",ylim=c(0,0.75),xlab="Dist. teórica",ylab="",lwd=2)
abline(h=0)

4. Simulación de la distribución binomial.

La función de probabilidad de una variable aleatoria con distribución binomial es: \[\begin{equation*} f(x)= \begin{cases} \dbinom{n}{x}p^{x}(1-p)^{n-x} &\text{si $ x=0,1,2,\ldots,n$}\\ 0 &\text{en otro caso.} \end{cases} \end{equation*}\] Una variable aleatoria discreta con distribución binomial con parámetros \(n\) y \(p\) puede ser generada a partir de la suma de \(n\) variables aleatorias Bernoulli con parámetro \(p\).

\[\begin{equation*} x=\displaystyle\sum_{i=1}^{n}x_{i}\sim b(n,p) \end{equation*}\]

Ejemplo. Simular una variable aleatoria discreta que tiene distribución binomial con parámetros \(n =8\) y \(p=0.5\)

u1=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x1=recode(u1,CL)
u2=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x2=recode(u2,CL)
u3=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x3=recode(u3,CL)
u4=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x4=recode(u4,CL)
u5=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x5=recode(u5,CL)
u6=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x6=recode(u6,CL)
u7=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x7=recode(u7,CL)
u8=runif(100000,0,1);CL="0:0.9=0;0.9:1.0=1";x8=recode(u8,CL)
xt=x1+x2+x3+x4+x5+x6+x7+x8
T1<-table(xt)
T2<-T1/100000
par(mfrow=c(1,2))
plot(T2,ylab="",main="",xlab="Dist. simulada")
abline(h=0)
x<-0:8
y=dbinom(x,8,0.1)
plot(x,y,main="",xlab="Dist. teórica",ylab="", lwd=2,xlim=c(0,8),type="h",ylim=c(0,0.5))

5. Simulación de la distribución Poisson.

La distribución Poisson puede simularse mediante el método de transformada inversa.

Ejemplo. Simular la distribución Poisson de parámetro \(\lambda = 1.5\).

u=runif(100000,0,1)
CL="0:0.2231302=0; 
0.2231303:0.5578254=1;
0.5578255:0.8088468=2;
0.8088469:0.9343575=3; 
0.9343576:0.9814241=4;
0.9814242:0.9955440=5;
0.9955441:0.9990740=6;
0.9990741:0.9998304=7;
0.9998305:0.9999723=8;
0.9999724:0.9999959=9;
0.9999960:1=10"
x=recode(u,CL)
T1<-table(x)
T2<-T1/100000
par(mfrow=c(1,2))
plot(T2,ylab="",main="",xlab="Dist. Simulada")
abline(h=0)
x=0:8
y=dpois(x,1.5)
plot(x,y,main="",lwd=2 ,xlim=c(0,11),type="h",ylim=c(0,0.35),ylab="",xlab="Dist. teórica")

6. Simulación de la distribución geométrica.

La distribución geométrica tiene función de probabilidad dada por: \(f(x)=pq^{x}\)

Suponer que los éxitos ocurren con probabilidad \(p\,(0<p<1)\), y que se realizan ensayos hasta que ocurre un éxito. Sea \(X\) la variable aleatoria discreta que indica el número de ensayos hasta que ocurre el primer éxito, entonces,

$P(X=i)=p(1-p)^{i} $$ i$

Entonces,

\[\begin{align*} \displaystyle\sum_{i=1}^{j-1}P(X=i)&=1-P(X>j-1)\\ &=1-P(primeros\,j-1\,sean\,fallas)\\ &=1-(1-p)^{j-1}\quad j \geq 1 \end{align*}\] Se puede simular una variable uniforme, \(U\), en el intervalo (0,1) y hacer \(X\) igual al valor \(j-\) ésimo para el cual

o en forma equivalente

donde \(1-U\) tiene la misma distribución que \(U\), entonces se puede definir \(X\) como:

\[\begin{align*} X&=min \lbrace \vert (1-p)^{j} \leq U \rbrace \\ &=min \lbrace j\vert j\,Ln\,(1-p) \leq ln \, U \rbrace\\ &=min \lbrace j \vert j \geq \dfrac{ln\,U}{ln\,(1-p)}\rbrace \end{align*}\] Con lo cual, \[\begin{equation*} X=\left[ \dfrac{ln\,U}{Ln \,(1-p)} \right] \end{equation*}\] donde \(\left[ \,\right]\) es la parte entera.

Ejemplo. Simular una distribución geométrica con \(p=0.3\)

p<-0.3
u<-runif(100000,0,1)
x<-floor(log(u)/log(1-p))
table(x)
## x
##     0     1     2     3     4     5     6     7     8     9    10    11    12 
## 29918 21051 14644 10342  7149  5021  3514  2491  1813  1218   849   594   405 
##    13    14    15    16    17    18    19    20    21    22    23    24    25 
##   287   214   165   107    83    38    31    24    18    11     4     4     2 
##    26    29    39 
##     1     1     1
par(mfrow=c(1,2))
plot(table(x),main="",ylab="",xlab="Dist. simulada")
abline(h=0)
y=0:max(x) 
plot(dgeom(y,0.3),xlim=c(0,max(x)),ylab="",ylim=c(0,0.3),type="h",lwd=2, 
  main="",xlab="Dist. teórica") 

7. Simulación de la distribución binomial negativa.

La distribución binomial negativa tiene función de probabilidad: \[\begin{equation*} f(x)= \begin{cases} \dbinom{x + k -1}{k-1}p^{k}(1-p)^{x} &\text{si $ x=0, 1, 2,\ldots$}\\ 0 &\text{en otro caso} \end{cases} \end{equation*}\] La distribución binomial negativa de parámetros \(k\) y \(p\) puede simularse a partir de la distribución geométrica.

\(Y=X_{1}+X_{2}+X_{3}+\cdots +X_{k}\)

Ejemplo. Simular una variable aleatoria discreta con distribución binomial negativa de parámetros \(k=6\) y \(p=0.4\).

p=0.4
u1=runif(100000,0,1);x1=floor(log(u1)/log(1-p))
u2=runif(100000,0,1);x2=floor(log(u2)/log(1-p))
u3=runif(100000,0,1);x3=floor(log(u3)/log(1-p))
u4=runif(100000,0,1);x4=floor(log(u4)/log(1-p))
u5=runif(100000,0,1);x5=floor(log(u5)/log(1-p))
u6=runif(100000,0,1);x6=floor(log(u6)/log(1-p))
x=x1+x2+x3+x4+x5+x6
T1<-table(x)
T2<-T1/100000
par(mfrow=c(1,2))
plot(T2,main="",ylab="",xlab="Dist. simulada")
y=0:max(x) 
plot(dnbinom(y,6,0.4),xlim=c(0,max(x)),ylim=c(0,0.1),type="h",
  lwd=2, main="",xlab="Dist. teórica")