Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
NRQL predictions en New Relic se emplean los patrones históricos de sus seriales de tiempo para predecir o pronosticar tendencias futuras, proporcionando información valiosa sobre cómo la métrica podría comportar en el futuro. Este enfoque proactivo lo ayuda a visualizar tendencias y anticipar problemas potenciales, lo que permite realizar intervenciones oportunas para mantener un rendimiento óptimo del sistema. Las predicciones para su señal se generan ajustando un modelo de aprendizaje automático a sus datos históricos y empleando ese modelo para predecir el futuro. Esta función actualmente admite predicciones tanto para seriales de tiempo estacionales (datos que tienen un patrón recurrente y repetible en una cadencia establecido) como para seriales de tiempo no estacionales. Las métricas que muestran una tendencia fuerte o un patrón estacional definido son las más adecuadas para las predicciones. Estas predicciones se emplean mejor cuando se agregan a un panel existente para brindar un indicador visual rápido de hacia dónde se dirigen sus métricas.
Predicciones realizadas empleando NRQL predictions (cláusula PREDICT ) para un serial de tiempo. En este ejemplo, se generan pronósticos para un día en el futuro, basados en la palabra clave BY . El modelo que produce estas predicciones se capacita con un total de 17 días de datos: 3 días desde la ventana de consulta más 2 semanas (14 días) desde la palabra clave USING . Tenga en cuenta que el gráfico no muestra todos los datos de entrenamiento.
Ejemplos de situaciones en las que quizás desee agregar predicciones a su gráfico o dashboard:
Su aplicación está produciendo más logs en las últimas horas y el espacio en disco se está agotando.
Su aplicación se está quedando constantemente sin memoria, lo que amenaza con bloquear todo el contenedor.
Es necesario proyectar los ingresos futuros basar en patrones estacionales y de tendencias observados.
Si bien NRQL predictions por sí mismos no identifican problemas potenciales, le brindan la información que necesita para evaluar tendencias y planear desafíos futuros. Para generar alertas cuando los valores previstos indican un problema inminente, puede emplear la función Predictive Alerts . Predictive Alerts trabaja junto con NRQL predictions para generar predicciones para su métrica y alertar cuando esos valores predichos pasan un umbral estático.
Precios
NRQL predictions es una característica avanzada del producto Calcular que se ofrece como complemento o como parte del modelo de precios de Calcular. Las CCU avanzadas se consumen cuando se ejecutan consultas NRQL para esta función.
Uso
NRQL predictions se puede generar de dos maneras: directamente en los gráficos que ya creó o escribiendo una consulta NRQL empleando la cláusula PREDICT .
Puede agregar NRQL predictions solo a gráficos que representen datos de seriales de tiempo, como gráficos de líneas o de áreas. Para agregar un NRQL prediction a un gráfico existente, realice los pasos siguientes:
Para agregar predicciones a un gráfico de líneas o áreas, selecciónelo desde Dashboards o ábralo desde Metrics and events.
Agregar predicciones
Para agregar una predicción a los gráficos en el panel, desde el Menú, seleccione Predict trend. La opción Predict trend no está disponible para los gráficos en paneles seleccionados, que son paneles generados por el sistema y no editables, diseñados para servicios específicos. Así que, desde el menú, seleccione View Query y agregue la cláusula PREDICT a la consulta.
En el Explorador de datos, la predicción aparece en el gráfico resaltada en un área gris con una línea discontinua que conecta los valores predichos, lo que representa el comportamiento predeterminadoNRQL predictions. Puede refinar la consulta ajustándola según sus requisitos y volver a ejecutarla para obtener las predicciones actualizadas.
Sugerencia
Cuando agrega predicciones a un gráfico de área, cambia a un gráfico de líneas que contiene las predicciones.
Agregar al dashboard
Para agregar un gráfico que contenga predicciones a un dashboard:
Haga clic en Add to dashboard.
Introduzca un nombre para el widget.
Seleccione un dashboard existente o cree uno nuevo.
La sintaxis NRQL incluye la cláusula PREDICT para simplificar el uso de NRQL predictions. Para obtener detalles de uso y ejemplos, consulte la sección de comportamiento predeterminado .
El uso de la cláusula predeterminada PREDICT proporciona los mejores resultados de predicción.
La cláusula PREDICT en una consulta viene con los siguientes comportamientos predeterminados que dependen de la duración de la ventana de consulta (especificada mediante las cláusulas SINCE y UNTIL ):
Default behavior
Estacionalidad
Detecta automáticamente si hay estacionalidad en los datos históricos. Si se detecta estacionalidad, la duración de la temporada identificada se emplea para generar un modelo estacional; de lo contrario, se emplea un modelo no estacional. Actualmente admitimos duraciones estacionales de horas, días y semanas. Para obtener más detalles sobre la estacionalidad, consulte la sección de algoritmos .
Hiperparámetros del algoritmo
Los hiperparámetros se optimizan y seleccionan automáticamente en función de los datos históricos.
Cantidad de datos históricos para entrenamiento
Emplea datos históricos de las últimas tres ventanas de consulta (la actual y las dos anteriores). Por ejemplo, si su ventana de consulta tiene una duración de una hora, se emplearán un total de tres horas para la capacitación. El gráfico muestra solo los datos de la ventana de consulta actual, no todos los datos de entrenamiento.
Si solo desea mostrar un periodo de tiempo determinado en la ventana de consulta pero emplear más datos para el entrenamiento, puede emplear la cláusulaUSING.
Si se especifica una estacionalidad distinta a la predeterminada, la cantidad de datos de entrenamiento empleados será diferente. Para más detalles consulte la sección de temporada .
Ventana de predicción
Predice un rango igual al 20% del lapso de tiempo total especificado en su ventana de consulta. Por ejemplo, si su ventana de consulta es de una hora, las predicciones serán para los próximos 12 minutos. Puede anular este valor predeterminado con la cláusulaBY.
Ejemplo de consulta y cuál es el resultado esperado cuando se emplea PREDICT :
Devuelve un gráfico de seriales de tiempo con una ventana de consulta predeterminada de una hora y predicciones para los próximos 12 minutos. Se emplean un total de tres horas de datos históricos para la capacitación (1 hora de la ventana de consulta y 2 horas de las 2 ventanas de consulta anteriores).
Ejemplo 1
Example 2:
FROMTransactionSELECTsum(currentWorkerCount) TIMESERIES SINCE 3 hours ago UNTIL 1hour ago PREDICT
Devuelve un gráfico de seriales de tiempo con una ventana de consulta de dos horas (basada en las cláusulas SINCE y UNTIL ) y predicciones para los próximos 24 minutos. Se emplean un total de seis horas de datos históricos para la capacitación (dos horas de la ventana de consulta y cuatro horas de las dos ventanas de consulta anteriores).
Ejemplo 2
Personalizar las predicciones con BY, USING y SLIDE BY
Puede personalizar las predicciones configurando manualmente la estacionalidad del modelo y agregando las palabras clave BY, USING y SLIDE BY .
Emplee la palabra clave BY para establecer a qué distancia en el tiempo desea que el modelo prediga. Por ejemplo, PREDICT BY 3 hours genera predicciones hasta tres horas en el futuro desde el último punto en el serial temporal. Cerciorar de que el lapso de tiempo sea integer unit . La cantidad máxima que puede predecir es 360 ventanas de tiempo (es decir, el tamaño de la ventana de su serial de tiempo multiplicado por 360).
Ejemplo de consulta con la palabra clave BY que generará predicciones para los próximos 30 minutos:
<>Ejemplo de predicciones realizadas con la palabra clave <InlineCode>BY</InlineCode>. El área en recuadro indica qué sección del gráfico se ve afectada por la palabra clave <InlineCode>BY</InlineCode>.</>
Emplee la palabra clave USING para especificar la cantidad de datos históricos que desea emplear para capacitar el modelo. La cantidad total de datos empleados es la suma de la duración de la ventana de consulta (especificada con las cláusulas SINCE y UNTIL ) y el valor especificado con la cláusula USING . Por ejemplo, PREDICT USING 1 day emplea la ventana de consulta más los datos del día anterior para capacitar el modelo. Cerciorar de que el lapso de tiempo sea de integer unit .
Puede emplear hasta 3660 puntos de datos para capacitar un modelo. Si excede este límite, recibirá un mensaje de error. Puedes determinar cuánto tiempo representa esto empleando la ventana de seriales de tiempo. Por ejemplo, con una ventana de tiempo de 1 minuto, puede emplear hasta 3660 minutos de datos de entrenamiento, lo que equivale a 61 horas o aproximadamente 2,5 días.
Ejemplo de consulta con la palabra clave USING con SINCE:
FROMTransactionSELECTsum(currentWorkerCount) SINCE 1 week ago TIMESERIES MAX PREDICT USING2 weeks
<>Ejemplo de predicciones realizadas con la palabra clave <InlineCode>USING</InlineCode>. La palabra clave <InlineCode>USING</InlineCode> afecta la cantidad de datos empleados para el entrenamiento que no se visualizan en el gráfico.
Emplee la palabra clave SLIDE BY para reducir el ruido en sus datos cuando su pronóstico muestra mucha variación en periodos cortos. Esta cláusula agrega los datos en ventanas de tiempo superpuestas con un intervalo de deslizamiento específico, suavizando los picos en el gráfico y facilitando la identificación de tendencias.
Ejemplo de consulta con la palabra clave SLIDE BY :
Actualmente, NRQL predictions admite el algoritmo Holt-Winters , también conocido como suavizado exponencial, para seriales de tiempo estacionales y no estacionales. Este es un algoritmo estándar y comúnmente empleado para pronósticos y predicciones de seriales de tiempo.
No estacional
Para los seriales de tiempo no estacionales, solo se modelan el nivel (valor promedio) y la tendencia (aumento o disminución promedio). Las predicciones no estacionales son lineales, por lo que se espera una línea plana con o sin tendencia.
Predicciones generadas empleando NRQL predictions para un serial de tiempo no estacional.
Estacional
Para los seriales de tiempo estacionales, se incluye el patrón estacional además del nivel y la tendencia. La estacionalidad representa un patrón repetible que ocurre periódicamente. Admitimos la detección automática de temporadas con duraciones horarias, diarias y semanales de forma predeterminada para el modelo Holt-Winters. Para detectar cada duración estacional, debe cerciorar de proporcionar suficientes datos a través de una combinación de la duración de la ventana de consulta (especificada mediante las cláusulas SINCE y UNTIL ) y la cláusula USING . A continuación se especifica la cantidad mínima de datos requerida para cada duración estacional. De forma predeterminada, cuando no se emplea ninguna cláusula USING , NRQL predictions empleará tres veces la ventana de consulta para generar predicciones.
Detectable seasonalities
Description
Minimum amount of required data
Cada hora
Cada timestamp dentro de la hora se comporta igual que en las horas anteriores. Por ejemplo, las 3:20 p. m. se comportará igual que las 2:20 p. m., la 1:20 p. m., etc.
2 horas
A diario
Cada hora se comporta igual que las horas del día anterior. Por ejemplo, las 3 p. m. de hoy se comportarán igual que las 3 p. m. de ayer.
2 días
Semanalmente
Cada día de la semana se comportará igual que en las semanas anteriores. Por ejemplo, el lunes de esta semana se comportará igual que el lunes de las semanas anteriores.
2 semanas
Puede especificar duraciones estacionales personalizadas empleando el parámetro seasonality .
Predicciones generadas empleando NRQL predictions para un serial temporal con estacionalidad semanal.
Actualmente admitimos predicciones empleando versiones estacionales y no estacionales de Holt-Winters. Para establecer una estacionalidad personalizada, emplee el parámetro holtwinters(seasonality: <value>) en la cláusula PREDICT .
Option
Description
<season length>
Especifica que se empleará un modelo estacional con la duración de temporada proporcionada para las predicciones. La duración de la temporada debe ser un integer unit de tiempo (es decir, 1 day o 3 hours) que represente la duración de un solo periodo estacional. Por ejemplo, un valor de 1 hour es equivalente a la estacionalidad horaria, 1 day a la diaria y 1 week a la semanal.
AUTO
Emplea detección automática de temporada. Analiza datos históricos en la ventana de entrenamiento para ajustar tanto a modelos estacionales como no estacionales. La duración de la temporada para el modelo estacional se elige en función de la estacionalidad más fuerte detectada en la ventana de entrenamiento. Luego de capacitar ambos modelos, se selecciona el que mejor se ajusta y se emplea para hacer predicciones.
NONE
Especifica que se empleará un modelo no estacional.
Importante
Si se especifica la duración de una temporada y se emplea la cláusula USING , la cantidad de datos empleados para el entrenamiento será igual a la ventana de consulta más la cantidad USING . Si no se especifica USING , se empleará el máximo de la longitud estacional y tres veces la ventana de consulta.
Ejemplo de consulta con estacionalidad especificada por el usuario:
Ejemplo de consulta que especifica una detección automática de temporada (este es el mismo comportamiento que el valor predeterminado de no emplear el parámetro holtwinters(...) ):
El ajuste del parámetro del modelo está destinado a usuarios avanzados que desean un control detallado del modelo y para recrear predicciones generadas con alertas predictivas.
Actualmente, Holt-Winters es el único algoritmo de predicción compatible y hay varios hiperparámetros que se pueden ajustar para afinar sus predicciones. Los hiperparámetros se pueden modificar agregando holtwinters(<hyperparameter>: <value>) luego de la cláusula PREDICT en su consulta. Se puede agregar cualquier combinación de los siguientes parámetros para modificar cómo se ajusta el modelo a los datos históricos:
Hyperparameter
Description
Allowed values
alpha
El factor de suavizado de nivel donde un valor mayor otorga más peso a los valores recientes.
[0, 1.0]
beta
El factor de suavizado de tendencia donde un valor mayor otorga más peso a los valores recientes.
[0, 1.0]
gamma
El factor de suavizado de temporada donde un valor mayor otorga más peso a los valores recientes. Este parámetro no es compatible con modelos no estacionales y la consulta devolverá un error si intenta especificar holtwinters(seasonality: NONE, gamma: <value>).
[0, 1.0]
phi
El parámetro de amortiguación de tendencia, donde un valor más pequeño indica una mayor amortiguación de la tendencia y una predicción de que se aplanará.
[0, 1.0]
Se recomienda emplear valores únicamente en el rango de ([0.98, 1.0])
Ejemplo de consulta con modificaciones de hiperparámetros:
Esta consulta establece la estacionalidad en detección automática y enfatiza los datos históricos ajustando el factor de suavizado de nivel. Predice una hora en el futuro y capacita el modelo empleando la longitud de la ventana de consulta junto con las dos horas anteriores de datos históricos. El gráfico muestra las predicciones personalizadas de la siguiente manera: