Funciones > Análisis de datos > Suavizado > Ejemplo: suavizado de datos
  
Ejemplo: suavizado de datos
Utilice las funciones movavg, expsmooth y medsmooth para realizar una media en movimiento, un promedio de datos exponenciales o un filtrado de mediana. Las funciones suavizan los datos mediante el cálculo de la media de cada punto de un conjunto de datos entre este y los puntos contiguos, reduciendo así las irregularidades de los datos.
Media en movimiento
Para los tiempos t = 0, 1, 2, . . . , n - 2, el valor suavizado en t es la media aritmética de todas las observaciones hasta el tiempo t, incluido. Una vez que se hayan obtenido n observaciones, el valor suavizado en el tiempo t es la media de la observación en el tiempo t y las n - 1 observaciones anteriores.
1. Utilice la función sin para definir una señal sinusoidal decreciente:
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Utilice la función rnd para introducir un componente uniforme, pero aleatorio, con el objetivo de hacer que la señal sea ruidosa.
Pulse aquí para copiar esta expresión
3. Llame a la función movavg para suavizar los datos con ventanas de 2, 10 y 20 de ancho, respectivamente.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Las ventanas muy anchas introducen una demora temporal.
Media exponencial
Utilice una función de paso para mostrar la diferencia entre movavg y expsmooth. La media de datos exponenciales se calcula de la siguiente manera:
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
para t = 1, . . . , last(x)
La entrada suavizada en el tiempo t es la media con peso α de la observación actual y la observación anterior suavizada.
1. Defina y trace una función de paso.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
0.3 se ha añadido para definir la función en cero para t negativo.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Se utiliza 0.7 en lugar de 1 para obtener un ancho de pulsación de 1.0.
Pulse aquí para copiar esta expresión
2. Aplique la función movavg a la función escalón usando un ancho de ventana de 4.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Si se aplica la función movavg a la función escalón, se suavizará la transición de 1-to-0 en muestras n=4.
3. Aplique la función expsmooth a la función escalón usando un espesor de 0.5.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Si se aplica la función expsmooth a la función escalón, se suavizará la transición de 1-to-0 en una curva en muestras 10.
expsmooth se puede utilizar para predecir la tendencia del mercado del mismo modo que movavg, pero la mayoría de los profesionales suelen utilizar otros indicadores, tales como las diferencias entre dos suavizados exponenciales, con pesos diferentes, de los mismos datos en bruto.
Filtrado de mediana
El filtrado de mediana reemplaza a cada elemento de la entrada por la mediana del elemento y n-1 de sus contiguos, o menos, cerca de los extremos de la señal. Este método es adecuado para suavizar los bordes, al tiempo que se mantienen, y reducir el ruido.
En matrices grandes, la función requiere más tiempo, ya que clasifica cada píxel. Además de quitar el ruido, el filtrado de mediana tiende a quitar los transitorios pequeños y agudos de una señal.
1. Defina y trace una señal exponencial.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Utilice la función whiten para reducir la calidad de la señal añadiendo algunos ruidos blancos aleatorios.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Utilice la función medsmooth para aplicar un filtro de mediana y, a continuación, trace la señal filtrada.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
La versión filtrada de la señal es más suave.
Cambie la longitud del filtro para ver su efecto en la señal ruidosa. En la práctica, la longitud del filtro de mediana debería ser pequeña en comparación con la longitud de la señal.