Sunday, 5 November 2017

Constante De Tiempo Promedio Móvil


He estado estudiando el promedio exponencial. Hay suficientes explicaciones sobre esto en Internet, pero no explican sobre la constante de tiempo. Tengo un canal con una señal de tiempo de T segundos con frecuencia de muestreo fs. Si quiero hacer el promedio de esta señal de tiempo, necesitamos usar el método lineal o exponencial. El método del promedio lineal es bastante simple, por lo que no hay problemas para aplicar. Sin embargo, si intento aplicar el método del promedio exponencial, hay algunos problemas. Si la señal de tiempo varía rápidamente, preferimos usar una constante de tiempo rápida de 125 ms. Además, la señal de tiempo varía lentamente, utilizando 1000 ms de lento tiempo constante es mejor, pero en esta situación, no sé cómo puedo aplicar esta constante de tiempo con la señal de tiempo. ¿Hay alguna explicación o cualquier ejemplo para hacer el promedio exponencial con la constante de tiempo Preguntó Aug 29 13 at 16: 54 Tengo un valor continuo para el que ID como para calcular una media móvil exponencial. Normalmente Id simplemente usa la fórmula estándar para esto: donde S n es el nuevo promedio, alfa es el alfa, Y es la muestra, y S n-1 es el promedio anterior. Por desgracia, debido a varios problemas que no tienen un tiempo de muestra consistente. Puedo saber que puedo probar como máximo, digamos, una vez por milisegundo, pero debido a factores fuera de mi control, es posible que no pueda tomar una muestra durante varios milisegundos a la vez. Un caso más probable, sin embargo, es que la simple muestra un poco temprano o tarde: en lugar de muestreo a 0, 1 y 2 ms. Muestra a 0, 0,9 y 2,1 ms. Yo anticipo que, independientemente de los retrasos, mi frecuencia de muestreo estará muy, muy por encima del límite de Nyquist, y por lo tanto no necesito preocuparme por aliasing. Creo que puedo lidiar con esto de una manera más o menos razonable variando el alfa apropiadamente, basado en el tiempo transcurrido desde la última muestra. Parte de mi razonamiento de que esto funcionará es que la EMA interpola linealmente entre el punto de datos anterior y el actual. Si consideramos el cálculo de una EMA de la siguiente lista de muestras a intervalos t: 0,1,2,3,4. Deberíamos obtener el mismo resultado si usamos el intervalo 2t, donde los insumos se vuelven 0,2,4, a la derecha. Si la EMA hubiera asumido que, en t 2, el valor había sido 2 desde t0. Que sería el mismo que el cálculo del intervalo t cálculo en 0,2,2,4,4, lo que no lo hace. ¿O es que tiene sentido en absoluto ¿Puede alguien decirme cómo variar el alfa adecuadamente Por favor, muestre su trabajo. Es decir. Muéstrame las matemáticas que demuestran que tu método realmente está haciendo lo correcto. No deberías obtener el mismo EMA para diferentes entradas. Piense en EMA como un filtro, el muestreo en 2t es equivalente a muestreo hacia abajo, y el filtro va a dar una salida diferente. Esto es claro para mí ya que 0,2,4 contiene componentes de frecuencia más alta que 0,1,2,3,4. A menos que la pregunta es, ¿cómo puedo cambiar el filtro sobre la marcha para hacer que dar la misma salida. Tal vez estoy perdiendo algo ndash freespace Jun 21 09 at 15:52 Pero la entrada no es diferente, it39s muestra sólo menos a menudo. 0,2,4 a intervalos 2t es como 0,, 2, 4 en los intervalos t, donde indica que la muestra es ignorada ndash Curt Sampson Jun 21 09 at 23:45 Esta respuesta basada en mi buena comprensión del paso bajo Filtros (media móvil exponencial es realmente sólo un filtro de paso simple de un solo polo), pero mi comprensión nebulosa de lo que estás buscando. Creo que lo siguiente es lo que quieres: Primero, puedes simplificar tu ecuación un poco (parece más complicado pero es más fácil en código). Im que va a utilizar Y para la salida y X para la entrada (en vez de S para la salida y Y para la entrada, como usted ha hecho). En segundo lugar, el valor de alpha aquí es igual a 1-e-Datat / tau donde Deltat es el tiempo entre muestras, y tau es la constante de tiempo del filtro de paso bajo. Digo igual entre comillas porque esto funciona bien cuando Deltat / tau es pequeño comparado con 1, y alpha 1-e-Datat / tau asymp Deltat / tau. (Pero no demasiado pequeño: se ejecuta en cuestiones de cuantificación, ya menos que recurrir a algunas técnicas exóticas que por lo general necesitan un N bits adicionales de resolución en su estado variable S, donde N - log 2 (alfa).) Para valores más grandes de Deltat / Tau el efecto de filtrado comienza a desaparecer, hasta llegar al punto en que el alfa está cerca de 1 y básicamente sólo se asigna la entrada a la salida. Esto debería funcionar correctamente con diferentes valores de Deltat (la variación de Deltat no es muy importante, siempre y cuando el alfa sea pequeño, de lo contrario se encontrará con algunos problemas más extraños de Nyquist / aliasing / etc.), y si está trabajando en un procesador Donde la multiplicación es más barata que la división, o cuestiones de punto fijo son importantes, precalculate omega 1 / tau, y considere tratar de aproximar la fórmula de alfa. Si realmente quiere saber cómo derivar la fórmula alfa 1-e-Datat / tau, considere su fuente de ecuaciones diferenciales: cuando X es una función de escalón unitario, tiene la solución Y 1 - e - t / tau. Para valores pequeños de Deltat, la derivada puede ser aproximada por DeltaY / Deltat, produciendo Y tau DeltaY / Deltat X DeltaY (XY) (Deltat / tau) alfa (XY) y la extrapolación de alfa 1-e - Detat / tau proviene de Tratando de igualar el comportamiento con el caso de función de paso de unidad. ¿Podría por favor elaborar en el quottrying para coincidir con la parte de comportamiento que entiendo su solución de tiempo continuo Y 1 - exp (-t47) y su generalización a una función escalonada de escalón con magnitud xy condición inicial y (0). Pero no veo cómo juntar estas ideas para lograr su resultado. Ndash Rhys Ulerich May 4 13 at 22:34 Esta no es una respuesta completa, pero puede ser el comienzo de uno. Es tan lejos como llegué con esto en una hora o así de jugar Im publicarlo como un ejemplo de lo que estoy buscando, y tal vez una inspiración para otros que trabajan en el problema. Empiezo con S 0. Que es el promedio resultante del promedio anterior S -1 y la muestra Y 0 tomada en t 0. (T 1 - t 0) es mi intervalo de muestreo y alfa se ajusta a lo que sea apropiado para ese intervalo de muestra y el período sobre el cual deseo mediar. He considerado lo que sucede si me pierdo la muestra en t 1 y en su lugar tienen que conformarse con la muestra Y 2 tomada en t 2. Pues bien, podemos comenzar expandiendo la ecuación para ver lo que habría pasado si hubiéramos tenido Y 1: Observo que la serie parece extenderse infinitamente de esta manera, porque podemos sustituir indefinidamente el S n en el lado derecho: Ok , Por lo que no es realmente un polinomio (tonto yo), pero si multiplicamos el término inicial por uno, entonces vemos un patrón: Hm: es una serie exponencial. Quelle sorpresa Imagina que saliendo de la ecuación para una media móvil exponencial Así que de todos modos, tengo esta x 0 x 1 x 2 x 3. Cosa que va, y estoy seguro de que estoy oliendo e o un logaritmo natural dando patadas por aquí, pero no puedo recordar donde me dirigía después antes de que me quedé sin tiempo. Cualquier respuesta a esta pregunta, o cualquier prueba de corrección de tal respuesta, depende altamente de los datos que usted está midiendo. Si sus muestras se tomaron en t 0 0ms. T _ {1} 0,9ms y t _ {2} 2,1ms. Pero su elección de alfa se basa en intervalos de 1 ms, y por lo tanto desea un alpha n ajustado localmente. La prueba de corrección de la elección significaría conocer los valores de la muestra en t1ms y t2ms. Esto conduce a la pregunta: ¿Puede usted interpolar sus datos resonably para tener sanas suposiciones de qué valores intermedios pudo haber sido? ¿O usted puede incluso interpolar el promedio sí mismo? Si ninguno de éstos es posible, entonces por lo que yo lo veo, el lógico La elección de un valor intermedio Y (t) es el promedio calculado más recientemente. Es decir, Y (t) asımpona S n en la que n es maxmial tal que t n ltt. Esta elección tiene una consecuencia simple: Dejar alfa solo, no importa cuál era la diferencia de tiempo. Si, por otro lado, es posible interpolar sus valores, entonces esto le dará muestras de intervalo constante promedio. Por último, si es posible interpolar el promedio mismo, eso haría la pregunta sin sentido. Respondió Jun 21 09 at 15:08 balpha 9830 26.1k 9679 9 9679 84 9679 116 Creo que puedo interpolar mis datos: dado que I39m muestreo a intervalos discretos, I39m ya hacerlo con una EMA estándar De todos modos, asumir que necesito Un quotproofquot que muestra que funciona tan bien como un estándar EMA, que también tiene producirá un resultado incorrecto si los valores no están cambiando bastante suavemente entre períodos de muestra. Ndash Curt Sampson Jun 21 09 at 15:21 Pero eso es lo que estoy diciendo: Si consideras a la EMA una interpolación de tus valores, lo harás si dejas alfa tal cual (porque insertar el promedio más reciente como Y no cambia el promedio) . Si usted dice que necesita algo que funciona igual que un EMA estándar - lo que está mal con el original A menos que tenga más información acerca de los datos que está midiendo, cualquier ajuste local alfa será arbitrario. Ndash balpha 9830 Jun 21 09 at 15:31 Me gustaría dejar el valor de alpha solo, y rellenar los datos faltantes. Puesto que usted no sabe qué sucede durante el tiempo en que usted no puede probar, usted puede llenar esas muestras con 0s, o mantener el valor anterior estable y utilizar esos valores para el EMA. O una interpolación hacia atrás una vez que tenga una nueva muestra, rellene los valores faltantes y vuelva a calcular la EMA. Lo que estoy tratando de obtener es que tiene una entrada xn que tiene agujeros. No hay forma de evitar el hecho de que faltan datos. Por lo tanto, puede utilizar una retención de orden cero, o establecerla en cero, o algún tipo de interpolación entre xn y xnM. Donde M es el número de muestras faltantes y n el inicio de la brecha. Posiblemente incluso usando valores antes de n. De gastar una hora o así que mucking sobre un pedacito con la matemáticas para esto, pienso que el variar simplemente el alfa me dará realmente la interpolación apropiada entre los dos puntos que usted habla, pero en un Mucho más sencillo. Además, pienso que la variación del alfa también tratará correctamente con las muestras tomadas entre los intervalos de muestreo estándar. En otras palabras, busco lo que describiste, pero tratando de usar las matemáticas para averiguar la forma sencilla de hacerlo. Ndash Curt Sampson Jun 21 09 at 14:07 No creo que haya una bestia como la interpolación quotproper. Simplemente no sabes lo que pasó en el momento en que no estás tomando muestras. Buena y mala interpolación implica algún conocimiento de lo que te perdiste, ya que tienes que medir en contra de eso para juzgar si una interpolación es buena o mala. A pesar de que dicho, usted puede colocar las limitaciones, es decir, con la aceleración máxima, velocidad, etc Creo que si usted sabe cómo modelar los datos que faltan, entonces sólo modelar los datos que faltan, a continuación, aplicar el algoritmo EMA sin cambio, más bien Que cambiar alfa. Just my 2c :) ndash freespace Jun 21 09 at 14:17 Esto es exactamente lo que estaba recibiendo en mi edición de la pregunta hace 15 minutos: quotYou simplemente don39t saber lo que pasó en el tiempo que no están muestreo, pero eso es cierto Incluso si usted muestra en cada intervalo designado. Así mi contemplación de Nyquist: mientras sepas que la forma de la onda no cambia las direcciones más que cada par de muestras, el intervalo real de la muestra no debería importar, y debería ser capaz de variar. La ecuación de EMA me parece exactamente para calcular como si la forma de onda cambió linealmente del último valor de la muestra al actual. Ndash Curt Sampson Jun 21 09 at 14:26 No creo que eso sea cierto. El teorema de Nyquist requiere un mínimo de 2 muestras por período para poder identificar de manera única la señal. Si no lo hace, obtendrá aliasing. Sería lo mismo que muestrear como fs1 durante un tiempo, luego fs2, luego volver a fs1, y obtendrá aliasing en los datos cuando se muestre con fs2 si fs2 está por debajo del límite de Nyquist. También debo confesar que no entiendo lo que quieres decir con cambios de quotwaveform linealmente de la última muestra a la actual onequot. ¿Podría por favor explicar Cheers, Steve. Ndash freespace Jun 21 09 at 14:36 ​​Esto es similar a un problema abierto en mi lista de tareas. Tengo un esquema elaborado en cierta medida, pero no tienen trabajo matemático para respaldar esta sugerencia todavía. Actualizar el resumen de amplificador: Quisiera mantener el factor de suavizado (alfa) independiente del factor de compensación (que me refiero como beta aquí). Jasons excelente respuesta ya aceptada aquí funciona muy bien para mí. Si también se puede medir el tiempo transcurrido desde la última muestra (en múltiplos redondeados de su tiempo de muestreo constante - 7,8 ms desde la última muestra sería de 8 unidades), que podría ser utilizado para aplicar el suavizado varias veces. Aplicar la fórmula 8 veces en este caso. Usted ha hecho efectivamente un suavizado más inclinado hacia el valor actual. Para obtener un mejor suavizado, tenemos que ajustar el alfa al aplicar la fórmula 8 veces en el caso anterior. ¿Qué va a faltar esta aproximación de suavizado? Ya ha perdido 7 muestras en el ejemplo anterior Esto se aproximó en el paso 1 con una aplastada re-aplicación del valor actual un adicional de 7 veces Si definimos un factor de aproximación beta que se aplicará junto con alfa (Como alphabeta en lugar de sólo alfa), vamos a suponer que las 7 muestras perdidas estaban cambiando suavemente entre los valores de la muestra anterior y actual. Yo pensé en esto, pero un poco de mierda con las matemáticas me llevó al punto en el que creo que, en lugar de aplicar la fórmula ocho veces con el valor de la muestra, puedo hacer un cálculo De un nuevo alfa que me permitirá aplicar la fórmula una vez, y me dará el mismo resultado. Además, esto se ocuparía automáticamente de la cuestión de las muestras contrarrestadas por los tiempos de muestreo exactos. Ndash Curt Sampson Jun 21 09 at 13:47 La única solicitud está bien. Lo que no estoy seguro todavía es cómo es buena la aproximación de los 7 valores perdidos. Si el movimiento continuo hace que el valor de la fluctuación de fase a través de los 8 milisegundos, las aproximaciones pueden ser bastante fuera de la realidad. Pero, si usted está muestreando en 1ms (resolución más alta excluyendo las muestras retrasadas) ya ha calculado que el fluctuaciones dentro de 1 ms no es relevante. ¿Este razonamiento funciona para usted (todavía estoy tratando de convencer a mí mismo). Ndash nik Jun 21 09 at 14:08 Derecho. Ese es el factor beta de mi descripción. Un factor beta se calcularía sobre la base del intervalo de diferencia y de las muestras actuales y anteriores. El nuevo alfa será (alfabeto), pero se utilizará sólo para esa muestra. Mientras que usted parece ser el alfa en la fórmula, tienden hacia alfa constante (factor de suavizado) y una beta independientemente calculada (un factor de ajuste) que compensa las muestras faltadas apenas ahora. En la práctica, el promedio móvil proporcionará una buena estimación de la media de la serie temporal si la media es constante o cambia lentamente. En el caso de una media constante, el mayor valor de m dará las mejores estimaciones de la media subyacente. Un período de observación más largo promediará los efectos de la variabilidad. El propósito de proporcionar un m más pequeño es permitir que el pronóstico responda a un cambio en el proceso subyacente. Para ilustrar, proponemos un conjunto de datos que incorpora cambios en la media subyacente de la serie temporal. La figura muestra las series temporales utilizadas para la ilustración junto con la demanda media a partir de la cual se generó la serie. La media comienza como una constante en 10. Comenzando en el tiempo 21, aumenta en una unidad en cada período hasta que alcanza el valor de 20 en el tiempo 30. Entonces se vuelve constante otra vez. Los datos se simulan sumando a la media un ruido aleatorio de una distribución Normal con media cero y desviación estándar 3. Los resultados de la simulación se redondean al entero más próximo. La tabla muestra las observaciones simuladas utilizadas para el ejemplo. Cuando usamos la tabla, debemos recordar que en cualquier momento dado, sólo se conocen los datos pasados. Las estimaciones del parámetro del modelo, para tres valores diferentes de m se muestran junto con la media de las series temporales de la siguiente figura. La figura muestra la media móvil de la estimación de la media en cada momento y no la previsión. Los pronósticos cambiarían las curvas de media móvil a la derecha por períodos. Una conclusión es inmediatamente aparente de la figura. Para las tres estimaciones, la media móvil se queda por detrás de la tendencia lineal, con el rezago aumentando con m. El retraso es la distancia entre el modelo y la estimación en la dimensión temporal. Debido al desfase, el promedio móvil subestima las observaciones a medida que la media aumenta. El sesgo del estimador es la diferencia en un tiempo específico en el valor medio del modelo y el valor medio predicho por el promedio móvil. El sesgo cuando la media está aumentando es negativo. Para una media decreciente, el sesgo es positivo. El retraso en el tiempo y el sesgo introducido en la estimación son funciones de m. Cuanto mayor sea el valor de m. Mayor es la magnitud del retraso y sesgo. Para una serie cada vez mayor con tendencia a. Los valores de retraso y sesgo del estimador de la media se dan en las ecuaciones siguientes. Las curvas de ejemplo no coinciden con estas ecuaciones porque el modelo de ejemplo no está aumentando continuamente, sino que comienza como una constante, cambia a una tendencia y luego vuelve a ser constante de nuevo. También las curvas de ejemplo se ven afectadas por el ruido. El pronóstico de media móvil de los períodos en el futuro se representa desplazando las curvas hacia la derecha. El desfase y sesgo aumentan proporcionalmente. Las ecuaciones a continuación indican el retraso y sesgo de los períodos de previsión en el futuro en comparación con los parámetros del modelo. Nuevamente, estas fórmulas son para una serie de tiempo con una tendencia lineal constante. No debemos sorprendernos de este resultado. El estimador del promedio móvil se basa en el supuesto de una media constante, y el ejemplo tiene una tendencia lineal en la media durante una parte del período de estudio. Dado que las series de tiempo real rara vez obedecerán exactamente las suposiciones de cualquier modelo, debemos estar preparados para tales resultados. También podemos concluir de la figura que la variabilidad del ruido tiene el efecto más grande para m más pequeño. La estimación es mucho más volátil para el promedio móvil de 5 que el promedio móvil de 20. Tenemos los deseos en conflicto de aumentar m para reducir el efecto de la variabilidad debido al ruido y disminuir m para hacer el pronóstico más sensible a los cambios En promedio El error es la diferencia entre los datos reales y el valor previsto. Si la serie temporal es verdaderamente un valor constante, el valor esperado del error es cero y la varianza del error está compuesta por un término que es una función de y un segundo término que es la varianza del ruido. El primer término es la varianza de la media estimada con una muestra de m observaciones, suponiendo que los datos provienen de una población con una media constante. Este término se minimiza haciendo m tan grande como sea posible. Un m grande hace que el pronóstico no responda a un cambio en la serie temporal subyacente. Para hacer que el pronóstico responda a los cambios, queremos que m sea lo más pequeño posible (1), pero esto aumenta la varianza del error. El pronóstico práctico requiere un valor intermedio. Previsión con Excel El complemento de previsión implementa las fórmulas de promedio móvil. El siguiente ejemplo muestra el análisis proporcionado por el complemento para los datos de muestra en la columna B. Las primeras 10 observaciones se indexan -9 a 0. En comparación con la tabla anterior, los índices de período se desplazan en -10. Las primeras diez observaciones proporcionan los valores iniciales para la estimación y se utilizan para calcular la media móvil para el período 0. La columna MA (10) (C) muestra las medias móviles calculadas. El parámetro de la media móvil m está en la celda C3. La columna Fore (1) (D) muestra un pronóstico para un período en el futuro. El intervalo de pronóstico está en la celda D3. Cuando el intervalo de pronóstico se cambia a un número mayor, los números de la columna Fore se desplazan hacia abajo. La columna Err (1) (E) muestra la diferencia entre la observación y el pronóstico. Por ejemplo, la observación en el tiempo 1 es 6. El valor pronosticado a partir de la media móvil en el tiempo 0 es 11.1. El error entonces es -5.1. La desviación estándar y la media media de desviación (MAD) se calculan en las células E6 y E7, respectivamente.

No comments:

Post a Comment