Прогнозирование финансовых пузырей (пример)

Материал из MachineLearning.

Перейти к: навигация, поиск

Содержание

Аннотация

Рассматривается метод прогнозирования финансовых пузырей на основании информации, данной экспертом о наличии пузырей во временных рядах. Предлагается способ синтеза и отбора признаков, описывающих временной ряд. Алгоритм основан на разметке интервалов роста и падения временного ряда и применении логистической регрессии для настройки параметров линейной модели и оценки ее качества. Проведен вычислительный эксперимент на данных о ценах на сырье с 1995 по 2010 год.

Постановка задачи

Дана выборка \{x^i,y^i\}, x^i=(x^i_1,\dots,x^i_T) \in R^T, {i=1\dots l} - временные ряды, размеченные экспертом. Для простоты будем считать, что длина всех рядов одинакова и равна T. Здесь целевая переменная y_i \in \{0,1\}: y_i=1, если в данном ряде есть пузырь, и y_i=0 иначе.

Предполагается, что временной ряд представляет из себя <<историю возникновения>> пузыря и сам пузырь (период раздувания и лопания). Период, который мы считаем историей, фиксируется экспертом или является параметром алгоритма.

Необходимо предложить признаковое описание временного ряда 
$$
g(x^i)=(g_1(x^i),\dots,g_n(x^i)).
$$
На основании этого описания требуется решить задачу классификации --- построить модель $f:R^w \times R^T \rightarrow \{0,1\}$, где $R^w$ - пространство параметров модели.

Задача разбивается на следующие этапы.

1. Порождение множества числовых признаков (g_1(x), \dots, g_N(x)), описывающих временной ряд.

2. Предложение критерия качества модели.

3. Выбор наилучшей модели.


Пути решения задачи

Временной ряд --- это упорядоченная по времени последовательность значений некоторой произвольной переменной величины. Множеством меток называется конечное множество <>\M$$=(m_1,\dots,m_r)$. Множество меток задается экспертом. Пример множества меток: $\M$$ = \{up, down, plt\}$, где “$up$” –- метка для обозначения точек возрастания, “$down$” --– убывания, “$plt$” --- метка для обозначения плато ~\cite{chekhovich}.

Фиксируем множество меток $\M$. Определим разбиение временного ряда на сегменты $\bar{s}=(s_1,\dots,s_V)$: $s_k=\{x_i,x_{i+1},\dots,x_{i+l_k}\}$, $s_{k_1} \cup s_{k_2} = \emptyset$ при $k_1 \ne k_2$, $\bigcup\limits_{k=1}^V s_k = \{x_1,\dots,x_T\}$. Разметкой временного ряда $\{x_t\}_{t=1}^T$ назовем пару $(\bar{s},\bar{m})$: $\bar{m}=(m_1,\dots,m_U)$, $m_i \in \M$ ~\cite{chekhovich}.

Основная рассматриваемая задача: разметка временного ряда и определение на её основании сходства временных рядов ~\cite{strijov07timeseries,rudakov,chekhovich}, синтез и выбор наиболее информативных признаков ~\cite{strijov1,strijov2,vladislavleva,zhao,vlasova}.

Предлагается использовать следующие признаки.

\begin{enumerate}

\item Бинарные признаки --- наличие в данном временном ряде определенной комбинации повышений и падений цены.

\item Действительный признаки --- суммарное изменение цены на этом интервале.

\end{enumerate}

Активное множество признаков $\A$ --- некоторое подмножество синтезированного набора признаков.

Предлагается использовать для построения классификатора логистическую регрессию, а для оценки качества модели - площадь под ROC-кривой ~\cite{vorontsov}. Настройка параметров логистической функции производится градиентными методами оптимизации ~\cite{vorontsov}. Для отбора наилучшей модели рассматривается генетический алгоритм ~\cite{strijov2}.

Смотри также

Литература

Данная статья является непроверенным учебным заданием.
Студент: Даниил Кононенко
Преподаватель: В.В.Стрижов
Срок: 24 декабря 2010

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.

Личные инструменты