Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TAREA 2
PROGRAMA EN R
a)
nsim=5000
A=B=runif(nsim)
alpha=1;alpha2=3
last=A[1]
a=0;b=1
cand=ifelse(runif(nsim)>0.5,1,-1)*rexp(nsim)/alpha
for (i in 1:nsim){
rate=(dnorm(cand[i],a,b^2)/dnorm(last,a,b^2))/(exp(-
alpha*abs(cand[i]))/exp(-alpha*abs(last)))
if (runif(1)<rate) last=cand[i]
A[i]=last
}
cand=ifelse(runif(nsim)>0.5,1,-1)*rexp(nsim)/alpha2
for (i in 1:nsim) {
rate=(dnorm(cand[i],a,b^2)/dnorm(last,a,b^2))/(exp(-
alpha2*abs(cand[i]))/exp(-alpha2*abs(last)))
if (runif(1)<rate) last=cand[i]
B[i]=last
}
par(mfrow=c(1,3),mar=c(4,4,2,1))
est1=cumsum(A)/(1:nsim)
est2=cumsum(B)/(1:nsim)
plot(est1,type="l",xlab="iterations",ylab="",lwd=2)
lines(est2,lwd="2",col="gold2")
acf(A)
acf(B)
b)
alf=seq(1,10,le=50)
cand0=ifelse(runif(nsim)>0.5,1,-1)*rexp(nsim)
acce=rep(0,50)
for (j in 1:50){
cand=cand0/alf[j]
last=A[1]
for (i in 2:nsim){
rate=(dnorm(cand[i],a,b^2)/dnorm(last,a,b^2))/(exp(-
alf[j]*abs(cand[i]))/exp(-alf[j]*abs(last)))
if (runif(1)<rate) last=cand[i]
A[i]=last }
acce[j]=length(unique(A))/nsim
}
par(mfrow=c(1,3),mar=c(4,4,2,1))
plot(alf,acce,xlab="",ylab="",type="l",main="Laplace iid")
c)
ome=sqrt(seq(.01,10,le=50))
cand0=rnorm(nsim)
acce=rep(0,50)
for (j in 1:50){
cand=cand0*ome[j]
last=A[1]
for (i in 2:nsim){
rate=(dnorm(cand[i],a,b^2)/dnorm(last,a,b^2))/
(dnorm(cand[i],sd=ome[j])/dnorm(last,sd=ome[j]))
if (runif(1)<rate) last=cand[i]
A[i]=last }
acce[j]=length(unique(A))/nsim }
plot(ome^2,acce,xlab="",ylab="",type="l",main="Normal iid")
d)
alf=seq(.1,10,le=50)
cand0=ifelse(runif(nsim)>0.5,1,-1)*rexp(nsim)
acce=rep(0,50)
for (j in 1:50){
eps=cand0/alf[j]
last=A[1]
for (i in 2:nsim){
cand[i]=last+eps[i]
rate=dnorm(cand[i],a,b^2)/dnorm(last,a,b^2)
if (runif(1)<rate) last=cand[i]
A[i]=last
}
acce[j]=length(unique(A))/nsim
}
plot(alf,acce,xlab="",ylab="",type="l",main="Laplace random walk")
8.11
Donde
−β 2
π ( β , σ 2 ) =σ −4 exp
{ } { }
−1
σ2
exp
50
,
6.4
Sea el vector aleatorio X =( X 1 , X 2 ) que tiene la siguiente función de
densidad de probabilidad bidimensional:
−x 21 x22 + x 21 + x 22−8 x1 −8 x2
f ( x )=c exp ( 2 ) ,
PROGRAMA EN R Y GRAFICA
c=1/20216.335877
f=function(x1,x2){c*exp(-(x1^2*x2^2+x1^2+x2^2-8*x1-8*x2)/2)}
x1=seq(-2,7,length=100)
x2=seq(-2,7,length=100)
x3=outer(x1,x2,"f")
h=f(x1,x2)
persp(x1,x2,x3)
Obtuvimos una estimación l=1.89
^ (El valor verdadero es E [ X 1 ] ≈ 1.85997).
Para obtener un CI , podemos usar (4.18), aquí ^S estima la varianza
asintótica significa el método autocovarianzas.
PROGRAMA EN R
nsim=100000
X=array(0,c(nsim,2))
x11=rnorm(1)
x12=rnorm(1)
X[1,]=c(x11,x12)
for(i in 2:nsim){
z1=rnorm(1)
z2=rnorm(1)
Z=c(z1,z2)
Y=X[i-1,]+2*Z
alpha=min(f(Y[1],Y[2])/f(X[i-1,1],X[i-1,2]),1)
u=runif(1)
if(u<alpha){
X[i,1]=Y[1]
X[i,2]=Y[2]
}
else{
X[i,1]=X[i-1,1]
X[i,2]=X[i-1,2]
}
}
plot(X,col="blue")
contour(x1,x2,x3,add=T)
hist(X,freq=F,nclass=150,col="red")
mean(X)
quantile(X,c(0.025,0.975))
acf(X)
Si bien MCMC es un método genérico y puede usarse para generar
muestras aleatorias virtualmente de cualquier distribución objetivo,
independientemente de su dimensionalidad y complejidad, potencial
Los problemas con el método MCMC son:
p U (0,1) (antes de p ¿ ,
( λ ∖ p ) Gamma(a ,b) (antes de λ ¿
( r i ∖ p , λ ) Ber ( p ) independientemente(delmodelo anterior) ,
( x i ¿ , λ , p ) Poi ( λ r i ) independientemente ( del modelo anterior ) .
f ( x , r , λ , p )= ∏ p (1− p)1−r .
i i
Γ (a) i=1 xi !
a) Mostrar que
1. ( λ ∖ p , r , x ) Gamma a+ ∑
i
x i , b+ ∑ r i .
( i )
2. ( p ∖ λ , r , x ) Beta 1+ ∑ r , n+1−∑ r .
( i) i
i
i
−λ
pe
(
3. ( r i ∖ λ , p , x ) Ber p e−λ + ( 1− p ) I
{x =0} i
)
b) Genere una muestra aleatoria de tamaño n=100 para el modelo
ZIP usando los parámetros p=0.3 y λ=2.
PROGRAMA EN R
n=100
lambda=2
p=0.3
data=rpois(n,lambda)*(runif(n)<p)
data
PROGRAMA EN R
quantile(gs,0.025)
quantile(gs,0.975)