Технический справочник по алгоритму взаимосвязей (Майкрософт)

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

Алгоритм правил ассоциаций Майкрософт — это простая реализация известного алгоритма Apriori.

Для анализа связей можно использовать как алгоритм дерева принятия решений Майкрософт, так и алгоритм правил ассоциаций Майкрософт, но правила, найденные каждым алгоритмом, могут отличаться. В модели дерева принятия решений разбиение на узлы, ведущие к определенным правилам, проводится в соответствии с полученной информацией. В модели взаимосвязей правила основаны на достоверности. Поэтому в модели взаимосвязей сильное правило, или правило с высокой достоверностью, не обязательно будет интересным, поскольку оно может не предоставлять никакой новой информации.

Реализация алгоритма взаимосвязей (Майкрософт)

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

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

Затем алгоритм вычисляет для каждого набора элементов рейтинг, выражающий мощность несущего множества и достоверность. На основе этих рейтингов можно сортировать наборы элементов и выводить интересующие правила.

Модели взаимосвязей также могут создаваться для числовых атрибутов. Если атрибуты непрерывные, числа могут быть дискретизированы или сгруппированы в сегменты. Затем дискретизированные значения можно обрабатывать как логические величины или как пары атрибут-значение.

Несущее множество, вероятность и важность

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

Повторяемый набор элементов обозначает группу элементов, сочетание которых также имеет мощность несущего множества выше порога, заданного параметром MINIMUM_SUPPORT. Например, для набора элементов {A,B,C} и параметра MINIMUM_SUPPORT, равного 10, каждый из элементов A, B и C включается в модель, если он встречается не менее 10 раз и если их сочетание {A,B,C} также встречается не менее 10 раз.

Примечание. Количеством наборов элементов в модели интеллектуального анализа данных можно управлять, задав ограничение длины набора элементов. Длина означает количество элементов в наборе.

По умолчанию несущее множество любого элемента или набора элементов представляет собой количество вариантов, содержащих этот элемент или элементы. Однако значение MINIMUM_SUPPORT можно выразить в виде процентов от общего числа вариантов в наборе данных, указав число как десятичное значение меньше 1. Например, если значение параметра MINIMUM_SUPPORT равно 0,03, то это означает, что для включения в модель как минимум 3 % от общего числа вариантов в наборе данных должны содержать этот элемент или набор элементов. Эксперименты с моделью помогут понять, что лучше использовать — количество элементов или процентный показатель.

В противоположность предыдущему показателю, пороговое значение для правил выражается не количеством вариантов и не в процентах, а в виде вероятности. Иногда это значение называют достоверностью. Допустим, набор элементов {A,B,C} встречается в 50 вариантах. Набор {A,B,D} также встречается в 50 вариантах. И набор {A,B} тоже встречается в 50 вариантах. Очевидно, что набор {A,B} не является сильным прогнозом для C. Таким образом, чтобы взвесить определенные результаты по всем известным результатам, SQL Server Analysis Services вычисляет вероятность отдельного правила (например, If {A,B} Then {C}), разделяя поддержку набора элементов {A,B,C} на поддержку всех связанных наборов элементов.

Количество правил, формируемых моделью, можно ограничить, задав значение параметра MINIMUM_PROBABILITY.

Для каждого создаваемого правила SQL Server Analysis Services выводит оценку, указывающую его важность, которая также называется lift. Точность предсказаний и важность для наборов элементов и правил вычисляется по-разному.

Важность набора элементов вычисляется как вероятность данного набора элементов, деленная на суммарную вероятность отдельных элементов набора. Например, если набор элементов содержит {A,B}, SQL Server Analysis Services сначала подсчитывает все варианты, содержащие это сочетание A и B, и делит их на общее количество вариантов, а затем нормализует вероятность.

Важность правила вычисляется как логарифм правдоподобия правого аргумента правила при условии левого аргумента правила. Например, в правиле If {A} Then {B}SQL Server Analysis Services вычисляет соотношение случаев с A и B над случаями с B, но без A, а затем нормализует это соотношение с помощью логарифмической шкалы.

Выбор компонентов

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

  • Чтобы отфильтровать элементы и события, которые встречаются слишком часто, а потому неинтересны, уменьшите значение MAXIMUM_SUPPORT. Тогда слишком часто встречающиеся наборы элементов будут исключены из модели.

  • Чтобы отсеять слишком редкие элементы и наборы элементов, нужно увеличить значение MINIMUM_SUPPORT.

  • Чтобы отфильтровать правила, нужно увеличить значение MINIMUM_PROBABILITY.

Настройка алгоритма правил взаимосвязей (Майкрософт)

Алгоритм правил ассоциаций (Майкрософт) поддерживает несколько параметров, влияющих на поведение, производительность и точность результирующей модели интеллектуального анализа данных.

Задание параметров алгоритма

