Почему я получаю MemoryError при запуске теста ADF? - PullRequest
0 голосов
/ 21 января 2020

enter image description here

Это мои временные ряды:


                          data    z_data   zp_data
time                                              
2018-01-01 00:00:00  -0.045988       NaN       NaN
2018-01-01 00:01:00  -0.046024       NaN       NaN
2018-01-01 00:02:00  -0.044360       NaN       NaN
2018-01-01 00:03:00  -0.044722       NaN       NaN
2018-01-01 00:04:00  -0.043637       NaN       NaN
                        ...       ...       ...
2018-12-12 23:55:00  11.454639  0.088124  1.631736
2018-12-12 23:56:00  11.498422  0.935382  2.551753
2018-12-12 23:57:00  11.521695  1.251496  1.223949
2018-12-12 23:58:00  11.476974  0.244583 -0.012273
2018-12-12 23:59:00  11.480120  0.278023  0.015562
[498240 rows x 3 columns]


Я использовал расширенный тест Дики-Фуллера. Этот тест используется для оценки того, является ли временной ряд стационарным. но я получаю MemoryError. Как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 22 января 2020

autolag тратит впустую память, потому что она сохраняет все полные модели в памяти во время поиска задержки.

см. https://github.com/statsmodels/statsmodels/issues/1849

Некоторые возможные обходные пути:

  • исправьте количество лагов и избегайте автоматического поиска c lag или
  • ограничьте количество лагов, установите maxlag, которые оцениваются для поиска задержки

Это не было действительно разработано с учетом больших временных рядов.

0 голосов
/ 21 января 2020

Согласно документации Python :

исключение MemoryError

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

...