8 votos

Algoritmo de suavizado para el intervalo de tiempo irregulares

Tengo varios grupos de irregulares intervalo de tiempo de la serie de datos a la que quiero aplicar algún tipo de algoritmo de suavizado para producir un buen ajuste.

He intentado varios métodos de los cuales todos fueron insatisfactorios.

  1. Loess - Demasiado de una tendencia a dispararse/reaccionar de forma exagerada a los valores atípicos
  2. De Media móvil - El lag es inaceptable

Ejemplo De Conjunto De Datos:

http://i.stack.imgur.com/sFkTe.png

He leído acerca de la "Mejora de Holt Método para la irregularidad de las Series de Tiempo", pero el papel era demasiado difícil para mí entender e implementar en C#.

Puede alguien que me señale un buen método o algoritmo que produce un buen alisado?

El método debe ser capaz de calcular la atenuación del punto en el tiempo $t$, sin necesidad de $t+1$, etc., de datos. También debe ser capaz de tratar con múltiples $y$ valores para un determinado $x$ del tiempo.

5voto

Patrick Puntos 183

El algoritmo más simple es el filtro de la mediana. Usted puede encontrar una implementación en C++ en el paquete de R robfilter. Que la aplicación también incluye un 'online' de la versión que sólo utiliza los datos del pasado y pone en práctica algunas de algorítmica corto-cortes.

Por supuesto, usted todavía tiene que establecer el "ancho" argumento mismo, pero esto es la contra parte de en busca de un algoritmo simple (este paquete también contiene más sofisticados algoritmos de suavizado).

La mediana de filtro es esencialmente un rodillo de la ventana de la mediana, por lo que hereda el buen el comportamiento de la mediana en términos de insensibilidad a los valores atípicos y no paramétricas interpretar-capacidad.

Así que, considerando el conjunto de datos que has publicado, el filtro de la mediana daría:

median filter

y el código:

a1<-read.table("sodat.txt",header=TRUE)
library("robfilter")
d1<-med.filter(a1[,2],width=10,online=TRUE)
plot(d1)

1voto

Bitwise Puntos 3141

Creo que lo que quiere es un filtro de la mediana: "la Mediana de filtrado es muy ampliamente utilizado en el tratamiento de la imagen digital ya que, bajo ciertas condiciones, conserva los bordes, mientras que la eliminación de ruido".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X