Esto puede sonar muy básico, pero tengo este problema: tengo una cola de datos con un tamaño de ventana de 300. Se agregan nuevos datos en un extremo, los valores antiguos se eliminan del otro extremo.
Espero que los datos de la cola se mantengan más o menos consistentes, por ejemplo: 10,12,15,10,20, luego empiezo a aumentar bruscamente: 15,10,20,22,25,26,28,30,32 ... todo el camino hasta 150 más o menos. Allí los datos pueden fluctuar un poco, luego bajarían con una pendiente similar (120,118,116,115 ...) hasta 20 más o menos.
Estoy tratando de identificar el punto de inflexión en esta serie de datos mediante programación, pero mi código detecta picos con más frecuencia de lo que me gustaría. ¿Cómo puedo identificar cuándo el gráfico está subiendo, cuándo ha alcanzado un punto de inflexión definitivo y cuándo comienza a caer? ¿Debo tratar de ver la tasa de cambio de la tasa de cambio?
fuente
Respuestas:
Si sabe que este es el patrón exacto que puede esperar, puede buscar este patrón exacto, pero luego perderá otros patrones. Entonces. Si sabe que el pico será 150, entonces podría buscar 2 o 3 o 4 o (por muchos) valores consecutivos de 150. Pero usted dice "más o menos", ¿qué tan grande es el "más o menos"? Quizás el pico se define como "3 valores consecutivos por encima de 130" o tal vez sea "3 de 5 valores consecutivos por encima de 140". Eso es para que usted decida.
Por otro lado, si solo está buscando algún programa general para detectar picos, bueno, eso se ha examinado. Existen varios métodos de suavizado (por ejemplo, loess, splines de varios tipos, promedios móviles, etc.). No es un campo en el que soy experto, pero hay mucha literatura sobre esto.
fuente
Mire en SiZer (cruces ZERo significativos ... o pendientes, no recuerdo), aunque podría decirse que es más una herramienta de sección transversal que de series de tiempo. La idea es suavizar los datos en diferentes anchos de banda (que varían en unos tres órdenes de magnitud) y aplicar algunas pruebas locales para ver si la pendiente de una regresión local es significativamente positiva o negativa (o indecisa). Produce una imagen convincente que lo ayudará a determinar qué características hay. (Me sorprende que no haya implementación de R, solo Matlab).
fuente