Necesito calcular una media móvil sobre una serie de datos, dentro de un bucle for. Tengo que obtener el promedio móvil en N9 días. El array Im computing in es 4 series de 365 valores (M), que en sí mismos son valores medios de otro conjunto de datos. Quiero trazar los valores medios de mis datos con el promedio móvil en una parcela. Busqué un poco sobre los promedios móviles y el comando conv y encontré algo que intenté implementar en mi código. Por lo tanto, básicamente, calculo mi media y lo trace con una media móvil (errónea). Escogí el valor de wts justo en el sitio de mathworks, por lo que es incorrecto. (Fuente: mathworks. nl/help/econ/moving-average-trend-estimation. html) Mi problema, sin embargo, es que no entiendo lo que este wts es. ¿Podría alguien explicar Si tiene algo que ver con los pesos de los valores: que no es válido en este caso. Todos los valores se ponderan igual. Y si estoy haciendo esto totalmente mal, podría obtener alguna ayuda con ella Mis más sinceras gracias. El uso de conv es una excelente manera de implementar un promedio móvil. En el código que está usando, wts es cuánto está pesando cada valor (como usted adivinó). La suma de ese vector siempre debe ser igual a uno. Si desea ponderar cada valor uniformemente y hacer un filtro N de tamaño N, entonces lo haría. Usar el argumento válido en conv resultará en tener menos valores en Ms que en M. Utilice lo mismo si no le importan los efectos de Relleno cero. Si tiene la caja de herramientas de procesamiento de señales, puede usar cconv si desea probar una media móvil circular. Algo así como usted debe leer la documentación conv y cconv para obtener más información si ya no lo ha hecho. Puede utilizar filtro para encontrar un promedio de ejecución sin utilizar un bucle for. Este ejemplo encuentra el promedio de ejecución de un vector de 16 elementos, usando un tamaño de ventana de 5. 2) suave como parte de la caja de herramientas de ajuste de curvas (que está disponible en la mayoría de los casos) yy suave (y) suaviza los datos en el vector de columna Y utilizando un filtro de media móvil. Los resultados se devuelven en el vector de columna yy. El intervalo predeterminado para el promedio móvil es 5.Suppose Tengo una serie de tiempo observada yt, que sospecho que ha sido suavizada. Parece ser una autocorrelación significativa en el retardo 1 y 2, por lo tanto supongo que la serie observada yt está en la forma: yt theta0 xt theta1 x (1 - theta0 - theta1) x donde xt es la serie original que estoy después. Cómo puedo recuperar la serie original xt Es evidente que necesito un método para estimar theta0 y theta1 y luego aplicar la transformación relevante. Pero cómo hacerlo no veo cómo aplicar un proceso de arima aquí. El modelo se puede escribir como modelo arima, o para ser preciso modelo MA (2): yt ztalpha1 z alpha2 z, los modelos ARIMA se postulan generalmente con coeficiente 1 para zt, porque siempre se puede mover el multiplicativo Constante a la varianza de las perturbaciones. Yt theta0xttheta1 x (1-theta0-theta1) x se convierte en modelo MA (2) Así puede estimar el modelo MA (2) y luego recuperar theta0 y theta1 de alfa1 y alfa2: Aquí está el ejemplo en R: Puede recuperar xt como residuales Del modelo arima: Como se ve el procedimiento recuperó coeficientes con la precisión de 3 decimales. El xt recuperado también se recupera con una precisión similar. La diferencia es la inicialización. El modelo ARIMA asume que el proceso es infinito, pero los datos nunca son infinitos, por lo que cada procedimiento de estimación debe asumir alguna inicialización. Como se evidencia a partir de la trama, los primeros elementos de xt recuperado tienen el mayor error, pero entonces el error se estabiliza. Dado que los modelos ARIMA se calculan mediante el procedimiento de filtro de Kalman, se puede implementar usted mismo con la intialización adecuada. Tenga en cuenta que en este ejemplo he usado una gran muestra de 10000 elementos. Menos datos resultaría en una precisión peor, debe ejecutar algunas pruebas para ver el alcance del impacto del tamaño de la muestra a la precisión de la recuperación. Respondió 15 de enero a las 15:48 mpiktas, depende de los datos. Se sabe que algunas series dependen de la experiencia previa o de la comprensión del proceso. Por ejemplo, simplemente no es razonable suponer que los saldos de depósitos o las temperaturas de área son independientes o incluso no autocorrelacionados. No necesito probar esto. Generalmente, usted puede probar la independencia incluso si observa los datos. Ndash Aksakal 16 de enero a las 3:38 Puede empezar suponiendo que su variable observada se obtiene del valor verdadero como yt theta0 xt theta1 x et ayudaría a saber cuál es el proceso de la variable subyacente, suponga que su xt beta0 beta1 x Ut donde et, ut son errores. Si estas ecuaciones tienen sentido para usted entonces, usted puede estimarlos usando el filtro de Kalman, vea el ejemplo aquí. A continuación, prueba si theta0theta11, si tiene estadísticamente, entonces tal vez su especificación se mantiene, por lo que puede proceder con un ajuste restringido. Tienes que establecer las expectativas sin embargo: suavizado conduce a la pérdida de datos, en general. Por lo tanto, no se puede reproducir exactamente la serie original. Es por eso que usando el filtro de Kalman tuvimos que hacer una suposición sobre los procesos observados y verdaderos, es decir, necesitamos inyectar algunos datos externos para compensar los datos perdidos (de suavizado) para recuperar la serie verdadera. Respondió Jan 15 at 14:37 Genial, gracias. Esto ayudó :) ndash Ant 15 de enero a las 22:45 Su respuesta 2016 Stack Exchange, IncMoving Filtro promedio (filtro MA) Loading. El filtro de media móvil es un simple filtro FIR de paso bajo (respuesta de impulso finito) comúnmente utilizado para suavizar una matriz de datos / señal muestreados. Se toman M muestras de entrada a la vez y tomar el promedio de esas M-muestras y produce un solo punto de salida. Se trata de una simple LPF (Low Pass Filter) estructura que viene práctico para los científicos y los ingenieros para filtrar el componente ruidoso no deseado de los datos previstos. A medida que aumenta la longitud del filtro (el parámetro M) aumenta la suavidad de la salida, mientras que las transiciones bruscas en los datos se hacen cada vez más contundentes. Esto implica que este filtro tiene excelente respuesta en el dominio del tiempo pero una respuesta de frecuencia pobre. El filtro MA realiza tres funciones importantes: 1) toma M puntos de entrada, calcula el promedio de esos puntos M y produce un único punto de salida. 2) Debido al cálculo / cálculos involucrados. El filtro introduce una cantidad definida de retardo 3) El filtro actúa como un filtro de paso bajo (con una respuesta de dominio de frecuencia pobre y una buena respuesta de dominio de tiempo). Código Matlab: El siguiente código matlab simula la respuesta en el dominio del tiempo de un filtro M-point Moving Average y también traza la respuesta de frecuencia para varias longitudes de filtro. Respuesta de Dominio de Tiempo: En la primera trama, tenemos la entrada que va en el filtro de media móvil. La entrada es ruidosa y nuestro objetivo es reducir el ruido. La siguiente figura es la respuesta de salida de un filtro de media móvil de 3 puntos. Puede deducirse de la figura que el filtro de media móvil de 3 puntos no ha hecho mucho en filtrar el ruido. Aumentamos los grifos de filtro a 51 puntos y podemos ver que el ruido en la salida se ha reducido mucho, que se representa en la siguiente figura. Aumentamos los grifos más allá de 101 y 501 y podemos observar que aunque el ruido sea casi cero, las transiciones se atenuan drásticamente (observe la pendiente en cada lado de la señal y compárelas con la transición ideal de pared de ladrillo en Nuestra entrada). Respuesta de Frecuencia: A partir de la respuesta de frecuencia se puede afirmar que el roll-off es muy lento y la atenuación de banda de parada no es buena. Dada esta atenuación de banda de parada, claramente, el filtro de media móvil no puede separar una banda de frecuencias de otra. Como sabemos que un buen rendimiento en el dominio del tiempo da como resultado un rendimiento pobre en el dominio de la frecuencia, y viceversa. En resumen, el promedio móvil es un filtro de suavizado excepcionalmente bueno (la acción en el dominio del tiempo), pero un filtro de paso bajo excepcionalmente malo (la acción en el dominio de la frecuencia) Enlaces externos: Libros recomendados:
No comments:
Post a Comment