Tengo streaming de datos en tiempo real entrando en la chispa y me gustaría hacer una predicción de media móvil en esa serie de datos de tiempo. ¿Hay alguna manera de implementar esta chispa de uso en Java Ive ya se ha referido. Gist. github / samklr / 27411098f04fc46dcd05 / revisiones y Apache Spark Moving Average, pero ambos códigos están escritos en Scala. Dado que no estoy familiarizado con Scala, no soy capaz de juzgar si lo encuentro útil o incluso convertir el código a Java. ¿Hay alguna implementación directa de la previsión en Spark Java preguntó Aug 12 15 en 12: 44Moving promedio es un problema difícil para Spark, y cualquier sistema distribuido. Cuando los datos se distribuyen entre varias máquinas, habrá algunas ventanas de tiempo que atraviesen las particiones. Tenemos que duplicar los datos al inicio de las particiones, de modo que el cálculo del promedio móvil por partición da una cobertura completa. Esta es una manera de hacerlo en Spark. Los datos de ejemplo: Un simple particionador que pone cada fila en la partición que especificamos con la clave: Crear los datos con la primera ventana - 1 filas copiadas a la partición anterior: Basta con calcular el promedio móvil en cada partición: Debido a los segmentos duplicados Esto no tendrá brechas en coverage. Overview Spark-Timeseries es una biblioteca de Python y Scala para el análisis de conjuntos de datos de series temporales a gran escala. Está alojado aquí. Scaladoc está disponible aquí. Python doc está disponible aquí. Un conjunto de abstracciones para manipular datos de series de tiempo, similar a lo que se proporciona para conjuntos de datos más pequeños en Pandas. Matlab. Y Rs zoo y xts paquetes. Modelos, pruebas y funciones que permiten tratar series temporales desde una perspectiva estadística, similar a lo que se proporciona en StatsModels y una variedad de paquetes Matlab y R. La biblioteca está orientada a casos de uso en finanzas (munging tick, building risk models), pero tiene la intención de ser lo suficientemente general como para que otros campos con datos de series temporales continuas, como la meteorología, puedan hacer uso de ella. La biblioteca actualmente espera que las series temporales univariadas individuales puedan caber fácilmente en la memoria en cada máquina, pero que las colecciones de series temporales univariadas pueden necesitar ser distribuidas a través de muchas máquinas. Si bien las series de tiempo que violan esta expectativa plantean un montón de divertidos problemas de programación distribuidos, que no tienden a aparecer muy a menudo en las finanzas, donde una matriz con un valor por cada minuto de cada día de negociación durante diez años necesita menos de un par de millones de elementos . Dependencias La biblioteca se encuentra en algunas otras excelentes bibliotecas de Java y Scala. Breeze para álgebra lineal de tipo NumPy, BLAS. JodaTime para fechas y horas. Apache Commons Math para la funcionalidad general de matemáticas y estadísticas. Apache Spark para computación distribuida con capacidades en memoria. Funcionalidad Series temporales Manipulación Alineación Retardo Corte por fecha-hora Imputación de valor faltante Conversión entre diferentes series de datos de series de tiempo Serie de tiempo Matemáticas y Estadísticas Modelos de media móvil ponderada exponencialmente (EWMA) Modelos de media móvil integrada autoregresiva (ARIMA) Modelos heterocedásticos condororregresivos Falta la imputación de datos Prueba aumentada de Dickey-Fuller Prueba de Durbin-Watson Prueba de Breusch-Godfrey Prueba de Breusch-Pagan
No comments:
Post a Comment