File contents
###############################################################################
#
# Instrucciones para resolver el ejercicio de LGN y TCL en R
# Probabilidades y Estadistica (M)
#
###############################################################################
Ejercicio 1:
#a) primero generamos mil v.a. uniformes y luego hacemos el histograma correspondiente.
xbarra<-runif(1000)
hist(xbarra)
#b) primero generamos dos v.a. uniformes o un vector uniforme bivariado, con ambas coordenadas independientes
aa<-runif(2)
xbarra2<-mean(aa)
#ahora repetimos 1000 veces
#con un for:
xbarra2<-rep(0,1000)
for (i in 1:1000)
{
aa<-runif(2)
xbarra2[i]<-mean(aa)
}
hist(xbarra2)
#o vectorialmente;
a1<-runif(2000)
#convertimos al vector en matriz
matriz2<-matrix(a1,nrow=2, ncol=1000)
#aplicamos el promedio por columnas
xbarra2<-apply(matriz2,2,mean)
hist(xbarra2)
#observar que si uno repite todo el ítem b) con otros dos mil datos, obtiene un histograma ligeramente diferente
#c) idem 5
matriz5<-matrix(runif(5000),nrow=5, ncol=1000)
#chequeamos
dim(matriz5)
xbarra5<-apply(matriz5,2,mean)
# Para comparar los 3 histogramas en un mismo gráfico, dividimos la pantalla en 6
par(mfrow=c(2,3))
hist(xbarra,probability=T)
hist(xbarra2,probability=T)
hist(xbarra5,probability=T)
#d) ídem 30
matriz30<-matrix(runif(30000),nrow=30, ncol=1000)
xbarra30<-apply(matriz30,2,mean)
hist(xbarra30,probability=T)
#e) ídem 500
matriz500<-matrix(runif(500000),nrow=500, ncol=1000)
xbarra500<-apply(matriz500,2,mean)
hist(xbarra500,probability=T)
# f) idem 1200
matriz1200<-matrix(runif(1200*1000),nrow=1000, ncol=1200)
xbarra1200<-apply(matriz1200,2,mean)
hist(xbarra1200,probability=T)
hist(xbarra,probability=T)
hist(xbarra2,probability=T)
hist(xbarra5,probability=T)
hist(xbarra30,probability=T)
hist(xbarra500,probability=T)
hist(xbarra1200,probability=T)
#Mejor aún, pongamos la misma escala en x para comparar
hist(xbarra,probability=T,xlim=c(0,1))
hist(xbarra2,probability=T,xlim=c(0,1))
hist(xbarra5,probability=T,xlim=c(0,1))
hist(xbarra30,probability=T,xlim=c(0,1))
hist(xbarra500,probability=T,xlim=c(0,1))
hist(xbarra1200,probability=T,xlim=c(0,1))
#notemos que queda distorsionado si no obligamos a que la escala en el eje y sea la misma
#hallemos el máximo valor para el eje y en el último grafico
par(mfrow=c(2,3))
MM<-max(hist(xbarra1200,plot=F)$intensities)
hist(xbarra,probability=T,xlim=c(0,1),ylim=c(0,MM))
hist(xbarra2,probability=T,xlim=c(0,1),ylim=c(0,MM))
hist(xbarra5,probability=T,xlim=c(0,1) ,ylim=c(0,MM))
hist(xbarra30,probability=T,xlim=c(0,1) ,ylim=c(0,MM))
hist(xbarra500,probability=T,xlim=c(0,1) ,ylim=c(0,MM))
hist(xbarra1200,probability=T,xlim=c(0,1) ,ylim=c(0,MM))
# o bien, hagamos los gráficos de estimaciones de la densidad los 6 grupos de datos en el mismo gráfico
par(mfrow=c(1,1))
plot(density(xbarra1200),xlim=c(0,1),lwd=2,main="Densidades estimadas para los promedios de n observaciones
N(0,1)")
lines(density(xbarra500),col=2,lwd=2)
lines(density(xbarra30),col=6,lwd=2)
lines(density(xbarra5),col=4,lwd=2)
lines(density(xbarra2),col=5,lwd=2)
lines(density(xbarra),col=3,lwd=2)
legend( 0.6, 30, c("n = 1", "n = 2","n = 5", "n = 30","n = 500","n = 1200"), col = c(3,5,4,6,2,1),lty = c(1,1, 1, 1,1,1), lwd =rep(2,6))
boxplot(xbarra,xbarra2,xbarra5,xbarra30,xbarra500,xbarra1200)
#medias muestrales
mean(xbarra)
mean(xbarra2)
mean(xbarra5)
mean(xbarra30)
mean(xbarra500)
mean(xbarra1200)
#varianzas muestrales
var(xbarra)
var(xbarra2)
var(xbarra5)
var(xbarra30)
var(xbarra500)
var(xbarra1200)
#g) Estandaricemos a una escala adecuada para poder apreciar el comportamiento aleatorio de xbarra
e1<-(xbarra-0.5)*sqrt(1)/sqrt(1/12)
e2<-(xbarra2-0.5)*sqrt(2)/sqrt(1/12)
e5<-(xbarra5-0.5)*sqrt(5)/sqrt(1/12)
e30<-(xbarra30-0.5)*sqrt(30)/sqrt(1/12)
e500<-(xbarra500-0.5)*sqrt(500)/sqrt(1/12)
e1200<-(xbarra1200-0.5)*sqrt(1200)/sqrt(1/12)
plot(density(e1200),lwd=2,main="Densidades estimadas para los promedios estandarizados segun TCL
de n observaciones N(0,1)",ylim=c(0,0.41))
lines(density(e500),col=2,lwd=2)
lines(density(e30),col=6,lwd=2)
lines(density(e5),col=4,lwd=2)
lines(density(e2),col=5,lwd=2)
lines(density(e1),col=3,lwd=2)
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=7,lwd=2)
legend( 2.5, 0.3, c("n = 1", "n = 2","n = 5", "n = 30","n = 500","n = 1200","densidad N(0,1)"), col = c(3,5,4,6,2,1,7),lty = c(1,1,1,1,1,1,1), lwd =rep(2,7))
par(mfrow=c(2,3))
hist(e1,probability=T,xlim=c(-4,4),ylim=c(0,0.4))
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=2,lwd=2)
hist(e2,probability=T,xlim=c(-4,4),ylim=c(0,0.4))
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=2,lwd=2)
hist(e5,probability=T,xlim=c(-4,4) ,ylim=c(0,0.4))
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=2,lwd=2)
hist(e30,probability=T,xlim=c(-4,4) ,ylim=c(0,0.4))
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=2,lwd=2)
hist(e500,probability=T,xlim=c(-4,4) ,ylim=c(0,0.4))
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=2,lwd=2)
hist(e1200,probability=T,xlim=c(-4,4) ,ylim=c(0,0.4))
lines(seq(-4,4,by=0.01),dnorm(seq(-4,4,by=0.01)),col=2,lwd=2)
boxplot(e1,e2,e5,e30,e500,e1200)
# h) Para generar observaciones con distribución Cauchy (no tiene esperanza ni varianza finita, es simétrica alrededor del cero, su densidad es f(x)= 1 / (pi*(1 + (x^2)) ), la instrucción es
#rcauchy(n)
matriz1<-matrix(rcauchy(1000),nrow=1, ncol=1000)
xbarra<-apply(matriz1,2,mean)
matriz2<-matrix(rcauchy(2000),nrow=2, ncol=1000)
xbarra2<-apply(matriz2,2,mean)
matriz5<-matrix(rcauchy(5000),nrow=5, ncol=1000)
xbarra5<-apply(matriz5,2,mean)
matriz30<-matrix(rcauchy(30000),nrow=30, ncol=1000)
xbarra30<-apply(matriz30,2,mean)
matriz500<-matrix(rcauchy(500000),nrow=500, ncol=1000)
xbarra500<-apply(matriz500,2,mean)
matriz1200<-matrix(rcauchy(1000*1200),nrow=1200, ncol=1000)
xbarra1200<-apply(matriz1200,2,mean)
#no se ve mucho en este gráfico, hay mucho peso en las colas.
mm<-max(c(density(xbarra)$y,density(xbarra2)$y,density(xbarra5)$y,density(xbarra30)$y,density(xbarra500)$y,density(xbarra1200)$y))
par(mfrow=c(1,1))
plot(density(xbarra1200),lwd=2,ylim=c(0,mm),main="Densidades estimadas para los promedios de n observaciones
Cauchy(0,1)")
lines(density(xbarra500),col=2,lwd=2)
lines(density(xbarra30),col=6,lwd=2)
lines(density(xbarra5),col=4,lwd=2)
lines(density(xbarra2),col=5,lwd=2)
lines(density(xbarra),col=7,lwd=2)
lines(seq(-4,4,by=0.01),dcauchy(seq(-4,4,by=0.01)),col=7,lwd=2)
legend( 100, 0.3, c("n = 1", "n = 2","n = 5", "n = 30","n = 500","n = 1200","densidad Cauchy(0,1)"), col = c(7,5,4,6,2,1,3),lty = c(1,1,1, 1, 1,1,1), lwd =rep(2,7))
#miremos lo mismo entre -4 y 4, solo para los n grandes
plot(density(xbarra1200),lwd=2,ylim=c(0,mm),xlim=c(-4,4),main="Densidades estimadas para los promedios de n observaciones
Cauchy(0,1)")
lines(density(xbarra500),col=2,lwd=2)
lines(density(xbarra30),col=6,lwd=2)
lines(seq(-4,4,by=0.01),dcauchy(seq(-4,4,by=0.01)),col=3,lwd=2)
legend(-4, 0.35, c( "n = 30","n = 500","n = 1200","densidad Cauchy(0,1)"), col = c(6,2,1,3),lty = c( 1, 1,1,1), lwd =rep(2,4),cex=0.8)
#medias muestrales
mean(xbarra)
mean(xbarra2)
mean(xbarra5)
mean(xbarra30)
mean(xbarra500)
mean(xbarra1200)
#varianzas muestrales
var(xbarra)
var(xbarra2)
var(xbarra5)
var(xbarra30)
var(xbarra500)
var(xbarra1200)
Ejercicio 2:
library(animation)
ani.options(interval = 0.03, nmax = 213)
quincunx()