Временные ряды с использованием линейной регрессии - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть данные временных рядов для цен, для которых я пытаюсь выполнить линейную регрессию.Однако я чувствую, что то, что я делаю, неверно, и я надеялся, что кто-то может указать мне правильное направление.

Мои данные выглядят так:

date             Close
2017-05-10      0.12512
2017-05-11      0.12353
2017-05-12     -0.35235
.
.
.
2019-01-10      0.87890

Close относится кцена закрытия каждого дня и масштабируется в пределах (-1, 1).

Я пытался использовать линейную регрессию из библиотеки sklearn.linear_model.LinearRegression.Когда я изначально запустил его для соответствия данным, date является строковым типом, и поэтому программа предупредила меня, что он не может работать со строковыми данными.Поэтому я просто опустил столбец даты и просто поработал со значениями Close в наборе обучения и тестирования.

Моя интуиция подсказывает мне, что это неправильный подход.Согласно этому ответу в NumPy есть нечто, называемое Polyfit.Разве нельзя использовать стандартную линейную регрессию Scikit-Learn с имеющимися у меня данными?

1 Ответ

2 голосов
/ 08 апреля 2019

LinearRegression не является решением для TimeSerie

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

Для проблемы TimeSerie существует много решений, которые зависят от вашей проблемы. http://www.statsoft.com/textbook/time-series-analysis

если вы хотите предсказать следующее значение, я предлагаю RNN в основном

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...