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

Но чаще всего во временных рядах мы ищем такие свойства, как стационарность, причинность, корреляции, сезонность и т. Д. Такие модели, как ARMA, ARIMA, SARIMA, Holt Winters, обращаются к различным типам данных временных рядов. Данные должны быть проверены на предмет их основных атрибутов, и в statsmodels есть множество тестов, которые можно изучить и поиграть с этими атрибутами. Ниже приводится краткий обзор этих свойств.

Стационарность

Временной ряд называется стационарным, если он не увеличивается или не уменьшается со временем линейно или экспоненциально (нет трендов) и если он не показывает никаких повторяющихся закономерностей (отсутствие сезонности). Математически это описывается как наличие постоянного среднего и постоянной дисперсии во времени. Наряду с дисперсией автоковариация также не должна зависеть от времени. Если вы забыли, что такое среднее значение и дисперсия: среднее - это среднее значение данных, а дисперсия - это средний квадрат расстояния от среднего.

Некоторые модели делают общее предположение о стационарности временных рядов, но для большинства моделей, таких как ARMA, ARIMA, SARIMA, VARMA и т. Д., Необходимо, чтобы данные были стационарными. Но как определить, являются ли данные данные стационарными?

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

Иногда даже визуально трудно интерпретировать скользящее среднее, поэтому мы используем статистические тесты, чтобы идентифицировать это, одним из которых является расширенный тест Дики-Фуллера. ADCF Test реализован с использованием statsmodels в Python, который выполняет классический тест нулевой гипотезы и возвращает p-значение.

Интерпретация проверки нулевой гипотезы: Если значение p меньше 0,05 (значение p: низкое), мы отклоняем нулевую гипотезу и предполагаем, что данные являются стационарными. Но если p-значение больше 0,05 (p-value: high), то мы не можем отвергнуть нулевую гипотезу и определить данные как нестационарные.

После определения стационарности набора данных мы выполняем преобразование в соответствии с требованиями. Если данные оказываются стационарными, мы приступаем к их моделированию, но если обнаруживается, что данные не являются стационарными, мы должны преобразовать их перед подгонкой модели. «Различие» - это распространенный способ преобразования данных в стационарные, который представляет собой не что иное, как нахождение различий между последовательными элементами данных и их сдвиг на 1. Сначала мы пробуем разность данных первого порядка, а затем второй, третий, и так далее, пока данные не станут стационарными. Но каждый шаг дифференцирования происходит за счет потери строки данных. (поскольку мы сдвигаем строки / точки данных на 1 для каждого шага). Если данные показывают сезонность, то дифференцирование выполняется по сезонам. Например, если у нас есть ежемесячные данные с годовой сезонностью, мы различаем данные на единицу времени, равную 12.

Причинно-следственная связь

Причинность связана с феноменом причинности: если один временной ряд можно использовать для предсказания другого временного ряда, то считается, что эти два имеют некоторую причинную связь. Как проверить причинность? Тест на причинность Грейнджера, несомненно, лучший способ проверить это. Это может быть снова реализовано с использованием statsmodels в python.

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

На приведенном выше графике два временных ряда имеют некоторую причинно-следственную связь; если вы сдвинете «a» на две единицы вперед, вы получите значения «d».

Интерпретация теста на причинность Грейнджера: когда значение p больше 0,05, причинно-следственная связь отсутствует, а когда значение p низкое, то есть меньше 0,05, в данных есть признак причинности.

Оценка прогнозов

Моделирование временных рядов включает в себя просмотр корреляций в данных путем построения данных с запаздывающей версией самих себя на некоторые единицы времени. Когда мы сравниваем временной ряд с запаздывающей версией самого себя, становится трудно увидеть какие-либо корреляции со значительным увеличением времени. Чтобы оценить соответствие модели и качество прогнозов, мы используем такие показатели, как MAE, MSE, RMSE, AIC и BIC.

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

Мы хотели бы понять показатели AIC и BIC.

AIC: Akaike Information Criterion, разработанный в 1971 году, оценивает набор моделей - он оценивает качество каждой модели относительно других и сравнивает модели друг с другом.

AIC специально используется для моделей на основе ARIMA для определения параметров p, d, q. Итак, мы собираемся запустить модель ARIMA с разным порядком p, d и q, вам понадобится метрика, с помощью которой можно будет сравнивать модели друг с другом. AIC - идеальный показатель для этой работы. Преимущество этой метрики заключается в том, что она предусматривает штрафы за количество параметров, используемых для предотвращения переобучения. Допустим, у вас есть простая модель, которая работает относительно хорошо, и сложная модель, которая работает немного лучше, чем предыдущая. Если между этими двумя моделями есть небольшое улучшение производительности, то AIC учтет это и предложит вам выбрать более простую модель, а не использовать сложную. В этом сценарии сложная модель будет иметь более низкое значение информационного критерия, чем более простая модель. В некотором смысле AIC наказывает модели, в которых используется слишком много параметров.

Спасибо, что прочитали статью!