Оценить:
 Рейтинг: 0

Предсказываем тренды. С Rattle и R в мир моделей классификации

Год написания книги
2019
<< 1 ... 3 4 5 6 7 8 9 10 11 ... 16 >>
На страницу:
7 из 16
Настройки чтения
Размер шрифта
Высота строк
Поля

На модели с нейронными сетями часто оказывает негативное влияние высокая корреляция среди предикторов (так как они используют градиенты для оптимизации параметров модели). Два подхода для смягчения этой проблемы: предварительная фильтрация предикторов для удаления предикторов с высокими корреляциями. Альтернативно, для устранения корреляции до моделирования может использоваться такой метод как анализ главных компонент (РСА). Явный положительный эффект обоих этих подходов состоит в уменьшении количества параметров модели, подлежащих оптимизации, что снижает вычислительную сложность.

4.3.2. Машины опорных векторов (SVM)

SVM – класс мощных, очень гибких методов моделирования. Первоначально теория в основе SVM разрабатывалась в контексте моделей классификации. Существует несколько видов регрессии опорного вектора, и мы остановимся на одном определенном методе, называемом – ?-нечувствительная регрессия.

Вспомним, что линейная регрессия стремится оценить параметры, которые минимизируют SSE. Одним из недостатков уменьшения SSE – это то, что оценки параметра могут находиться под влиянием всего одного наблюдения, которое лежит далеко от основного тренда в данных. Если данные содержат влиятельные наблюдения, то может использоваться альтернативная метрика минимизации такая, как функция Huber, которая менее чувствительна при поиске лучшей оценки параметра. Эта функция использует квадраты остатков, когда они «небольшие», и использует абсолютные остатки, когда остатки большие.

SVM для регрессии используют функцию, подобную функции Huber с важным отличием. Учитывая порог, установленный пользователем (обозначенный как ?), точки данных с остатками внутри порога не способствуют подгонке регрессии, в то время как точки данных с абсолютной разностью, больше чем порог, вносят вклад с линейным масштабом. Есть несколько следствий из этого подхода. Во-первых, так как квадраты остатков не используются, большие выбросы имеют ограниченное влияние на уравнение регрессии. Во-вторых, выборки, к которым хорошо подгоняется модель (то есть, остатки небольшие) не имеют никакого влияния на уравнение регрессии. Фактически, если порог установлен к относительно крупному значению, то выбросы – единственные точки, которые определяют линию регрессии! Это несколько парадоксально: плохо предсказанные точки определяют линию. Однако этот подход, как оказалось, очень эффективен при определении модели.

4.3.3. К-ближайшие соседи

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

Основной метод KNN зависит от того, как пользователь определяет расстояние между выборками. Евклидово расстояние (то есть, расстояние по прямой между двумя выборками) является обычно используемой метрикой.

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

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

Элементарная версия KNN интуитивно ясная и может произвести приличные предсказания, особенно если целевая переменная зависит от локальной структуры предиктора. Однако в действительности у этой версии есть некоторые известные проблемы. Две обычно отмечаемых проблемы – время вычислений и разъединение между локальной структурой и предсказательной возможностью KNN.

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

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

4.4. Регрессионные деревья

Основанные на дереве модели состоят из одного или нескольких вложенных операторов if-then для предикторов для разделения данные. В пределах этих разделений модель используется для предсказания результата.

В терминологии древовидных моделей есть два разделения данных на три терминальных узла или листьев дерева. Чтобы получить предсказание для нового наблюдения, мы следуем операторам if-then, используя значение предикторов в наблюдении, пока не приходим в терминальный узел. Затем используется формула модели в терминальном узле для генерации предсказания.

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

У моделей, основанных на единственном дереве, имеются определенные слабые места. Два известных слабых места (1) нестабильность модели, то есть, небольшие изменения в данных могут решительно изменить структуру дерева и, следовательно, интерпретацию, и (2) менее оптимальная предсказательная результативность. Последнее является следствием того, что эти модели определяют прямоугольные области, которые содержат гомогенные значения результата. Если отношение между предикторами и целевой переменной не соответствуют прямоугольным подпространствам предикторов, то у основанных на дереве моделей ошибка предсказания будет больше, чем у других видов моделей.

4.5. Бутстрэп агрегированные деревья (bagging)

В 1990-ых начали появляться методы ансамблей (методы, которые комбинируют предсказания многих моделей). Бутстрэп агрегирование – БАГГ, сокращение от bootstrap aggregation, было первоначально предложено Лео Бреименом и было одним из самых ранних разработанных методов ансамблей (Breiman 1996a). БАГГ – общий подход, который использует самонастройку в соединении с любой моделью регрессии (или классификации) для создания ансамбля. Метод справедливо прост по структуре. Используется каждая модель в ансамбле для генерирования предсказания для нового наблюдения, а затем эти mпредсказаний усредняются для предсказания с помощью бутстрэп агрегированной модели.

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

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

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

В своей канонической форме у пользователя имеется единственный выбор: число бутстрэпов выборки для агрегирования – m. Часто мы видим экспоненциальное уменьшение в предсказательном уточнении при увеличении итераций; большая часть уточнения в результативности предсказания получено с небольшим количеством деревьев (m <10). Это означает, что каждую модель можно создать отдельно, и все модели могут быть объединены в конце для генерации предсказания.

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

4.6. Случайный лес (random forest)

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

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

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

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

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

4.7. Усиление (boosting)

Модели с усилением первоначально разрабатывались для проблем классификации и были позже расширены на регрессию. История усиления начинается с алгоритма AdaBoost.

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

Алгоритм AdaBoost четко работал благодаря простому, изящному и очень адаптируемому алгоритму для различных видов проблем. Основные принципы усиления следующие: учитывая функцию потерь (например, квадрат ошибки для регрессии) и слабый ученик (например, деревья регрессии), алгоритм стремится найти аддитивную модель, которая минимизирует функцию потерь. Алгоритм обычно инициализируется с лучшим предположением отклика (например, средний из отклика в регрессии). Вычисляется остаток, а затем модель подгоняется к остаткам с целью минимизации функции потерь. Текущая модель добавлена к предыдущей модели, и процедура продолжается для конкретного количества итераций.

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

4.8. Функции R

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

Приведено название функции, а в скобках название пакета, в котором функция расположена. Для использования функция необходима загрузка пакета, а если его еще нет, то и установка.

Если названия пакета не приведено – это означает, что функция имеется в базовом пакете и не требуется предварительная загрузка пакета.

lm

подгонка линейной регрессии

predict

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

rlm (MASS)

подгонка устойчивой линейной регрессии

nnet

подгонка нейронной сети

avNNet (caret)

подгонка нейронной сети с усреднением
<< 1 ... 3 4 5 6 7 8 9 10 11 ... 16 >>
На страницу:
7 из 16