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

Алгоритм правил взаимосвязей (Майкрософт) представляет собой простую реализацию хорошо известного априорного алгоритма.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры модели интеллектуального анализа данных можно изменить в любой момент с помощью конструктора интеллектуального анализа данных в среде Business Intelligence Development Studio. Параметры можно также менять программно с помощью коллекции AlgorithmParameters объектов AMO или с помощью функции Элемент MiningModels (ASSL) в XML для аналитики. В следующей таблице содержатся описания всех параметров.

ПримечаниеПримечание

Изменить параметры существующей модели с помощью инструкций на языке расширений интеллектуального анализа данных нельзя. Нужно задать параметры в инструкциях DMX CREATE MODEL или ALTER STRUCTURE… ADD MODEL при создании модели.

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

    Значение по умолчанию равно 200000.

    ПримечаниеПримечание

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

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

    Значение по умолчанию равно 3.

    ПримечаниеПримечание

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

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

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

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

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

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

    ПримечаниеПримечание

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

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

    Например, задание этого значения равным 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. Если во время обучения модели службы Службы Analysis Services обнаружат значение NULL, возникнет ошибка.

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

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

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

Системные требования

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

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

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

Столбец

Типы содержимого

Входной атрибут

Cyclical, Discrete, Discretized, Key, Table и Ordered

Прогнозируемый атрибут

Cyclical, Discrete, Discretized, Table, Ordered

ПримечаниеПримечание

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