Ответ 1
Классические подходы к регрессии временных рядов:
-
авторегрессивные модели (есть целая литература о них)
-
Разложение Фурье или аналогичное извлечение периодических составляющих сигнала (т.е. скрытых колебаний в данных)
Другие менее распространенные подходы, о которых я знаю,
-
Slow Feature Analysis - алгоритм, который извлекает движущие силы временного ряда, например параметры за хаотическим сигналом
-
Подходы к нейронной сети (NN) подходят либо с использованием повторяющихся NN (т.е. для обработки сигналов времени), либо для классических NN NR, которые получают в качестве входной части прошлых данных и пытаются предсказать точку в будущем; преимущество последнего заключается в том, что, как известно, повторяющиеся NNs имеют проблему с учетом отдаленного прошлого
По моему мнению, для анализа финансовых данных важно получить не только экстраполяцию с наилучшей догадкой временного ряда, но и надежный доверительный интервал, так как в результате инвестиционная стратегия может быть очень различной в зависимости от этого. Вероятностные методы, такие как Гауссовские процессы, дают вам это "бесплатно", поскольку они возвращают распределение вероятности по возможным будущим значениям. С классическими статистическими методами вам придется полагаться на методы начальной загрузки.
Существует много библиотек Python, которые предлагают инструменты статистического и машинного обучения, вот те, с которыми я больше всего знаком:
- NumPy и SciPy - это для научного программирования в Python
- Существует интерфейс Python для R, называемый RPy
- statsmodel содержит классические методы статистической модели, включая авторегрессионные модели; он хорошо работает с Pandas, популярным пакетом анализа данных
- scikits.learn, MDP, MLPy, Orange - это сборники алгоритмов машинного обучения
- PyMC Модуль python, который реализует байесовские статистические модели и алгоритмы подгонки, включая цепь Маркова Монте-Карло.
- PyBrain содержит (помимо всего прочего) реализации корневой и рекуррентной нейронных сетей
- на сайте Gaussian Process имеется список программного обеспечения GP, включая две реализации Python
- mloss - это каталог программного обеспечения для обучения с открытым исходным кодом.