[R-es] Agregar ruido a una serie de tiempo

rubenfcasal rubenfcasal en gmail.com
Mie Nov 5 16:27:49 CET 2014


Hola a todos,

     En el caso de datos temporales los errores suelen ser dependientes. 
Se que hay por ahí funciones de paquetes para simular este tipo de datos 
(e.g.  e1071::rwiener). Yo en casos sencillos suelo emplear una 
aproximación más directa. Por ejemplo introducir dependencia a partir de 
la factorización de Cholesky de la matriz de covarianzas. A continuación 
incluyo un código de ejemplo:

# Datos funcionales (se puede pensar como un proceso temporal siendo x 
el tiempo)
n <- 100
p <- 50
x <- seq(0, 1, length = p)

# Media
mu <- sin(2*pi*x)

# Covarianzas (dependiendo de la distancia entre los datos)
x.dist <- as.matrix(dist(x))
x.cov <- exp(-x.dist)     # covariograma exponencial
# Alternativamente considerar más parámetros: x.var*exp(-x.dist/x.scale)

# Factorización de la matriz de covarianzas
U <- chol(x.cov)

# Simulación
set.seed(1)
z <- matrix(rnorm(n * p), nrow = p)
y <- mu + t(U) %*% z

matplot(x, y, type="l")
lines(x, mu, lwd=2)

     Un saludo,
         Rubén.


El 05/11/2014 14:13, Francisco Rodríguez escribió:
> Bueno, realmente no es necesaria que la serie esté centrada en este caso, ya que estoy sumando un ruído blanco
> Un saludo
>
> From: fjroar en hotmail.com
> To: caaperezan en gmail.com; r-help-es en r-project.org
> Date: Wed, 5 Nov 2014 13:00:49 +0000
> Subject: Re: [R-es] Agregar ruido a una serie de tiempo
>
> Hola buenos d�as:
> Yo cuando he tenido que hacer estos trabajos, lo que hac�a era coger la serie temporal como un vector y constru�a un vector aleatorio de igual longitud con una distribuci�n dada, por ejemplo generando n�meros seg�n una normal 0, sigma (si la serie est� centrada en 0) y la sumaba directamente
> Te remito un ejemplo trivial para ver si he entendido realmente la pregunta
> t = 1:50y1 <- cos(t)mu = mean(y1)
> #Serie c�clica centrada en 0y1 = y1-mua <- 0.3*rnorm(20)
> #Serie con ruido normal de intensidad 0.3y2 <- y1 + aplot (y1, type="l", col = "blue")plot (y2, type="l", col = "blue")
> Un saludo
>> Date: Wed, 5 Nov 2014 07:45:22 -0500
>> From: caaperezan en gmail.com
>> To: r-help-es en r-project.org
>> Subject: [R-es] Agregar ruido a una serie de tiempo
>>
>> Es posible agregar ruido a una serie de tiempo
>>
>> Tengo series de tiempo que tienen un comportamiento funcional, quisiera
>> agregar ruido para que parezcan se�ales mas reales. Normalmente las series
>> de tiempo se suavizan a traves de filtros, es posible hacer el proceso
>> inverso con algun paquete de R
>>
>> Gracias por la atenci�n
>>
>> CARLOS ANDRES PEREZ
>>
>> 	[[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>   		 	   		
> 	[[alternative HTML version deleted]]
>   
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es 		 	   		
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es