Skip to content

Departamento de Matematica

Sections
Personal tools
Views
  • State: visible

Instrucciones TCL en R

Click here to get the file

Size 7.5 kB - File type text/plain

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()
Created by nmsirolli
Last modified 2013-06-11 08:49 PM
 
 

Powered by Plone