Параметры модели интеллектуального анализа данных можно изменить в любое время с помощью Designer интеллектуального анализа данных в SQL Server Data Tools. Вы также можете изменить параметры программным способом с помощью AlgorithmParameters коллекции в AMO или с помощью элемента MiningModels (ASSL) в XMLA. В следующей таблице содержатся описания всех параметров.

Примечание

Изменить параметры в существующей модели с помощью инструкции расширений интеллектуального анализа данных нельзя; необходимо указать параметры в dmx CREATE MODEL или ALTER STRUCTURE... ДОБАВЛЕНИЕ МОДЕЛИ при создании модели.

MAXIMUM_ITEMSET_COUNT
Указывает максимальное количество создаваемых наборов элементов. Если количество не указано, используется значение по умолчанию.

Значение по умолчанию — 200 000.

Примечание

Наборы элементов ранжируются по мощности несущего множества. Среди наборов элементов с одинаковой поддержкой устанавливается произвольный порядок.

MAXIMUM_ITEMSET_SIZE
Указывает максимальное количество элементов, допустимых в наборе элементов. Задание этого значения равным 0 указывает, что размер набора элементов не ограничен.

По умолчанию используется значение 3.

Примечание

Снижение этого значения может привести к сокращению времени создания модели, поскольку обработка модели прекращается, когда достигнуто предельное значение.

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

Если это значение меньше 1, то оно представляет процент от общего количества вариантов. Значения больше 1 представляют абсолютное количество вариантов, в которых может содержаться набор элементов.

Значение по умолчанию — 1.

MINIMUM_ITEMSET_SIZE
Указывает минимальное количество элементов, допустимых в наборе элементов. При увеличении этого параметра в итоговой модели может оказаться меньше наборов элементов. Это полезно, например, если нужно пропускать одноэлементный набор элементов.

Значение по умолчанию — 1.

Примечание

Вы не можете сократить время обработки модели путем увеличения минимального значения, так как SQL Server Analysis Services должны вычислять вероятности для отдельных элементов в любом случае в рамках обработки. Однако если увеличить это значение, то можно отсеять наборы элементов меньшего размера.

MINIMUM_PROBABILITY
Указывает минимальную вероятность того, что правило имеет значение true.

Например, задание этого значения равным 0,5 указывает, что правила с вероятностью меньше 50% не формируются.

Значение по умолчанию — 0,4.

MINIMUM_SUPPORT
Указывает минимальное количество вариантов, которые должны содержать набор элементов, прежде чем алгоритм создаст правило.

Значение меньше 1 указывает, что минимальное количество вариантов вычисляется как процент от общего количества вариантов.

Целое значение больше 1 задает минимальное количество вариантов как абсолютное количество вариантов, которые должны содержать набор элементов. Алгоритм может увеличить значение этого параметра автоматически, если объем памяти ограничен.

Значение по умолчанию — 0,03. Это значит, что набор элементов, встречающийся менее чем в 3% вариантов, не будет включен в модель.

OPTIMIZED_PREDICTION_COUNT
Определяет количество элементов, кэшируемых для оптимизации прогноза.

Значение по умолчанию — 0. Если используется значение по умолчанию, алгоритм выполнит столько прогнозов, сколько указано в запросе.

Если задано ненулевое значение для параметра OPTIMIZED_PREDICTION_COUNT , то прогнозирующие запросы могут возвращать не более указанного количества элементов, даже если были запрошены дополнительные прогнозы. Однако задание этого значения может улучшить производительность прогнозирования.

Например, если задано значение 3, то алгоритм кэширует только 3 элемента для прогноза. Нельзя просмотреть дополнительные прогнозы, которые могли бы быть так же вероятны, как и возвращенные 3 элемента.

Флаги моделирования

Следующие флаги моделирования поддерживаются для использования с алгоритмом правил ассоциаций Майкрософт.

NOT NULL
Указывает, что столбец не может принимать значение NULL. Если во время обучения модели SQL Server Analysis Services обнаружит значение NULL, возникнет ошибка.

Применяется к столбцу структуры интеллектуального анализа данных.

MODEL_EXISTENCE_ONLY
Столбец будет обрабатываться так, как будто у него два возможных состояния: Missing и Existing. NULL означает отсутствие значения.

Применяется к столбцу модели интеллектуального анализа данных.

Требования

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

Входные и прогнозируемые столбцы

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

Столбец Типы содержимого
Входной атрибут Cyclical, Discrete, Discretized, Key, Table и Ordered
Прогнозируемый атрибут Cyclical, Discrete, Discretized, Table, Ordered

Примечание

Типы содержимого Cyclical и Ordered поддерживаются, но алгоритм обрабатывает их как дискретные величины и не производит их особой обработки.

См. также:

Алгоритм взаимосвязей (Майкрософт)
Примеры запросов моделей взаимосвязей
Содержимое моделей интеллектуального анализа данных для моделей взаимосвязей (службы Analysis Services — интеллектуальный анализ данных)