Ключевые концепции, которые следует помнить при сравнении моделей

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

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

Каковы этапы разработки, проверки и тестирования модели и почему они необходимы?

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

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

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

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

Как ломается весь этот процесс?

Этот процесс разбивается на следующие семь шагов.

  • Создание наборов данных для разработки, проверки и тестирования: изначально у вас есть один большой набор данных. Как обсуждалось в предыдущем разделе, вам необходимо разбить его на три отдельных набора данных, каждый из которых будет использоваться только для одной фазы проекта. При создании каждого набора данных убедитесь, что они содержат смесь точек данных с максимальными / минимальными значениями и в середине диапазона для каждой переменной. Это гарантирует, что модель может и должна быть точной во всех диапазонах спектра. Также убедитесь, что большая часть данных содержится в наборе обучающих данных. Модель может быть настолько точной, насколько точен набор данных, использованный для ее создания, и большее количество данных дает ей больше шансов.
  • Используйте набор обучающих данных для разработки модели: введите набор данных в сценарий разработки модели и используйте его для разработки модели по вашему выбору. Существует несколько различных моделей, которые вы можете разработать в зависимости от доступных источников данных и вопросов, на которые вам нужно ответить. Более подробную информацию о типах моделей можно найти в Науке о данных с нуля. На этом этапе вы можете создать несколько разных моделей. Это могут быть модели разной структуры или несколько регрессионных моделей разного порядка. Создайте любую модель, которая, по вашему мнению, может хорошо работать.
  • Вычислить статистические значения, определяющие эффективность разработки модели. После разработки моделей вам необходимо сравнить их с данными обучения, которые использовались для их создания. Модели с более высокой производительностью будут соответствовать данным лучше, чем модели с более низкой производительностью. Для этого вам необходимо рассчитать статистические значения, предназначенные для этой цели. Например, распространенным способом проверки производительности регрессионной модели является вычисление значения r². Определите модели, которые лучше всего работают в соответствии с этими статистическими расчетами, сравнивая модель с набором обучающих данных.
  • Рассчитайте результаты модели по точкам данных в наборе данных проверки: на этом этапе вы используете входные данные в наборе данных проверки, чтобы управлять моделью, генерируя прогнозы для этих точек данных. После завершения у вас есть как реальные значения (из набора данных), так и прогнозируемые значения (из модели). Это позволяет сравнивать производительность различных моделей с данными в наборе данных проверки.
  • Вычислить статистические значения, сравнивая результаты модели с данными проверки. Теперь, когда у вас есть значение данных и прогноз модели для каждого экземпляра в наборе данных проверки, вы можете рассчитать те же статистические значения, что и перед сравнением моделирование прогнозов на набор данных проверки. Это ключевая часть процесса. Первые статистические расчеты показали, насколько хорошо модель соответствует набору данных, которому она была вынуждена соответствовать. В этом случае вы гарантируете, что модель способна сопоставить отдельный набор данных, который не повлиял на разработку модели. Завершите выбранные статистические расчеты для каждой модели, а затем выберите модель с наивысшими характеристиками.
  • Рассчитайте результаты модели по точкам данных в наборе данных тестирования: используйте входные данные из набора данных тестирования для управления моделью, генерируя прогнозируемые выходные данные модели в этих точках. Выполняйте эту задачу только с использованием самой производительной модели из этапа проверки. Как только это будет завершено, у вас будут как прогнозируемые модели, так и реальные значения для выходных данных на каждом из этих входов.
  • Вычислить статистические значения, сравнивая результаты модели с данными тестирования. В последний раз выполните выбранные вами статистические вычисления, сравнивая прогнозы модели с набором данных. В этом случае у вас только одна модель, поэтому вы не ищете наиболее подходящую. Вместо этого вы проверяете, соответствует ли ваша модель набору тестовых данных достаточно, чтобы быть удовлетворительной.

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

Завершение

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

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