Me gustaría medir la amplitud de las ondas en un ruidoso de series de tiempo en línea. Tengo una series de tiempo que los modelos de un ruidoso de la función de onda, que se somete a los cambios en la amplitud. Decir, por ejemplo, algo como esto:
set.seed <- 1001
x <- abs(sin(seq(from = 0, t = 100, by = 0.1)))
x <- x + (runif(1001, 0, 1) / 5)
x <- x * c(rep(1.0, 500), rep(2.0, 501))
Los datos resultantes se parece a esto:
> head(x, n = 30)
[1] 0.1581530 0.1329728 0.3911897 0.4104984 0.4774424 0.5118123 0.6499325
[8] 0.6837706 0.8520770 0.8625692 0.8441520 0.9960601 1.1119514 1.1414032
[15] 1.1153601 1.1456799 1.0843497 1.1141201 1.1290904 0.9906415 0.9836052
[22] 0.9369836 0.9493608 0.7484588 0.7588435 0.6467422 0.5787302 0.4665009
[29] 0.4643982 0.3398427
> plot(x)
> lines(x)
Como se puede ver, la causa del ruido en la serie los datos no aumenta monótonamente entre las olas " los comederos y las crestas.
Estoy buscando una manera de estimar la amplitud de cada onda del pico en línea en un cómputo untaxing manera. Es probable que pueda encontrar una manera de medir la magnitud máxima del ruido plazo. No estoy seguro de si la frecuencia de las ondas es constante, por lo que estaría interesado tanto en las respuestas que suponen una constante (conocida) con la frecuencia de la onda o una variable de la frecuencia de la onda. Los datos reales también es sinusoidal.
Estoy seguro de que este es un problema común con las bien conocidas las soluciones, pero soy tan nueva en esto, que yo no sé ni qué términos de búsqueda. También, le pido disculpas si esta pregunta sería más apropiado stackoverflow, puedo pedir, si se prefiere.