Отложенные данные и перекрестная проверка
Одна из самых больших проблем в прогнозной аналитике — понять, как обученная модель будет работать с данными, которые она никогда раньше не видела. Иными словами, насколько хорошо модель научилась находить истинные закономерности по сравнению с тем, насколько хорошо она запомнила данные для обучения. Отложенные данные и перекрестная проверка являются эффективными методами, позволяющими убедиться, что модель не просто запоминает данные, а действительно научилась находить общие закономерности.
При конфигурации эксперимента можно выбрать, будут ли данные для обучения и отложенные данные разделены случайным образом или с помощью специального метода для создания моделей с учетом времени.
Тестирование моделей на запоминание и обобщение
Спрашивать, насколько хорошо модель будет работать в реальных условиях, все равно, что спрашивать, запоминает ли модель или обобщает. Запоминание – это способность отлично помнить то, что происходило в прошлом. Хотя модель, которая запоминает, может иметь высокие показатели при первом обучении, точность прогнозирования значительно снизится при ее применении к новым данным. Вместо этого нужна модель, которая обобщает. Обобщение — это способность находить и применять общие закономерности. Научившись находить истинные общие закономерности в данных для обучения, обобщенная модель сможет создавать качественные прогнозы и на основе новых данных, которые она никогда раньше не видела.
Автоматически отложенные данные
Отложенные данные ― это данные, которые «скрываются» от модели во время ее обучения, а затем используются для оценки модели. Отложенные данные имитируют работу модели при прогнозировании в будущем, создавая метрики точности для данных, которые не использовались в обучении. Это как если бы мы создали и развернули модель и отслеживаем, как она создает прогнозы по сравнению с тем, что произошло на самом деле, — и при этом нам не нужно ждать, чтобы понаблюдать за этими прогнозами.
В Qlik AutoML существует два метода выбора отложенных данных: метод по умолчанию и метод на основе времени.
Метод по умолчанию для выбора отложенных данных
Если не включено обучение модели с учетом времени, то отложенные данные выбираются случайным образом перед началом обучения модели.
Метод на основе времени для выбора отложенных данных
При использовании метода на основе времени весь набор данных для обучения сначала сортируется по выбранному столбцу индекса даты. После сортировки отложенные данные отделяются от остальных данных для обучения. Эти данные содержат самые последние данные с учетом выбранного индекса.
Метод на основе времени используется для создания моделей с учетом времени. Активировать обучение с учетом времени можно в разделе Оптимизация модели на панели конфигурации эксперимента. Для получения дополнительной информации см. раздел Настройка экспериментов.
Перекрестная проверка
Перекрестная проверка ― это процесс, который проверяет, насколько хорошо модель машинного обучения может предсказывать будущие значения для данных, с которыми она еще не работала. При перекрестной проверке данные для обучения модели разбиваются на некоторое количество сегментов, называемых свертками. Во время каждой итерации обучения модель обучается на одной или нескольких свертках, при этом хотя бы одна из сверток всегда исключается из процесса обучения. После каждой итерации оценивается эффективность с использованием одной из сверток, которая не была использована в обучении.
Результатом перекрестной проверки является набор тестовых метрик, которые дают обоснованный прогноз того, насколько точно обученная модель будет прогнозировать на основе данных, которые она никогда раньше не видела.
В Qlik AutoML существует два метода перекрестной проверки: метод по умолчанию и метод на основе времени.
Перекрестная проверка по умолчанию
Если не настроено обучение с использованием перекрестной проверки на основе времени, Qlik AutoML использует метод перекрестной проверки по умолчанию. Метод перекрестной проверки по умолчанию подходит для моделей, в которых не используется измерение временного ряда, то есть не требуется, чтобы модель давала прогнозы с учетом конкретного столбца на основе времени в данных для обучения.
Метод перекрестной проверки по умолчанию заключается в том, чтобы случайным образом разбить набор данных на несколько одинаковых сегментов, называемых свертками. Для обучения алгоритма машинного обучения используются все свертки, кроме одной. Затем каждая свертка сопоставляется методом перекрестной проверки с моделью, обученной на всех остальных свертках. Это означает, что каждая обученная модель тестируется на сегменте данных, который она никогда раньше не видела. Процесс повторяется, при этом другая свертка скрывается во время обучения. Затем выполняется тестирование до тех пор, пока все свертки не будут использованы ровно один раз в качестве тестовых данных и обучены во время каждой следующей по порядку итерации.
Автоматическое определение отложенных данных и перекрестная проверка по умолчанию
По умолчанию во время обучения модели AutoML использует пятикратную перекрестную проверку (на основе пяти сверток), чтобы сымитировать работу модели. Затем модель тестируется на отдельных отложенных данных для обучения. При этом создаются метрики оценки, позволяющие оценить и сравнить, насколько хорошо работают различные алгоритмы.
Перед запуском обучения эксперимента все данные в наборе данных, целевые значения которых не являются значениями NULL, случайным образом перемешиваются. 20 процентов набора данных извлекаются как отложенные данные. Остальные 80 процентов набора данных используются для обучения модели с перекрестной проверкой.
При подготовке к перекрестной проверке набор данных случайным образом разбивается на пять частей (сверток). Затем модель обучают пять раз, каждый раз «скрывая» одну из пяти частей данных, чтобы проверить, как работает модель. В ходе перекрестной проверки создаются метрики обучения, которые представляют собой средние вычисленные значения.
После обучения модель применяется к отложенным данным. Поскольку модель не видит отложенные данные во время обучения, в отличие от данных перекрестной проверки, они идеально подходят, чтобы проверить эффективность обучения модели. На этапе окончательной оценки модели создаются метрики на основе отложенных данных.
Для получения дополнительной информации о метриках, используемых для анализа эффективности модели, см. раздел Анализ моделей.
Перекрестная проверка на основе времени
Перекрестная проверка на основе времени подходит для обучения модели прогнозированию данных по измерению временного ряда. Например, требуется спрогнозировать продажи компании на следующий месяц на основе набора данных, содержащего сведения о продажах за прошлые периоды. Чтобы использовать перекрестную проверку на основе времени, данные для обучения должны содержать столбец с информацией о дате или метке времени.
Перекрестная проверка на основе времени используется для создания моделей с учетом времени. Активировать обучение с учетом времени можно в разделе Оптимизация модели на панели конфигурации эксперимента. Для получения дополнительной информации см. раздел Настройка экспериментов.
При использовании перекрестной проверки на основе времени модели в ходе обучения начинает лучше понимать, что они предсказывают данные на будущие даты.
Как и метод по умолчанию, перекрестная проверка на основе времени предполагает разделение данных для обучения на свертки, которые используются как для обучения, так и для тестирования. В обоих методах модели также обучаются в течение нескольких итераций. Однако метод на основе времени имеет ряд отличий от метода по умолчанию:
Данные для обучения сортируются и делятся на свертки в соответствии с выбранным индексом даты. В отличие от этого, при перекрестной проверке по умолчанию случайным образом выбирается, какие строки будут включены в ту или иную свертку.
Число сверток, используемых в качестве данных для обучения, постепенно увеличивается при каждой итерации обучения. Это означает, что во время первой итерации может использоваться только первая (самая старая) свертка, а последующие итерации будут постепенно наращивать объем данных для обучения, включая более свежие данные. Свертка, используемая в качестве данных для проверки, меняется при каждой итерации.
Это отличается от метода перекрестной проверки по умолчанию, который использует фиксированный объем данных для обучения и тестирования в каждой итерации (то есть четыре свертки для обучения и одну свертку для проверки).
Поскольку весь набор данных для обучения сортируется по выбранному индексу, данные, используемые для тестирования обученной модели, всегда более свежие ― или такие же свежие ― по сравнению с данными, использованными для обучения модели. Автоматически определенные отложенные данные, используемые для окончательной проверки эффективности модели, всегда более свежие ― или такие же свежие ― по сравнению с остальными данными в наборе для обучения.
В отличие от этого, при использовании перекрестной проверки по умолчанию модели могут тестироваться с использованием данных, которые старше данных для обучения, что приведет к утечке данных.
Автоматическое определение отложенных данных и перекрестная проверка на основе времени
Эта процедура показывает, как обучаются модели с учетом времени. Этот процесс имеет различия и сходства при сравнении с процессом перекрестной проверки по умолчанию.
Все данные в наборе данных сортируются по выбранному индексу даты. Сюда включены данные для обучения и отложенные данные.
Перед запуском обучения эксперимента 20% набора данных извлекаются как отложенные данные. Эти отложенные данные являются более свежими или такими же свежими по сравнению с остальным набором данных. Остальные 80 процентов набора данных используются для обучения модели с перекрестной проверкой.
В процессе подготовки к перекрестной проверке данные для обучения разбиваются на некоторое количество сверток. С точки зрения выбранного индекса даты, первая свертка будет содержать самые старые записи, а последняя ― самые новые.
Затем модель обучается в ходе пяти итераций. При каждой итерации количество данных для обучения постепенно увеличивается. При каждой итерации также повышается уровень актуальности включенных данных для обучения. В ходе перекрестной проверки создаются метрики обучения, которые представляют собой средние вычисленные значения.
После обучения модель применяется к отложенным данным. Поскольку модель не видит отложенные данные во время обучения, они идеально подходят, чтобы проверить эффективность обучения модели. На этапе окончательной оценки модели создаются метрики на основе отложенных данных.