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

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

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

2. Удалить выбросы

Обратите внимание на экстремумы каждой переменной и исследуйте те, которые слишком сильно отличаются от среднего значения. (Это повторяется, поскольку выбросы оказывают чрезмерное влияние на вычисление самого отклонения.) Не обязательно предполагать, что это ошибка (это может быть вывод!), но отложите их в сторону. Выбросы в целевом значении Y могут влиять на модель повсюду, а выбросы во входных данных X могут иметь слишком большое влияние; определение наклона, скажем, для всех данных. Даже если выброс является правдой, а не ошибкой, лучше всего устранить его ненадлежащее влияние. Спросите: Где (в пространстве данных) будет использоваться эта модель? и сконцентрируйте внимание модели на этой области.

3. Сокращение переменных

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

Основные компоненты (ПК): часто можно заменить исходные переменные X меньшим подмножеством ПК, сохраняя при этом большую часть дисперсии входных данных. ПК представляют собой линейные преобразования X, спроектированные так, чтобы быть взаимно ортогональными и охватывать как можно большую часть входного пространства. Например, можно было бы представить 90% пространства, охваченного случаями, в 150 переменных, используя только 20 измерений ПК. Однако обратите внимание, что ПК не учитывают выходную переменную при определении, поэтому они могут быть не лучшим словарем (преобразованием данных) для классификации. Кроме того, они по-прежнему требуют измерения всех X-переменных для расчета.

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

4. Разделяй и властвуй

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

5. Комбинируйте переменные для создания функций более высокого порядка

Не пытайтесь «создать существо из прудовой тины»; использовать компоненты более высокого порядка. Например, в задаче оценки траектории рассчитайте, где корабль приземлится без каких-либо сложных эффектов, таких как вращение Земли и сопротивление воздуха, и пусть алгоритм моделирования оценивает неполное расстояние вместо полного расстояния. Точно так же передача модели каждого значения пикселя или точки временного ряда обычно не удалась. Тем не менее, функции более высокого порядка, такие как края или тренды, можно попробовать творчески; предоставьте алгоритму моделирования с выбором переменных выбирать конкретные версии функций для использования.

6. Вменить недостающие данные

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

  • Среднее значение известных случаев для переменной
  • Последнее значение (если дела в порядке)
  • Оценочное значение из других известных входных значений (наилучшее, но наиболее сложное)
  • Если категорично, вы можете добавить метку «отсутствует»

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

Категориальная переменная не может использоваться непосредственно в алгоритме оценки, таком как регрессия или нейронные сети. Но вы можете «взорвать» переменную категории C в двоичные переменные C-1, где каждая содержит 1, если категория является ее значением для этого случая. (Однако обратите внимание на предложение № 8 ниже.)

8. Объединяйте категории, если их слишком много

Алгоритм обычно позволяет каждому значению категориальной переменной иметь собственный параметр, поэтому очень вероятно переобучение, если категорий слишком много. Например, штат человека может иметь более 50 значений (с Вашингтоном, округом Колумбия, Пуэрто-Рико и т. д.), но важных (населенных) штатов в базе данных может быть гораздо меньше. Сохраните большие категории и объедините оставшиеся в «Другое» или разделите их по знанию предметной области, например по регионам. Всегда ищите различия между категориями и объединяйте их, если они недостаточно значительны.

9. Объединяйте переменные с похожим поведением

Если у вас есть переменные с действительными значениями, которые сильно коррелированы, вы можете усреднить их, чтобы создать одну переменную-кандидат. Для двоичных переменных вы можете проверить их ожидаемое значение, обусловленное выходными данными в наборе обучающих данных, и создать суперпеременную, которая представляет собой сумму переменных, стремящихся к одному из классов выходных данных. Например, у людей могут быть флаги (биты), отражающие их интерес (или его отсутствие) к гонкам Nascar, вегетарианской кулинарии, журналу Field and Stream, прогрессивному року и т. д. Вы можете найти, какие из них коррелируют с моделями голосования для каждой стороны во время обучения. данные и создайте одну переменную для каждой стороны, чтобы хранить сумму этих битов. Объединение этих битов (суперпеременная) будет гораздо менее пустым, чем исходные переменные.

10. Сферические данные

Многие алгоритмы (например, ближайшие соседи, кластеризация) требуют, чтобы переменные находились в одном масштабе и были независимыми. Но на практике эти условия не являются естественными. Например, вес человека может быть выражен в фунтах, а рост в дюймах, так что единица измерения роста гораздо важнее, чем единица измерения веса. Чтобы справиться с масштабированием и смещением, вы можете нормализовать данные, преобразовав каждую переменную на Z = (X — m)/s, где m и s — среднее значение и стандартное отклонение X. Но более серьезной проблемой является корреляция. Чтобы правильно учесть это, я рекомендую использовать функцию расстояния Махаланобиса, которая использует обратную матрицу корреляции переменных. (Это не реализовано в коммерческих инструментах так часто, как должно быть!) Полезным результатом является то, что, например, расстояние Махаланобиса от точки до среднего значения данных является хорошей мерой атипичности этой точки.

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

Выпущено

Скачать технический документ Моделирование Uplift: Превращение прогностических моделей в действие

Прочитайте блог Откуда вы знаете, что результаты вашей прогностической модели достоверны?

Первоначально опубликовано на www.elderresearch.com.