Кросс-валидация (Analysis Services — интеллектуальный анализ данных)

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

  • Проверка надежности конкретной модели майнинга.

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

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

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

Обзор процесса перекрестной проверки

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

  • Вы выбираете целевую структуру данных для анализа.

  • Вы указываете модели, которые требуется протестировать. Этот шаг является необязательным; Можно также протестировать структуру моделей данных.

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

    • Прогнозируемый атрибут, прогнозируемое значение и порог точности.

    • Количество частей, на которые следует разделять данные структуры или модели.

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

  • Служба Analysis Services возвращает набор метрик точности для каждой части в каждой модели или для набора данных в целом.

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

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

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

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

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

Пример на схеме иллюстрирует использование данных, если указаны три слоя.

Как перекрестная проверка сегментирует данные

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

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

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

Замечание

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

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

Пороговое значение состояния позволяет задать индикатор точности для прогнозов. В каждом случае модель вычисляет вероятность прогнозирования, то есть вероятность правильности прогнозируемого состояния. Если вероятность прогнозирования превышает полосу точности, прогноз считается правильным; Если нет, прогноз считается неверным. Вы управляете этим значением, задав пороговое значение состояния в диапазоне от 0.0 до 1.0, где числа ближе к 1 указывают на сильный уровень достоверности прогнозов, а числа ближе к 0 указывают на то, что прогноз менее вероятно, будет верным. Значение по умолчанию для порогового значения состояния равно NULL, что означает, что прогнозируемое состояние с наибольшей вероятностью считается целевым значением.

Следует учитывать, что параметр порогового значения состояния влияет на меры точности модели. Например, предположим, что у вас есть три модели, которые требуется протестировать. Все основаны на одной структуре анализа данных и все прогнозируют столбец [Покупатель велосипедов]. Кроме того, вы хотите предсказать одно значение 1, то есть "да, будет покупать". Три модели возвращают прогнозы с прогнозируемыми вероятностями 0,05, 0,15 и 0,8. Если для порогового значения состояния задано значение 0,10, то два прогноза считаются правильными. Если для порогового значения состояния задано значение 0,5, то только одна модель считается правильной. Если используется значение по умолчанию, значение NULL, наиболее вероятный прогноз считается правильным. В этом случае все три прогноза будут считаться правильными.

Замечание

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

Выбор моделей и столбцов для проверки

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

Чтобы выбрать прогнозируемый атрибут, щелкните "Целевой атрибут " и выберите столбец из списка. Если целевой атрибут является вложенным столбцом или столбцом в вложенной таблице, необходимо ввести имя вложенного столбца в формате <Имя вложенной таблицы>(ключ).<Вложенный столбец>. Если единственным столбцом, используемым из вложенной таблицы, является ключевой столбец, можно использовать <имя> вложенной таблицы(ключ).

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

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

При использовании перекрестной проверки с моделями кластеризации нет прогнозируемого столбца; вместо этого вы выбираете #Cluster из списка в поле Целевой атрибут. Выбрав этот параметр, другие параметры, которые не относятся к моделям кластеризации, например целевому состоянию, отключены. Затем службы Analysis Services протестируют все модели кластеризации, связанные со структурой интеллектуального анализа данных.

Инструменты для перекрестной проверки

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

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

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

Перекрестную проверку можно выполнить на вкладке Перекрестная проверка в области диаграммы точности анализа данных в SQL Server Management Studio или SQL Server Development Studio.

Пример создания отчета перекрестной проверки с помощью пользовательского интерфейса см. в статье "Создание отчета о перекрестной проверке".

Перекрестная проверка хранимых процедур

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

Хранимые процедуры группируются по типу модели анализа данных. Один набор хранимых процедур работает только с моделями кластеризации. Другой набор хранимых процедур работает с другими моделями анализа данных.

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

Данные секционирования и создание метрик для секций

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

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

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

Определение данных тестирования

При выполнении хранимых процедур перекрестной проверки, которые вычисляют точность (SystemGetAccuracyResults или SystemGetClusterAccuracyResults), можно указать источник данных, используемых для тестирования во время перекрестной проверки. Этот параметр недоступен в пользовательском интерфейсе.

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

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

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

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

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

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

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

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

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

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

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

Перекрестная проверка формул

Перечисляет все меры по типу теста. В целом описывается, как можно интерпретировать меры.

Меры в отчете о перекрестной проверке

Описывает формулы для вычисления каждой меры и перечисляет тип атрибута, к которому можно применить каждую меру.

Ограничения на перекрестную проверку

Если вы выполняете перекрестную проверку с помощью отчета о перекрестной проверке в SQL Server Development Studio, существуют некоторые ограничения на модели, которые можно протестировать, и параметры, которые можно задать.

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

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

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

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

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

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

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

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

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

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

Темы Ссылки.
Описывает настройку параметров перекрестной проверки в SQL Server Development Studio. Вкладка перекрестной проверки (вид диаграммы точности анализа данных)
Описание метрик, предоставляемых перекрестной проверкой Перекрестная проверка формул
Объясняет формат отчета перекрестной проверки и определяет статистические меры, предоставляемые для каждого типа модели. Меры в отчете о перекрестной проверке
Перечисляет хранимые процедуры для вычислений статистики перекрестной проверки. Хранимые процедуры анализа данных (Analysis Services — интеллектуальный анализ данных)
Описывает создание тестового набора данных для структур интеллектуального анализа и связанных моделей. Обучающие и тестирующие наборы данных
Примеры других типов диаграмм точности. Матрица классификации (Analysis Services — анализ данных)

Диаграмма эффективности (службы Analysis Services — анализ данных)

Диаграмма доходности (Службы анализа - интеллектуальный анализ данных)

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

См. также

Тестирование и проверка (интеллектуальный анализ данных)