Анализ данных и прогнозирование. Поиск последовательностей

Печать (Ctrl+P)

Общая информация о механизме Анализа данных и прогнозирования
общего объекта конфигурации АнализДанных можно посмотреть здесь

Анализ = Новый АнализДанных; 

В механизме анализа данных и прогнозирования реализовано несколько типов анализа данных:

В данной статье рассмотрим пример типа анализа
«Поиск последовательностей»

  Анализ.ТипАнализа = Тип("АнализДанныхПоискПоследовательностей");

Данный тип анализа позволяет выявить цепочки возникающих событий (шаблоны последовательностей). Он может использоваться тогда, когда одним из важных анализируемых показателей является последовательность наступления событий во времени. Например, можно выявить последовательность товаров, которые закупаются друг за другом в течение какого-либо определенного промежутка времени и т. п.

Схематично процесс проведения анализа Поиск последовательностей можно представить следующим образом:

хема выполнения анализа «Поиск последовательностей»

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

  • НеИспользуемая ‑ игнорируются анализом;
  • Последовательность ‑ данные из этой колонки используются для анализа как объект события последовательности. По значению данной колонки анализ и ассоциирует данные с одной цепочкой событий;
  • Элемент ‑ данные из этой колонки используются как элементы последовательности;
  • Время ‑ именно по данной колонке определяется время наступления события. Наличие данной колонки обязательно при проведении данного типа анализа.

Кроме настройки типов колонок, на результат проводимого анализа влияют следующие параметры анализа:

  • МинимальныйПроцентСлучаев ‑ минимальный процент последовательностей, в которых наблюдается найденный шаблон последовательности;
  • МинимальныйИнтервал ‑ признак установки минимального интервала последовательности (должна быть установлена единица измерения интервала, кратность);
  • МаксимальныйИнтервал ‑ признак установки максимального интервала последовательности (должна быть установлена единица измерения интервала, кратность);
  • ИнтервалЭквивалентностиВремени ‑ признак установки интервала эквивалентности времени (должна быть установлена единица интервала эквивалентности времени, ее кратность);
  • МинимальнаяДлина ‑ минимальная длина искомых последовательностей;
  • ПоискПоИерархии ‑ признак осуществления поиска по иерархии (распространяется на колонки с типом Элемент).

Ряд свойств оперирует таким понятием, как ТипЕдиницыИнтервалаВремениАнализаДанных. Данное системное перечисление содержит следующие значения: Секунда, Минута, Час, День, Неделя, Декада, Месяц, Квартал, Полугодие и Год.

Основным результатом анализа являются найденные шаблоны последовательностей. Эти шаблоны содержат следующую информацию:

  • состав шаблона последовательности;
  • количество случаев, в которых наблюдалась данная последовательность;
  • максимальные интервалы между событиями (в случае, если событий 2, то интервал один);
  • минимальные интервалы между событиями (в случае, если событий 2, то интервал один);
  • процент случаев, когда данная последовательность выполнилась;
  • средние интервалы между событиями (в случае, если событий 2, то интервал один).

Для проведения анализа может использоваться фрагмент кода, аналогичный приведенному ниже:

&НаКлиенте
Процедура ПоискПоследовательностей(Команда)
езультат = АнализПоискПоследовательностей();
КонецПроцедуры
&НаСервереБезКонтекста
Функция АнализПоискПоследовательностей()
Анализ = Новый АнализДанных;
Анализ.ТипАнализа = Тип("АнализДанныхПоискПоследовательностей"); Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|Продажи.Контрагент,
|Продажи.Номенклатура,
|Продажи.Период
|ИЗ
|РегистрНакопления.Продажи КАК Продажи";
Анализ.ИсточникДанных = Запрос.Выполнить(); Анализ.НастройкаКолонок.Период.ТипКолонки = ТипКолонкиАнализаДанныхПоискПоследовательностей.Время;
РезультатАнализа = Анализ.Выполнить();
Построитель = Новый ПостроительОтчетаАнализаДанных(); Построитель.Макет = Неопределено;
Построитель.ТипАнализа = Тип("АнализДанныхПоискПоследовательностей"); ТабДок = Новый ТабличныйДокумент;
Построитель.Вывести(РезультатАнализа, ТабДок);
Возврат ТабДок;
КонецФункции

Поле Период определяется как Время непосредственно из кода (самостоятельно анализом не определяется).

Параметры анализа, установленные по умолчанию:

Параметры анализа

После проведения анализа получены следующие общие данные:

Общие данные анализа

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

Найдены две последовательности:

Найденные последовательности

Первая последовательность встречается в двух случаях из пяти. Исходя из этого, процент случаев равен 40 %. Так как глубина последовательности равна 2, существует по одному значению каждого из приводимых интервалов.

Previous Article
Next Article

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.