Разобраться в frac-diff несложно, остановимся на более простом методе.

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

Давайте сделаем резервную копию на мгновение

Функция — это данные, организованные в виде вектора (вы можете думать о векторе так же, как о столбце в Excel). Если бы этот вектор индексировался ежедневно, то каждая строка объекта содержала бы одно значение, представляющее уровень объекта. Функция обычно является термином для описания преобразованных данных.

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

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

Как сохранить как можно больше памяти при преобразовании данных в целях моделирования? Дробная разность.

Что такое Frac-Diff?

Чтобы понять фракт-дифф, как мне нравится думать об этом, я сначала введу понятие разности.

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

Таким образом, Frac-diff представляет собой любое значение от 0 до 1. d=0,5 будет означать дробную разницу в 0,5. Таким образом, для заданного ценового ряда, проиндексированного ежедневно, день X за вычетом d дня X-1 возвращает дневное дробное изменение (назначенное обратно дню X). Это преобразование корректирует X на часть X-1, что, в свою очередь, отнимает часть памяти, но не всю. Имейте в виду, что для разных данных оптимальна меньшая или большая доля, вы должны оценить множество значений d, чтобы найти правильное соответствие.

Пример кого-нибудь?

Если сегодняшняя (30 июня 22) цена закрытия для SPY (ETF S&P500) составляла 377,25 доллара, а вчерашняя (29 июня 22) цена была 380,34 доллара, и я установил d = 0,5, то мой преобразованный дробный уровень на сегодня будет 377,25 - (380,34 * 0,5) = 187,08, однако весь преобразованный уровень будет равен 377,25 - 380,34 = -3,09. Если бы уровни SPY были важны в моей гипотезе или теории, то использование -3,09 для представления 377,25 было бы неоптимальным и фактически случайным. Тем не менее, 187,08 в дробном случае работает намного лучше.

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

Конец

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

Подпишитесь на DDIntel Здесь.

Присоединяйтесь к нашей сети здесь: https://datadriveninvestor.com/collaborate