Paseo aleatorio en dimensión 1

Se presenta a continuación un código para generar caminatas aleatorias en dimensión 1. En cada paso (tiempo T) la variable aleatoria toma el valor 1 o -1, por lo que el camino (proceso estocástico) sube o baja una unidad en la ordenada correspondiente.

#INICIO -------------------------
rm(list=ls(all=TRUE))

#Generación de n paseos aleatorios a lo largo del tiempo T
n<-20
T<-1000

#Definimos una función sin argumento para generar un paseo aleatorio
PasAle<-function() {
   cumsum(sample(c(-1,1),T,replace=TRUE))
}

#Generamos n paseos aleatorios
valores<-replicate(n,PasAle())

#Preparamos el gráfico
dev.new(height=8,width=12)
plot(1:T,rep(NA,T),main=sprintf("%s Paseos aleatorios",n),
     xlab="tiempo",ylab="valor",
     ylim=10+3.5*c(-1,1)*sqrt(T))

for (i in 1:n) {
  lines(1:T,valores[,i],col='blue',type='l',lwd=2)
}
abline(h=0,col='red')
#FIN -------------------------

No hay comentarios:

Publicar un comentario