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.
2. Utilice la función rnd para introducir un componente uniforme, pero aleatorio, con el objetivo de hacer que la señal sea ruidosa.
3. Llame a la función movavg para suavizar los datos con ventanas de 2, 10 y 20 de ancho, respectivamente.
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:
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.
0.3 se ha añadido para definir la función en cero para t negativo.
Se utiliza 0.7 en lugar de 1 para obtener un ancho de pulsación de 1.0.
2. Aplique la función movavg a la función escalón usando un ancho de ventana de 4.
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.
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.
2. Utilice la función whiten para reducir la calidad de la señal añadiendo algunos ruidos blancos aleatorios.
3. Utilice la función medsmooth para aplicar un filtro de mediana y, a continuación, trace la señal filtrada.
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.