Контрольная работа
Теоретические аспекты анализа данных
при прогнозировании валютных курсов
Содержание
1. Машинное обучение и статистические методы анализа данных
. Описание используемых методов
. Оценка точности прогнозирования
. Предварительная обработка данных
Литература
. Машинное обучение и статистические методы анализа данных
На данный момент машинное обучение является одной из наиболее развивающихся областей прикладной математики, позволяющих решать большой спектр задач предсказания и распознавания. Многие экономисты используют методы анализа данных для предсказания валютных курсов. Так, например, Martin Evans и Richard Lyons в своей статье «Micro-Based Exchange-Rate Forecasting» используют метод k ближайших соседей и метод опорных векторов для прогнозирования основных мировых валютных пар (EUR/USD, GBP/USD, USD/JPY). В своей работе ученые строят прогнозы, основываясь на таких факторах, как биржевые котировки сырьевых товаров и процентных ставках. Они сравнивают данные методы с моделью, построенной с помощью анализа временных рядов. Они приходят к выводу, что для интрадейт-трейдинга модель, основанная на техническом анализе, дает более высокую точность и поэтому более применима. Стоит отметить, что ученые предсказывали конкретные уровни значений или то, вырастет курс или упадет, а не изменения курса на определенный процент.
Также делает и Barbara Rossi в статье «Exchange Rate Predictability». В своей работе тестирует, насколько точно можно предсказать изменение курсов, но не берет в расчет предсказания экстремумов.
Любая задача машинного обучения подразумевает наличие выборки - совокупности данных, представляемой в виде списков или таблиц, в которых содержится некоторая информация об анализируемом объекте. Задача заключается в построении модели того, как устроен анализируемый объект, на основе анализа имеющихся данных.
Задачи машинного обучения делятся на 2 типа: “обучение с учителем” и “обучение без учителя”. Первый тип задач, как правило, заключается в поиске зависимости между некоторыми характеристиками модели, называемыми факторами, и исследуемой величиной, называемой откликом. К обучению с учителем относятся такие задачи, как линейная регрессия, логистическая регрессия, метод опорных векторов, метод ближайших соседей и другие. Обучение без учителя подразумевает динамически обучаемую во времени модель.
Большинство задач машинного обучения, связанных с прогнозированием, можно разделить на 3 больших этапа: выбор модели, ее обучение и предсказание с использованием построенной модели. Обучение представляет собой простой подбор параметров модели, основанный на обучающей выборке. Параметры подбираются таким образом, чтобы заранее подобранный функционал ошибки предсказания, характеризующий то, насколько аккуратно построенная модель предсказывает исследуемую величину, достигал своего минимума.
Еще одной важной задачей при построении модели является ее оценка
качества предсказания, которая будет характеризовать то, насколько адекватно
будет полагаться на прогноз, полученный с помощью построенной модели.
. Описание используемых методов
Основными методами, которые мы будем использовать для анализа курса, являются методы классификации, регрессии и анализа временных рядов. Пусть множество T соответствует тем дням, данные по которым мы будем использовать для построения модели, а множество P будет обозначать те дни, для которых мы планируем делать предсказание.
Задача классификации подразумевает, что прогнозируемая величина Y(t) принимает дискретные значения, которые предсказываются на основе значений некоторых факторов X1(t)… Xn(t).
Задача регрессии подразумевает, что предсказываемая величина Y(t) принимает непрерывное значение. Как и для задачи классификации, значение отклика прогнозируется по значениям факторов X1(t) … Xn(t).
Обе две задачи подразумевают то, что у нас имеются данные,
соответствующие X1(t) … Xn(t) и Y(t), для дней
На основе этих данных будет
происходить “обучение” модели, после которого будет установлена связь между X1(t)
… Xn(t) и Y(t). Далее на основе данных по X1(t)
… Xn(t), где
, и уже обученной модели строится прогноз для соответствующих
Y(t).
Анализ временных рядов также имеет дело с непрерывными значениями Y(t), только в данном случае прогноз строится на основе значений предсказываемой величины в предыдущие моменты времени, а именно, ищется зависимость между Y(t) и Y(t-1), Y(t-2), …, Y(t-p), где p - некоторое фиксированное число, которое мы тоже стремимся оптимизировать.
Нетрудно заметить, что для этой задачи не требуется никаких
дополнительных данных, кроме значений Y(t). Обучение модели происходит на
основе знаний о Y(t) при
В результате обучения устанавливается
связь между Y(t) и Y(t-1), Y(t-2), …, Y(t-p). Дальнейшее
предсказание производится только для тех моментов времени t, для которых известны значения Y(t-1), Y(t-2), …, Y(t-p).
Частным случаем задачи прогнозирования является задача с бинарным откликом, а именно, когда отклик может принимать всего 2 значения, например 0 и 1. На практике такие задачи встречаются крайне часто, например, когда мы хотим предсказать имело ли место какое-то событие или нет. В терминах, определенных выше, если событие имело место, то мы приписываем функции отклика значение, равное единице, в противном случае - нулю. Для данной задачи мы рассматриваем 4 возможных события:
· Курс вырос, а именно
;
· Курс вырос более чем на 1 процент
· Курс упал более чем на 1 процент
· Абсолютное значение изменения курса превышает 1%.
Геометрически задача классификации с бинарным откликом может быть
интерпретирована следующим образом: обучающая выборка, состоящая из векторов (X1(t), …Xn(t)), где n - количество факторов, соответствует множеству
точек в n-мерном конфигурационном пространстве (одно значение t соответствует одной точке). Каждая
из данных точек покрашена в один из двух цветов, например, красный и синий.
Задача заключается в том, чтобы по данному расположению красных и синих точек в
конфигурационном пространстве, построить разделяющую поверхность, которая бы
наилучшим образом отделила красные точки от синих. В дальнейшем мы будем
считать, что построенная разделяющая поверхность разбила конфигурационное
пространство на две части: отвечающую синему цвету и отвечающую красному цвету.
Предсказание новых откликов по новым значениям факторов строится так: для новой
точки в конфигурационном пространстве выясняем, какому классу эта точка
принадлежит (синему или красному) и ставим ей в соответствие тот прогноз,
который соответствует полученному цвету.
Рис. 1: Случай n=2,
двумерное конфигурационное пространство, разделяющая поверхность обозначена
черным цветом.
Аналитически это правило можно записать следующим образом: если в
конфигурационном пространстве ввести систему координат x1, …, xn, то построенная разделяющая поверхность может быть задана уравнением
.
Тогда для новых значений
прогноз для отклика Y(t) строится следующим
образом: подставляем новые значения факторов в функцию
, если
, то Y(t) полагаем равным
единице, в противном случае Y(t) равно нулю.
Одним из наиболее простых методов бинарной классификации является метод
ближайших k-соседей. Прежде чем перейти к
описанию самого метода стоит отметить, что данный алгоритм классификации
является метрическим, это означает, что на конфигурационном пространстве должна
быть задана функция расстояния (или иначе, метрика). В качестве расстояния
между точками может быть взята обычная евклидова метрика, а именно, расстояние
между двумя точками X=(X1, …, Xn)
и Y=(Y1, …, Yn) вычисляется по формуле
.
Простейший случай метода ближайших k-соседей устроен, по сути, как процесс голосования.
Первоначально мы фиксируем число k,
которое отвечает количеству соседей, участвующих в голосовании. Для нового
значения факторов, мы смотрим положение соответствующей точки в
конфигурационном пространстве, далее вычисляем расстояния (относительно
введенной метрики) до оставшихся точек выборки, и выбираем k ближайших соседей среди выборки.
Прогноз отклика по новым значениям факторов равен метке того класса, которого
содержится больше среди полученных соседей.
Рис.2: Случай n=2, классификация
нового объекта (зеленый круг). При k=3 (черная окружность) среди соседей классифицированного объекта присутствуют
два представителя первого класса и один - второго, поэтому новый объект
получает метку 1 класса. При k=5
(черная пунктирная окружность) объект получает метку второго класса.
Рис. 3: Решающее правило для двухклассовой классификации с помощью метода ближайших соседей при k=1. Разделяющей поверхностью в данном случае является красная ломаная. Часть плоскости слева от нее принадлежит первому классу, справа - второму.
Обозначим X(t) = (X1(t), …, Xn(t)), тогда прогноз для дня
аналитически можно записать
следующим образом:
w(s, t),
где
.
У данной модели присутствует три параметра: количество соседей, метрика и
весовая функция w(s, t). В общем случае в качестве весовой функции можно взять
некоторую функцию
, зависящую от расстояния между точками X(s) и X(t+1). Например, если мы хотим, чтобы
голос соседа имел тем больший вес, чем ближе он располагается относительно
точки X(t), то мы можем
.
Как уже было отмечено ранее, основной задачей любого метода классификации
является построение разделяющей поверхности с уравнением
. Решающим правилом (или иначе
классификатором), определяющим, к какому из классов следует отнести новый
объект, является
или
Точки, принадлежащие самой разделяющей поверхности, можно
отнести как к первому классу, так и ко второму.
Метод опорных векторов строит разделяющую поверхность таким образом,
чтобы суммарное расстояние от близлежащих к ней элементов обучающей выборки,
называемых опорными векторами, было максимальна. Такая поверхность называется
оптимальной.
Рис. 4: Случай n=2,
пример нескольких разделяющих поверхностей (две черные и одна красная прямые)
из которых только одна является. Красным выделены опорные векторы.
В простейшем случае разделяющая поверхность будет являться
гиперплоскостью и может быть задана в виде:
.
В данном случае функция, задающая разделяющее пространство будет равна:
,
где вектор
вектор
а
обозначает скалярное произведение векторов x и w. Если мы смогли построить оптимальную разделяющую
гиперплоскость, то нормировав правильным образом коэффициенты гиперплоскости,
можно добиться того, чтобы для любого
выполнялось следующие условия:
· Если Y(t) равно 1, тогда
· Если Y(t) равно 0, тогда
Это означает, что между гиперплоскостями
и
не содержится ни одной точки
выборки. Иными словами, задача построения оптимальной гиперплоскости
равносильна тому, чтобы максимизировать “зазор” между этими двумы плоскостями.
Расстояние от каждого из классов до разделяющей гиперплоскости равно
, где
обозначает евклидову норму вектора:
.
Соответственно, величина “зазора” равна
. Поэтому оптимальной разделяющей
гиперплоскостью будет являться такая гиперплоскость, у которой бы норма w была бы минимальная при условиях,
описанных выше.
Рис. 5: Случай n=2,
три гиперплоскости (в данном случае прямые) отделяющие два класса. “Зазор”
образован двумя черными прямыми.
Задача, описанная выше, записывается аналитически следующим образом:
Здесь c(t) = 1 при Y(t)=1 и c(t) = -1 при Y(t)=0. Данная задача может быть решена с помощью
оптимизационного метода Лагранжа, который заключается в подборе таких
положительных параметров
чтобы Лагранжиан
достигал своего минимума по w и b при условии максимизации по
. Стоит отметить, что
могут быть найдены стандартными
методами поиска экстремумов и будут зависеть от значений Y(t) и X(t). Предсказание отклика для нового
дня
будет следующим:
Стоит уделить некоторое внимание проблеме линейной неразделимости двух
классов, соответствующих 0 и 1. Не для любой выборки будут существовать такие
плоскости
и
, чтобы ни одной точки из выборки не попало в зазор между
ними (см. Рис. 5). В этом случае существует несколько подходов, одним из
которых является метод спрямляющего пространства.
Рис. 6: Случай n=2,
пример линейно неотделимых классов. Если вложить двумерное конфигурационное
пространство в трехмерное, то полученная выборка будет уже линейно отделимой. В
данном случае выборка перемещена на сферу с помощью отображения
.