Обзор пакета для анализа временных рядов forecast на языке программирования R | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №5 (504) февраль 2024 г.

Дата публикации: 01.02.2024

Статья просмотрена: 85 раз

Библиографическое описание:

Яблокова, Е. Э. Обзор пакета для анализа временных рядов forecast на языке программирования R / Е. Э. Яблокова. — Текст : непосредственный // Молодой ученый. — 2024. — № 5 (504). — С. 25-27. — URL: https://moluch.ru/archive/504/110933/ (дата обращения: 16.12.2024).



Данная статья рассматривает основные аспекты пакета «forecast», обращая внимание на его ключевые возможности и применение.

Ключевые слова: R, временные ряды, ARIMA

Прогнозирование — ключевой элемент в анализе временных рядов, и в R одним из мощных инструментов в этой области является пакет «forecast».

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

Компоненты временного ряда:

— Тренд: долгосрочное движение или направление данных. Тенденции могут быть восходящими (увеличивающимися), нисходящими (убывающими) или плоскими (постоянными);

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

— Циклические модели: долгосрочные, несезонные модели, которые могут не иметь фиксированных интервалов. Циклические закономерности представляют собой колебания данных, не привязанные к конкретному сезону;

— Нерегулярность (шум): случайные, непредсказуемые колебания данных.

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

  1. AutoRegressive Integrated Moving Average (ARIMA);
  2. Сезонное разложение временных рядов (STL);
  3. Сезонный ARIMA (SARIMA) [1].

Пакет «forecast» предоставляет набор инструментов для прогнозирования временных рядов, облегчая анализ и предсказание будущих значений. Созданный профессором Робом Дж. Хайджером, этот пакет стал неотъемлемой частью арсенала аналитиков данных и статистиков [2].

Одной из ключевых функций является auto.arima(), которая автоматически определяет параметры модели ARIMA для временного ряда. Это упрощает процесс выбора подходящей модели и повышает точность прогнозов.

Функция forecast() используется для создания прогнозов на основе построенных моделей. Она предоставляет простой способ получения будущих значений временного ряда.

Возьмем данные «Bakery Sales» с сайта Kaggle о ежедневных продажах выпечки [3]. Можно использовать пакет «forecast» для построения прогноза продаж на следующие месяцы. Пример кода представлен на рисунке 1.

Код построения прогноза продаж на 6 месяцев вперед

Рис. 1. Код построения прогноза продаж на 6 месяцев вперед

Здесь были произведены небольшие преобразования данных. Из данных извлечены только те колонки, которые содержат дату и продажи, а также сами данные преобразованы в одномерный временной ряд с помощью функции ts().

Модель ARIMA используется для описания и прогнозирования временных рядов, таких как ежедневные продажи, температура и другие явления, меняющиеся во времени. Функция auto.arima(), принимает только одномерные временные ряды в R и делает процесс моделирования более удобным.

На рисунке 2 представлены результаты визуализации прогноза. На оси X отображаются временные метки для прогнозируемых периодов. На оси Y отображаются значения временного ряда или прогнозные значения. Доверительные интервалы могут быть представлены как дополнительные области или линии вокруг прогнозных значений.

Результаты, выведенные с помощью print(forecast_result), обычно содержат более подробную информацию, включая статистические метрики и дополнительные параметры модели. Каждая строка представляет прогнозные значения и соответствующие доверительные интервалы для конкретных периодов временного ряда. Например, для периода 250, прогнозное среднее составляет 195491.4, а 80 % доверительный интервал находится между 38809.51 и 352173.3. Аналогичные значения предоставляются для других уровней доверия (95 %).

Визуализация прогноза ежемесячных продаж

Рис. 2. Визуализация прогноза ежемесячных продаж

Пакет «forecast» в R предоставляет мощные инструменты для анализа временных рядов и прогнозирования будущих значений. С его помощью можно легко и эффективно строить модели и делать точные прогнозы, что делает его неотъемлемым инструментом для специалистов в области анализа данных.

Литература:

1. Time Series and Forecasting Using R [Электронный ресурс] URL: https://www.geeksforgeeks.org/time-series-and-forecasting-using-r/ (дата обращения 20.01.2024);

2. forecast: Forecasting Functions for Time Series and Linear Models [Электронный ресурс] URL: https://cran.r-project.org/package=forecast (дата обращения 20.01.2024);

3. HOSUB JEONG, Bakery Sales [Электронный ресурс] URL: https://www.kaggle.com/datasets/hosubjeong/bakery-sales?select=Bakery+Sales.csv (дата обращения 20.01.2024).

Основные термины (генерируются автоматически): ARIMA, временный ряд, ряд, SARIMA, STL, данные, метод прогнозирования, модель, пакет, прогнозирование будущих значений.


Ключевые слова

временные ряды, R, ARIMA

Похожие статьи

Современные программные продукты для анализа данных

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

Обзор пакета chatgpt на языке программирования R

Данная статья рассматривает функционал пакета «chatgpt».

Анализ данных на Python

В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.

Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt

В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...

Сравнительный анализ сред разработки и редакторов кода для web-разработчиков

В данной статье рассматривается самые популярные интегрированные платформы и редакторы кода для веб-разработки.

Многопоточность в языке Swift

В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.

Машинное обучение и язык программирования Python

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

Сравнение и разработка методов многокритериального анализа принятия решений

В данной статье рассматриваются методы многокритериального анализа принятия решения и их применение для конкретных данных. Разрабатывается библиотека на языке Python для сравнения методов анализа TOPSIS, ELECTRE I, SAW.

Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами

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

Реализация алгоритма поиска ближайших объектов с помощью K-D tree

В данной статье разработан алгоритм поиска ближайших объектов с помощью вспомогательной структуры, основанной на K-D tree, а также рассматривается приложение на языке Java, реализующее данный алгоритм.

Похожие статьи

Современные программные продукты для анализа данных

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

Обзор пакета chatgpt на языке программирования R

Данная статья рассматривает функционал пакета «chatgpt».

Анализ данных на Python

В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.

Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt

В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...

Сравнительный анализ сред разработки и редакторов кода для web-разработчиков

В данной статье рассматривается самые популярные интегрированные платформы и редакторы кода для веб-разработки.

Многопоточность в языке Swift

В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.

Машинное обучение и язык программирования Python

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

Сравнение и разработка методов многокритериального анализа принятия решений

В данной статье рассматриваются методы многокритериального анализа принятия решения и их применение для конкретных данных. Разрабатывается библиотека на языке Python для сравнения методов анализа TOPSIS, ELECTRE I, SAW.

Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами

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

Реализация алгоритма поиска ближайших объектов с помощью K-D tree

В данной статье разработан алгоритм поиска ближайших объектов с помощью вспомогательной структуры, основанной на K-D tree, а также рассматривается приложение на языке Java, реализующее данный алгоритм.

Задать вопрос