[Python, Программирование] Использование статистических методов для анализа временных рядов
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Очень часто в нашей работе встречается такое понятие как «временной ряд». Это определение было придумано очень давно. Тогда, когда люди только стали записывать данные о чем-то двумя значениями: явлением и временем. Наиболее классическим описанием временного ряда является запись температуры на протяжении года или нескольких лет.Но сам ряд — это лишь набор информации, который не несет ничего нужного. При этом, если построить график этого ряда, используя, к примеру, для оси Y значения времени, а для оси X — показания, которые были нами изначально записаны или форматизированы в цифровом виде, то мы сможем найти некоторые последовательности.В случае графика температур — день теплее, чем ночь, а зима холоднее лета. И чем больше данных мы сможем проанализировать подобным образом, выделяя какие-то закономерности, тем с большей точностью мы сможем предугадать — что нас ждет в будущем.Таким же образом думали люди в прошлом, разделяя процесс работы с временными графиками на три этапа: сбор данных, анализ временного ряда, предсказание следующих значений.Но для чего может использоваться временной ряд в аудите? Для всего!Операции клиента на протяжении квартала – временной ряд. Расход топлива служебного автомобиля – временной ряд. Даже чтение этой статьи – тоже временной ряд! (мы можем записать — сколько слов в минуту вы читаете, с указанием порядкового времени минуты)Поэтому, анализ временных рядов мы с вами проводим достаточно часто. И, к сожалению, очень часто можем ошибаться.Основным методом работы с любым простым временным рядом – это построение графика и его визуальная оценка.Возьмем простой пример: рассмотрим покупки подарков к праздничному мероприятию для десяти коллег.
Здесь все более-менее понятно:в начале декабря было осуществлено всего несколько покупок для некоторых коллег. Ближе к празднику – остальным.А если коллег и знакомых не десять, а 200? И закупаться нужно не за 10 дней, а в течение целого месяца?
К сожалению, быстро оценить по какой схеме покупаются подарки не получится. Но давайте проанализируем несколько фактов:
- Самым близким коллегам и знакомым мы готовим дорогие подарки;
- Сразу найти нужный подарок не всегда удается и процесс покупки подарков растягивается на месяц.
Получается, что есть какая-то последовательность, например — период времени закупки подарков для определенных групп коллег.Наличие таких одинаковых периодов говорит о том, что ряд — стационарен. То есть существует какая-то часть, которая всегда повторяется. Но как понять, есть ли этот период?Для этого используется целая группа тестов:
- Тест Дики — Фуллера,
- Тест Филипса — Перрона,
- Тест Лейбурна,
- Тест Шмидта — Филлипса,
- Тест Квятковского — Филлипса — Шмидта — Шина,
- Тест DF — GLS,
- Тест Кохрейн.
В этом примере мы будем использовать тест Дики — Фуллера, который реализован в модуле statsmodels на языке python. Для этого нам надо будет всего лишь выбрать нужные модули (statsmodels и pandas), загрузить данные, и вывести результат. Ниже представлен пример скрипта:
При этом сами данные выглядят следующим образом:
Основная идея теста заключается в подтверждении или отклонении двух гипотез:
- Нулевая гипотеза (H0): предполагает, что временной ряд имеет единичный корень, то есть он нестационарный (покупаем подарки в случайном порядке).
- Альтернативная гипотеза (H1): предполагает, что временной ряд не имеет единичного корня, то есть он является стационарным. Если эта гипотеза верна, то у нас есть список покупок подарков на определенный временной период, в котором количество подарков для близких коллег и знакомых будет неизменно.
Для подтверждения или опровержения этих гипотез используются p -values значения.p -values — это наименьшее значение уровня значимости (то есть вероятности отказа от справедливой гипотезы).В случае если p –values больше значения 5%, то мы отвергаем нулевую гипотезу, и, следовательно, ряд является стационарным, имеет определенную периодичность, которую возможно выявить.Существуют различные реализации этого теста, однако, приведенная в данном примере – является самой простой.Исходя из того, что ряд является стационарным, мы можем сделать вывод, что покупку и близким коллегам и остальным знакомым мы начинаем одновременно и делаем это определенными заходами.Используя такой простой пример, мы можем определить наличие закономерностей в работе проверяемых нами объектов.
===========
Источник:
habr.com
===========
Похожие новости:
- [Высокая производительность, Программирование, Java, Конференции] JPoint и Joker: какие доклады запомнились мне больше всего
- [Программирование, Управление разработкой, Управление персоналом, Карьера в IT-индустрии] Ежедневные сложности сениор-разработчика (перевод)
- [Программирование, Машинное обучение] Intel CV Academy — начинаем второй семестр
- [Программирование, Совершенный код, Отладка, Процессоры] Чего не хватает для идеального профилирования кода
- [Программирование, Разработка под Android, Flutter] Flutter ListView и ScrollPhysics: Детальный взгляд (перевод)
- [Программирование, Java, ООП, Функциональное программирование] Java Optional не такой уж очевидный (перевод)
- [Python, API] LongPoll в vk_api
- [Программирование, Анализ и проектирование систем, Хакатоны] Группа «М.Видео-Эльдорадо» приглашает на онлайн-контест для аналитиков
- [Программирование, C++, Алгоритмы, Математика] Пишем свой парсер математических выражений и калькулятор командной строки (перевод)
- [Python, Машинное обучение] Оценка важности «фичей» для нелинейных моделей
Теги для поиска: #_python, #_programmirovanie (Программирование), #_python, [url=https://torrents-local.xyz/search.php?nm=%23_test_diki_—_fullera&to=0&allw=0&o=1&s=0&f%5B%5D=820&f%5B%5D=959&f%5B%5D=958&f%5B%5D=872&f%5B%5D=967&f%5B%5D=954&f%5B%5D=885&f%5B%5D=882&f%5B%5D=863&f%5B%5D=881&f%5B%5D=860&f%5B%5D=884&f%5B%5D=865&f%5B%5D=873&f%5B%5D=861&f%5B%5D=864&f%5B%5D=883&f%5B%5D=957&f%5B%5D=859&f%5B%5D=966&f%5B%5D=956&f%5B%5D=955]#_test_diki_—_fullera (Тест Дики — Фуллера)[/url], #_statsmodels, #_pandas, #_analiz_dannyh (анализ данных), #_analiz_dannyh_python (анализ данных python), #_python, #_programmirovanie (
Программирование
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:00
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Очень часто в нашей работе встречается такое понятие как «временной ряд». Это определение было придумано очень давно. Тогда, когда люди только стали записывать данные о чем-то двумя значениями: явлением и временем. Наиболее классическим описанием временного ряда является запись температуры на протяжении года или нескольких лет.Но сам ряд — это лишь набор информации, который не несет ничего нужного. При этом, если построить график этого ряда, используя, к примеру, для оси Y значения времени, а для оси X — показания, которые были нами изначально записаны или форматизированы в цифровом виде, то мы сможем найти некоторые последовательности.В случае графика температур — день теплее, чем ночь, а зима холоднее лета. И чем больше данных мы сможем проанализировать подобным образом, выделяя какие-то закономерности, тем с большей точностью мы сможем предугадать — что нас ждет в будущем.Таким же образом думали люди в прошлом, разделяя процесс работы с временными графиками на три этапа: сбор данных, анализ временного ряда, предсказание следующих значений.Но для чего может использоваться временной ряд в аудите? Для всего!Операции клиента на протяжении квартала – временной ряд. Расход топлива служебного автомобиля – временной ряд. Даже чтение этой статьи – тоже временной ряд! (мы можем записать — сколько слов в минуту вы читаете, с указанием порядкового времени минуты)Поэтому, анализ временных рядов мы с вами проводим достаточно часто. И, к сожалению, очень часто можем ошибаться.Основным методом работы с любым простым временным рядом – это построение графика и его визуальная оценка.Возьмем простой пример: рассмотрим покупки подарков к праздничному мероприятию для десяти коллег. Здесь все более-менее понятно:в начале декабря было осуществлено всего несколько покупок для некоторых коллег. Ближе к празднику – остальным.А если коллег и знакомых не десять, а 200? И закупаться нужно не за 10 дней, а в течение целого месяца? К сожалению, быстро оценить по какой схеме покупаются подарки не получится. Но давайте проанализируем несколько фактов:
При этом сами данные выглядят следующим образом: Основная идея теста заключается в подтверждении или отклонении двух гипотез:
=========== Источник: habr.com =========== Похожие новости:
Программирование ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:00
Часовой пояс: UTC + 5