Прогнозирование временных рядов в Python без полей даты или времени - PullRequest
0 голосов
/ 02 марта 2020

Долгое время скрывался, впервые отправляю сообщения.

Я новичок в Python, но довольно хорошо знаком со статистикой.

Я привык к анализу временных рядов, как SARIMA на другие платформы, где вы можете просто указать интервал цикла, не требуя специальных полей даты. Однако для всех пакетов, связанных с временными рядами, которые я обнаружил в Python (pandas, fbprophet, statsmodel и т. Д. c.), Похоже, требуются поля даты в данных.

Проблема I есть, что мне нужно сделать прогнозирование на основе 13 4-недельных отчетных периодов. Эти учетные периоды могут варьироваться от 25 до 32 дней (в среднем 28 дней) в зависимости от финансового года, который варьируется от 1 апреля до 31 марта. Кроме того, даты начала / окончания этих отчетных периодов никогда не совпадают между финансовыми годами. Таким образом, я не могу использовать поля даты для временного ряда из-за нерегулярных интервалов.

Вот константы:

  • У меня есть доступ к данным за 5 предыдущих финансовых лет
  • Мои данные агрегированы по этим отчетным периодам
  • У меня нет доступа к ежедневным данным
  • В каждом финансовом году всегда есть 13 отчетных периодов
  • сезонность также представляет собой цикл из 13 периодов

Вот пример моих данных:

+----------------+------------------+--------------+------------------+--+
| financial_year | financial_period | period_start | data_to_forecast |  |
+----------------+------------------+--------------+------------------+--+
| 2019-2020      | 1                | 2019-04-01   | 75191            |  |
| 2019-2020      | 2                | 2019-04-28   | 76759            |  |
| 2019-2020      | 3                | 2019-05-26   | 80062            |  |
| 2019-2020      | 4                | 2019-06-23   | 78495            |  |
| 2019-2020      | 5                | 2019-07-21   | 75953            |  |
| 2019-2020      | 6                | 2019-08-18   | 79489            |  |
| 2019-2020      | 7                | 2019-09-15   | 77125            |  |
| 2019-2020      | 8                | 2019-10-13   | 77243            |  |
| 2019-2020      | 9                | 2019-11-10   | 76799            |  |
| 2019-2020      | 10               | 2019-12-08   | 79067            |  |
| 2019-2020      | 11               | 2020-01-05   | 77682            |  |
| 2019-2020      | 12               | 2020-02-02   | 77671            |  |
| 2019-2020      | 13               | 2020-03-01   | ?                |  |
| 2020-2021      | 1                | 2020-04-01   | ?                |  |
| 2020-2021      | 2                | 2020-04-26   | ?                |  |
| 2020-2021      | 3                | 2020-05-24   | ?                |  |
| 2020-2021      | 4                | 2020-06-21   | ?                |  |
| 2020-2021      | 5                | 2020-07-19   | ?                |  |
| 2020-2021      | 6                | 2020-08-16   | ?                |  |
| 2020-2021      | 7                | 2020-09-13   | ?                |  |
| 2020-2021      | 8                | 2020-10-11   | ?                |  |
| 2020-2021      | 9                | 2020-11-08   | ?                |  |
| 2020-2021      | 10               | 2020-12-06   | ?                |  |
| 2020-2021      | 11               | 2021-01-03   | ?                |  |
| 2020-2021      | 12               | 2021-01-31   | ?                |  |
| 2020-2021      | 13               | 2021-02-28   | ?                |  |
+----------------+------------------+--------------+------------------+--+

Как я мог go о проведении анализа временных рядов в Python, используя только 13 периодов циклов и без использования полей даты?

Спасибо за вашу помощь и время!

...