Friday, 13 October 2017

Promedio Móvil Con El Tiempo


Cuando se calcula una media móvil en ejecución, colocar el promedio en el período de tiempo medio tiene sentido En el ejemplo anterior se calculó el promedio de los primeros 3 períodos de tiempo y lo colocó al lado del período 3. Podríamos haber colocado el promedio en el medio de la Intervalo de tiempo de tres períodos, es decir, al lado del período 2. Esto funciona bien con períodos de tiempo impares, pero no tan bueno para incluso períodos de tiempo. Entonces, ¿dónde colocaríamos el primer promedio móvil cuando M 4 Técnicamente, el promedio móvil caería en t 2,5, 3,5. Para evitar este problema, suavizar las MA con M 2. Así, suavizar los valores suavizados Si la media de un número par de términos, tenemos que suavizar los valores suavizados La siguiente tabla muestra los resultados utilizando M 4.Moving promedio Este ejemplo le enseña Cómo calcular el promedio móvil de una serie de tiempo en Excel. Una gran ventaja se utiliza para suavizar las irregularidades (picos y valles) para reconocer fácilmente las tendencias. 1. En primer lugar, echemos un vistazo a nuestra serie de tiempo. 2. En la ficha Datos, haga clic en Análisis de datos. Nota: no puede encontrar el botón Análisis de datos Haga clic aquí para cargar el complemento Herramientas de análisis. 3. Seleccione Media móvil y haga clic en Aceptar. 4. Haga clic en el cuadro Rango de entrada y seleccione el rango B2: M2. 5. Haga clic en el cuadro Interval y escriba 6. 6. Haga clic en el cuadro Rango de salida y seleccione la celda B3. 8. Trazar un gráfico de estos valores. Explicación: dado que establecemos el intervalo en 6, el promedio móvil es el promedio de los 5 puntos de datos anteriores y el punto de datos actual. Como resultado, los picos y valles se suavizan. El gráfico muestra una tendencia creciente. Excel no puede calcular la media móvil para los primeros 5 puntos de datos porque no hay suficientes puntos de datos anteriores. 9. Repita los pasos 2 a 8 para el intervalo 2 y el intervalo 4. Conclusión: Cuanto mayor sea el intervalo, más se suavizarán los picos y los valles. Cuanto más pequeño es el intervalo, más cerca están las medias móviles de los puntos de datos reales. Estoy codificando algo en el momento en el que estoy tomando un montón de valores a través del tiempo de una brújula de hardware. Esta brújula es muy precisa y se actualiza muy a menudo, con el resultado de que si se mueve ligeramente, termino con el valor extra que es salvajemente inconsistente con sus vecinos. Quiero suavizar esos valores. Después de haber hecho algo de lectura, parece que lo que quiero es un filtro de paso alto, un filtro de paso bajo o un promedio móvil. El promedio móvil que puedo conseguir con, sólo mantener un historial de los últimos 5 valores o lo que sea, y el uso de la media de los valores de abajo en mi código donde una vez sólo estaba usando el valor más reciente. Eso debería, creo, suavizar los jiggles muy bien, pero me parece que su probablemente bastante ineficiente, y este es probablemente uno de los problemas conocidos a los programadores adecuados a lo que theres una solución de Mate Clever realmente ordenada. Sin embargo, soy uno de esos horribles programadores autodidacta sin una pizca de educación formal en algo que ni siquiera esté vagamente relacionado con CompSci o Matemáticas. Leer un poco sugiere que esto puede ser un filtro de paso alto o bajo, pero no puedo encontrar nada que explique en términos comprensibles a un hack como yo cuál sería el efecto de estos algoritmos en una matriz de valores, y mucho menos cómo la matemática trabajos. La respuesta aquí dada. Por ejemplo, técnicamente responde a mi pregunta, pero sólo en términos comprensibles para aquellos que probablemente ya saben cómo resolver el problema. Sería una persona muy encantadora e inteligente que pudiera explicar el tipo de problema que es, y cómo funcionan las soluciones, en términos comprensibles para un graduado de Artes. Si su promedio móvil tiene que ser largo para lograr el suavizado requerido, y usted realmente no necesita ninguna forma particular de kernel, entonces youre mejor si utiliza una media móvil exponencialmente decadente: donde usted Elegir minúscula para ser una constante apropiada (por ejemplo, si usted elige minúsculo 1- 1 / N, tendrá la misma cantidad de promediar que una ventana de tamaño N, pero se distribuye de manera diferente sobre puntos más antiguos). De todos modos, ya que el siguiente valor de la media móvil sólo depende de la anterior y sus datos, usted no tiene que mantener una cola o nada. Y usted puede pensar en esto como hacer algo así como, Bueno, tengo un nuevo punto, pero no confío en él, así que voy a mantener 80 de mi antigua estimación de la medición, y sólo confiar en este nuevo punto de datos 20. Eso es Casi lo mismo que decir, Bueno, yo sólo confío en este nuevo punto 20, y mal uso 4 otros puntos que confío en la misma cantidad, excepto que en lugar de tomar explícitamente los otros 4 puntos, está asumiendo que el promedio que hizo la última vez Era razonable para que pueda utilizar su trabajo anterior. Respondió Sep 21 10 at 14:27 Oye, sé que esto es 5 años de retraso, pero gracias por una respuesta impresionante. I39m trabajando en un juego donde el sonido cambia en función de su velocidad, pero debido a correr el juego en una computadora lenta-asno, la velocidad fluctuaría salvajemente, que estaba bien para la dirección, pero súper molesto en términos de sonido. Esta fue una solución realmente simple y barata para algo que pensé que sería un problema muy complejo. Ndash Adam Mar 16 15 at 20:20 Si está intentando eliminar el valor extraño ocasional, un filtro de paso bajo es la mejor de las tres opciones que ha identificado. Los filtros de paso bajo permiten cambios de baja velocidad como los causados ​​por la rotación de una brújula con la mano, mientras que rechazan cambios de alta velocidad como los causados ​​por golpes en la carretera, por ejemplo. Un promedio móvil probablemente no será suficiente, ya que los efectos de un solo golpe en sus datos afectarán a varios valores subsiguientes, dependiendo del tamaño de su ventana de promedio móvil. Si los valores impares son fácilmente detectados, incluso puede ser mejor con un algoritmo de eliminación de glitch que los ignora completamente: Aquí hay un gráfico guick para ilustrar: El primer gráfico es la señal de entrada, con un fallo desagradable. El segundo gráfico muestra el efecto de un promedio móvil de 10 muestras. El gráfico final es una combinación del promedio de 10 muestras y el algoritmo de detección de fallos simple mostrado anteriormente. Cuando se detecta el fallo, se utiliza el promedio de 10 muestras en lugar del valor real. Promedio móvil que puedo conseguir abajo con. Pero me parece que su probablemente bastante ineficiente. Theres realmente ninguna razón una media móvil debe ser ineficiente. Usted mantiene el número de puntos de datos que desea en algún búfer (como una cola circular). En cada nuevo punto de datos, se extrae el valor más antiguo y se resta de una suma, y ​​se empuja el más reciente y se agrega a la suma. Así que cada punto de datos nuevos realmente sólo implica un pop / push, una adición y una sustracción. Su promedio móvil es siempre esta suma cambiante dividida por el número de valores en su búfer. Se vuelve un poco más complicado si está recibiendo datos simultáneamente de múltiples hilos, pero ya que sus datos provienen de un dispositivo de hardware que me parece muy dudoso. Oh, y también: programadores autodidactos horribles se unen) El promedio móvil me parecía ineficiente porque tienes que almacenar un búfer de valores - mejor hacer sólo algunas Matemáticas Inteligentes con tu valor de entrada y valor de trabajo actual Creo que eso es como el promedio móvil exponencial trabajos. Una optimización que se ha observado para este tipo de media móvil implica el uso de un amplificador de cola de longitud fija, un puntero a donde se encuentra en esa cola, y simplemente envolver el puntero alrededor (con o un si). Voila No hay costosos empujones / pop. Poder para los aficionados, hermano ndash Enrique: Para un promedio móvil directo, usted necesita el búfer simplemente para que usted sepa qué valor se disparó cuando el siguiente valor se empuja. Dicho esto, la fila de longitud fija en fila, un puntero que está describiendo es exactamente lo que quise decir con "cola" circular. Esa es la razón por la que estaba diciendo que no es eficiente. ¿Qué pensaste que quería decir Y si tu respuesta es quotan matriz que cambia sus valores de nuevo en cada removalquot indexado (como std :: vector en C). Bueno, entonces, I39m tan herido que don39t incluso quiero hablar con usted más) ndash Dan Tao Sep 22 10 a las 1:58 Henry: No sé acerca de AS3, pero un programador de Java tiene colecciones como CircularQueue a su disposición (I39m No un desarrollador de Java, así que estoy seguro de que hay mejores ejemplos por ahí que es lo que encontré de una búsqueda rápida de Google), que implementa precisamente la funcionalidad que estamos hablando. I39m bastante seguro de la mayoría de los lenguajes de nivel medio y bajo con las bibliotecas estándar tienen algo similar (por ejemplo, en. NET hay 39 QueueltTgt). De todos modos, yo también fui filosofía. Todo está perdonado. Ndash Dan Tao Sep 22 10 at 12:44 Una media móvil exponencialmente decaying se puede calcular a mano con sólo la tendencia si se utilizan los valores adecuados. Consulte fourmilab. ch/hackdiet/e4/ para obtener una idea sobre cómo hacerlo rápidamente con un bolígrafo y papel si está buscando un promedio móvil suavizado exponencialmente con 10 suavizado. Pero dado que usted tiene una computadora, es probable que desee realizar un cambio binario en lugar de un cambio decimal) De esta manera, todo lo que necesita es una variable para su valor actual y otra para el promedio. El siguiente promedio se puede calcular a partir de eso. Responde Sep 21 10 at 14:39 theres una técnica llamada una puerta de rango que funciona bien con muestras espurias de baja ocurrencia. Suponiendo el uso de una de las técnicas de filtro mencionadas anteriormente (promedio móvil, exponencial), una vez que haya suficiente historia (una Constante de Tiempo) puede probar la nueva muestra de datos entrantes para determinar si es razonable antes de que se agregue a la computación. Se requiere cierto conocimiento de la tasa de cambio razonable máxima de la señal. La muestra bruta se compara con el valor suavizado más reciente, y si el valor absoluto de esa diferencia es mayor que el intervalo permitido, esa muestra es expulsada (o reemplazada por alguna heurística, por ejemplo, una predicción basada en el diferencial de pendiente o la tendencia Valor de predicción de suavizado exponencial doble) respondió Apr 30 at 6:56

No comments:

Post a Comment