Набор данных в памяти это некоторая совокупность данных, имеющая структуру. В терминах R это вектор, матрица, фрейм данных или совокупность этих данных.
Матрица (редко) и фрейм данных в Rattle представлены таблицей, имеющей следующий вид:
Рис.1.1. Фрейм данных, представленный в Rattle
Термины выборка (sample), наблюдение (observation), пример, экземпляр (instance) относится к отдельной строке данных. Термин sample также может относить к подмножеству наблюдений, которые объединены, например целью последующего использования обучающая выборка или обучающий набор данных. Значение термина выборка будет понятно из контекста употребления термина.
Обучающий набор содержит данные, которые использовались для обучения модели, в то время как тестовый и проверочный наборы используются исключительно для оценки результативности модели.
Предикторы, независимые переменные, атрибуты или дескрипторы являются данными, которые используются в качестве входных переменных в уравнении предсказания. На рис.1.1 показаны три предиктора, которые играют роль в модели «входных переменных».
Результат, зависимая переменная, целевая переменная, класс, отклик (response) относится к результирующему событию или количеству, которое предсказывается.
У числовой переменной есть значение, которое является целым числом или вещественным числом, такими как цена валютной пары, объем торгов, процентная ставка. Числовые переменные также известны как количественные переменные. Числовые переменные могут быть дискретными (целыми числами) или непрерывными (действительными). Например, котировка валютной пары. У числовой переменной обычно имеется числовой масштаб. Для валютной пары eurusd числовой масштаб это диапазон от 0.5 до 2.0, в который укладываются все имевшие место значения цен на эту валютную пару. Совершенно другой масштаб у валютной пары usdjpy величины цен на эту валютную пару почти на два порядка больше, чем на eurusd.
Категориальные (categorical) данные, известные также как номинальные атрибуты, качественные данные, факторы имеют значения, которые не имеют масштаба. «Лонг/шорт», день недели являются примерами таких данных. «Лонг» не больше и не меньше «шорта». Категориальная переменная, которая имеет два значения, как у нас (лонг, шорт) называют бинарной (двоичной) переменной. Категориальная переменная «день недели» имеет семь значений.
Категориальные переменные могут быть упорядочены, как в нашем примере Weekdays (дни недели). Понедельник не больше и не меньше вторника, но может быть важным для модели, чтобы ей было известно, что вторник всегда следует после понедельника.
Построение модели, обучение модели, тренировка модели или оценка параметров все это относится к процессу определению параметров в уравнении модели.
1.4. Используемые наборы данных
Далее по тексту будут использоваться следующие наборы данных:
audit набор данных, поставляемый в составе дистрибутива Rattle.
weather набор данных, поставляемый в составе дистрибутива Rattle.
kot60_110101_131231_UE. txt
На основе регрессионной модели попытаемся сделать «типичный мультивалютник»:
целевая переменная EURUSD;
предикторы GBPUSD, USDCHF, USDJPY, EURGBP, USDCAD.
zz_1_5.RData
Для классификационной модели создан искусственный разнообразный набор предикторов, которые должны продемонстрировать возможности моделей по предсказанию трендов:
целевая переменная (три варианта) тренд;
предикторы день недели, час дня, EURUSD, приращение EURUSD, macd, macd (13), macd (26), macd (39), приращение macd (13), macd (26), macd (39)), RSI (14), RSI (21), RSI (28), стеллажирование на 8 уровней (RSI (14), RSI (21), RSI (28)), MA (13), MA (26), MA (52), приращение (MA (13), MA (26), MA (52)).
Описание каждого набора данных приведено в Приложении В. Для zz_1_5.RData приведен скрипт на R, который формирует этот набор из набора kot60_110101_131231_UE. txt
2. Предварительная обработка данных
2. Предварительная обработка данных
Методы предварительной обработки данных обычно состоят в добавлении, удалении или преобразовании данных обучения. Хотя мы интересуемся методами моделирования, подготовка данных может оказаться решающей для предсказательной возможности модели. У различных моделей есть разная чувствительность к типу предикторов в модели; как предикторы входят в модель также важно. Преобразования данных для уменьшения воздействия асимметрии данных или выбросов, могут привести к значимым улучшениям результативности. Выделение предикторов является одним из эмпирических методов для создания фиктивных переменных, которые являются комбинациями многих предикторов. Также могут быть эффективными дополнительные, более простые стратегии, такие как удаление предикторов.
Потребность в предварительной обработке данных определяется типом используемой модели. Некоторые алгоритмы, такие как основанные на моделях деревьев, нечувствительны к характеристикам данных предиктора. Другие, как линейная регрессия, не являются таковыми. В этой главе обсужден целый ряд возможных методологий.
Эта глава обрисовывает в общих чертах подходы к обработке данных без учителя: целевая переменная не рассматривается методами предварительной обработки. В других главах обсуждаются методы с учителем, в которых используется целевая переменная для предварительной обработки данных. Например, модели частных наименьших квадратов (PLS) по существу является версией с учителем анализа главных компонентов (PCA). Мы также описываем стратегии удаления предикторов, не рассматривая, как переменные могли бы быть связаны с целевой переменной.
То, как предикторы закодированы, может оказать значительное влияние на результативность модели. Например, использование комбинаций предикторов может иногда быть более эффективным, чем использование отдельного значения. Отношение двух предикторов может быть более эффективным, чем использование двух независимых предикторов. Часто больше всего эффективное кодирование данных возникает из понимания разработчиком моделируемой проблемы, и таким образом, не получено из какого-либо математического метода.
Обычно есть несколько различных методов для кодирования конкретного предиктора. В качестве примера приведем представление даты, которая может быть представлена многими способами:
число дней, начиная со ссылочной даты;
отдельно месяц, год и день недели как отдельные предикторы;
номер дня в году;
была ли дата в пределах торговой сессии (в противоположность праздничным дням или новогодним каникулам).
В нашем примере принято следующее решение по дате:
день недели взят вместо календарной даты, так как интенсивность торгов разная в разные дни недели;
номер часа взят вместо часа (совпадает со временем), так как интенсивность торгов разная в разное время суток.
«Корректная» разработка предиктора зависит от нескольких факторов. Во-первых, некоторые кодировки могут быть оптимальными для некоторых моделей и плохими для других. Например, основанные на дереве модели разделят данные на два или больше стеллажей. Как будет показано позднее, некоторые модели содержат встроенный выбор предикторов, означающий, что модель будет включать только предикторы, которые помогут максимизировать точность. В этих случаях может привередничать модель, какое представление данных является лучшим.
Отношение между предиктором и целевой переменной следующий фактор. Существует, к примеру, логистическая модель, которая дает оценку вклада каждого предиктора в вычисление класса (модели классификации). Тем не менее, остаются крайне важным содержательное понимание связи между предикторами и целевой переменной.
Как со многими вопросами статистики, ответ на вопрос «какие методы разработки предикторов являются лучшими?» выглядит как: это зависит. Определенно, это зависит от используемой модели и истинного отношения с целевой переменно.
2.1. Преобразование отдельных предикторов
Преобразования предикторов могут быть необходимы по нескольким причинам. У некоторых методов моделирования могут быть строгие требования, такие как необходимость общего масштаба предикторов. В других случаях создание хорошей модели может быть затруднено определенными характеристиками данных, например, выбросами. В книге обсуждается центрирование, масштабирование и преобразования асимметрии.