Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Агрегации ›Агрегации-каналы

Агрегация точек изменения

Данная функциональность находится на стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции на стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.

Агрегация-потомок, которая обнаруживает пики, спады и точки изменения в метрике. Учитывая распределение значений, предоставляемых агрегацией с множеством корзин, эта агрегация указывает на корзину любого пика или спада и/или корзину, в которой происходит наибольшее изменение распределения значений, если оно статистически значимо.

Рекомендуется использовать агрегацию точек изменения для обнаружения изменений в данных, основанных на времени, однако вы можете использовать любые метрики для создания корзин.

Параметры

buckets_path
(Обязательно, строка) Путь к корзинам, содержащим один набор значений, в которых необходимо обнаружить точку изменения. Должно быть не менее 22 значений в корзинах. Менее 1000 предпочтительно. Синтаксис см. в buckets_path Синтаксис.

Синтаксис

Агрегация change_point в изоляции выглядит так:

{
  "change_point": {
    "buckets_path": "date_histogram>_count" 
  }
}

Корзины, содержащие значения для проверки.

Тело ответа

bucket

(Необязательно, объект) Значения корзины, указывающие обнаруженную точку изменения. Не возвращается, если точка изменения не найдена. Также возвращаются все агрегации в корзине.

Свойства корзины
key
(значение) Ключ корзины, которая соответствует. Может быть строкой или числом.
doc_count
(число) Количество документов в корзине.
type

(объект) Тип обнаруженной точки изменения и её соответствующие значения. Возможные типы:

  • dip: в этой точке изменения происходит значительное снижение
  • distribution_change: общее распределение значений существенно изменилось
  • non_stationary: точки изменения нет, но значения не из стационарного распределения
  • spike: в этой точке происходит значительный скачок
  • stationary: точка изменения не найдена
  • step_change: изменение указывает на статистически значимое повышение или понижение распределения значений
  • trend_change: в этой точке происходит общее изменение тенденции

Пример

В следующем примере используется набор данных журналов образцов Kibana.

GET kibana_sample_data_logs/_search
{
  "aggs": {
    "date":{ 
      "date_histogram": {
        "field": "@timestamp",
        "fixed_interval": "1d"
      },
      "aggs": {
        "avg": { 
          "avg": {
            "field": "bytes"
          }
        }
      }
    },
    "change_points_avg": { 
      "change_point": {
        "buckets_path": "date>avg" 
      }
    }
  }
}

Агрегация гистограммы дат, которая создает корзины с интервалом в один день.

Вспомогательная агрегация агрегации date, которая вычисляет среднее значение поля bytes в каждой корзине.

Настройка объекта агрегации обнаружения точек изменения.

Путь значений агрегации для обнаружения точек изменения. В данном случае входом агрегации точек изменения является значение avg, которое является вспомогательной агрегацией date.

Запрос возвращает ответ, аналогичный следующему:

    "change_points_avg" : {
      "bucket" : {
        "key" : "2023-04-29T00:00:00.000Z", 
        "doc_count" : 329, 
        "avg" : { 
          "value" : 4737.209726443769
        }
      },
      "type" : { 
        "dip" : {
          "p_value" : 3.8999455212466465e-10, 
          "change_point" : 41 
        }
      }
    }

Ключ корзины, который является точкой изменения.

Количество документов в этой корзине.

Агрегированные значения в корзине.

Тип обнаруженного изменения.

p_value указывает, насколько экстремальным является изменение; более низкие значения указывают на большее изменение.

Конкретная корзина, в которой происходит изменение (индексация начинается с 0).

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-aggregations-change-point-aggregation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API