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

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

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

  • Проверка нескольких моделей в одной инструкции.

  • Построение нескольких моделей и определение лучшей из них на основе статистики.

В этом разделе описывается использование функций перекрестной проверки, реализованных в SQL Server 2008, и интерпретация результатов перекрестной проверки для определенной модели или набора данных. Перекрестную проверку можно выполнять как набор хранимых процедур. Также перекрестную проверку можно использовать из конструктора интеллектуального анализа данных в среде Business Intelligence Development Studio.

Общие сведения о процессе перекрестной проверки

Перекрестная проверка состоит из двух фаз: обучение и формирование результатов. Эти фазы включают следующие шаги.

  • Выбор структуры интеллектуального анализа данных.

  • Указание моделей, которые необходимо проверить.

  • Указание числа сверток, в которые будут секционироваться данные структуры.

  • Службы Analysis Services создают и обучают столько моделей, сколько существует сверток.

  • Чтобы сформировать результаты, необходимо указать параметры для проверки обученных моделей.

  • Указание источника проверочных данных (эта функция доступна только при использовании хранимых процедур).

  • Указание прогнозируемого атрибута, прогнозируемого значения и порогового значения точности.

  • Затем службы Analysis Services возвращают набор показателей точности для каждой свертки в каждой модели. Также можно возвращать показатели точности для всего набора данных.

Использование перекрестной проверки в конструкторе интеллектуального анализа данных

Если перекрестная проверка выполняется с помощью вкладки Перекрестная проверка представления «Диаграмма точности интеллектуального анализа данных» среды Business Intelligence Development Studio, параметры результатов обучения и точности можно настраивать в одной форме. Это облегчает настройку и просмотр результатов. Можно измерить точность всех моделей интеллектуального анализа данных, связанных с одной структурой интеллектуального анализа данных, а затем немедленно увидеть результаты в виде HTML-отчета.

Дополнительные сведения о формате отчета и о показателях точности, предоставляемых перекрестной проверкой, см. в разделе Отчет перекрестной проверки (службы Analysis Services — интеллектуальный анализ данных).

Сведения о настройке параметров перекрестной проверки в среде Business Intelligence Development Studio см. в разделе Вкладка «Перекрестная проверка» (просмотр диаграммы точности интеллектуального анализа данных).

Выполнение хранимых процедур перекрестной проверки

Для опытных пользователей перекрестная проверка также доступна в виде четырех системных хранимых процедур. Чтобы запустить эти хранимые процедуры, необходимо установить соединение с экземпляром служб Analysis Services 2008 из среды SQL Server Management Studio или из любого другого приложения с управляемым кодом.

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

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

Перекрестная проверка не может быть использована на любой модели, в которой содержится столбец KEY TIME или столбец KEY SEQUENCE.

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

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

Секционировать данные и сформировать показатели для секций

SystemGetCrossValidationResults (службы Analysis Services — интеллектуальный анализ данных)

Хранимая процедура SystemGetClusterCrossValidationResults (службы Analysis Services — интеллектуальный анализ данных)

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

SystemGetAccuracyResults (службы Analysis Services — интеллектуальный анализ данных)

Метод SystemGetClusterAccuracyResults (службы Analysis Services — интеллектуальный анализ данных)

Настройка перекрестной проверки

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

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

Установка числа секций

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

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

Сегментирование данных в ходе перекрестной проверки

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

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

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

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

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

Определение проверочных данных

При вычислении точности с помощью хранимых процедур SystemGetAccuracyResults (службы Analysis Services — интеллектуальный анализ данных) и Метод SystemGetClusterAccuracyResults (службы Analysis Services — интеллектуальный анализ данных) для источника данных, используемого при перекрестной проверке, можно задать следующее сочетание параметров.

  • Использовать только обучающие данные.

  • Включить существующий набор проверочных данных.

  • Использовать только набор проверочных данных.

  • Применить существующие фильтры к каждой модели.

  • Любое сочетание обучающего набора, проверочного набора и фильтров моделей.

Состав проверочных данных управляется с помощью значения параметра DataSet.

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

Перекрестная проверка моделей интеллектуального анализа данных с примененными фильтрами

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

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

Задание порогового значения точности

Порог состояния позволяет устанавливать порог точности для прогнозов. Для каждого варианта модель вычисляет вероятность (называемую вероятность прогнозирования) того, что предсказанное состояние будет верным. Если вероятность прогнозирования превышает порог точности, то прогноз считается верным; в противном случае прогноз считается неверным. Это значение управляется путем установки для параметра Порог состояния значения, находящегося в диапазоне между 0,0 и 1,0. Числа близкие к 1 означают высокий уровень доверия прогнозу, числа близкие к 0 имеют меньшую вероятность оказаться верными. Значением по умолчанию для порога состояния является NULL. Это означает, что предсказанное состояние, обладающее наибольшей вероятностью, считается целевым значением.

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

Установить значение 0,0 можно, но бессмысленно, поскольку каждый прогноз будет считаться верным (даже прогнозы с вероятностью 0). Будьте осторожны, не установите случайно для параметра Порог состояния значение 0,0.

Например, существует три модели, предсказывающие столбец [Bike Buyer], а значением, которое необходимо прогнозировать, является 1 (то есть «Да, я покупаю»). Эти три модели возвращают прогнозы с вероятностями 0,05, 0,15 и 0,8. Если для порога состояния установить значение 0,10, то два из этих прогнозов будут считаться верными. Если для порога состояния установить значение 0.5, будет считаться, что только одна модель вернула правильный прогноз. Если было использовано значение по умолчанию — NULL, то самый вероятный прогноз будет считаться верным. В этом случае все три прогноза считаются верными.

Показатели, используемые при перекрестной проверке

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

Показатель

Объект применения

Реализация

Классификация: истинный положительный результат, ложный положительный результат, истинный отрицательный результат, ложный отрицательный результат

Дискретный атрибут, значение указано.

Число строк или значений в секции, в которой вероятность прогнозирования выше порога состояния, а прогнозируемое состояние совпадает с целевым.

Классификация: совпадение или неудача

Дискретный атрибут, цель не указана.

Число строк или значений в секции, в которой прогнозируемое состояние совпадает с целевым, а значение вероятности прогнозирования больше 0.

Точность прогноза

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

Средняя логарифмическая вероятность для всех строк со значениями целевого атрибута, где логарифмическая вероятность для каждого варианта вычисляется как Log(ActualProbability/MarginalProbability). Для вычисления среднего значения сумма значений логарифмической вероятности делится на число строк во входном наборе данных, за исключением строк, в которых отсутствуют значения целевого атрибута. Точность прогноза может быть отрицательным или положительным значением. Положительное значение указывает на то, что модель эффективна и превосходит случайное предположение.

Логарифмическая оценка

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

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

Правдоподобие варианта

Кластер

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

Средняя абсолютная погрешность

Непрерывный атрибут

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

Корень среднеквадратичной погрешности

Непрерывный атрибут

Среднеквадратичное отклонение для секции

Среднеквадратичное отклонение

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

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

Среднеквадратичное отклонение

Дискретный атрибут, цель не указана.

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