Analyzers: [Анализ одномерных временных рядов: вычисление тренда, сезонной и шумовой компонент несколькими способами] - lanit-tercom-school/analyzeme GitHub Wiki

Описание

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

Определение

Ана́лиз временны́х рядо́в — совокупность математико-статистических методов анализа, предназначенных для выявления структуры временных рядов и для их прогнозирования. Подробнее...

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

Назначение

  1. Вычисление тренда - главной тенденции изменения ряда (4мя способами) (UnidimensionalTSTrend)
  2. Вычисление сезонной компоненты - формально определяется как корреляционная зависимость порядка k между каждым i-м элементом ряда и (i-k)-м элементом (Kendall, 1976) (UnidimensionalTSSeasonal)
  3. Вычисление шумовой компоненты (рандомной части, остатка) - шум, дополняющий тренд и сезонную компоненту до исходного наблюдаемого. (UnidimensionalTSRandom)

Сценарии использования

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

Вход

Безымянный одномерный вектор следующего формата: [timeSeriesVector, coefficientOfFrequency, startPoint, startPointFrequency]. Обозначения частей этого вектора прописаны в Требованияx к реализации (VECTOR_DOUBLE)

Выход

  1. Для расчета тренда - 4 безымянных вектор длиной на 3 единицы меньший, чем входной.
  2. Для расчета сезонной компоненты - 3 безымянных вектор длиной на 3 единицы меньший, чем входной.
  3. Для расчета шумовой компонеты - 2 безымянных вектор длиной на 3 единицы меньший, чем входной. (VECTORS_DOUBLE)

Все "упаковано" в именованный data.frame

Требования к реализации

  • На вход подается не больше 1-го вектора

По поводу формата входного вектора:

  • coefficientOfFfrequency являет собой частоту проводимых наблюдений, или коэффициент сезонности. Например, если данные измерялись каждый месяц, то коэффициент равен 12, а если каждый квартал - 4. Вообще говоря, коэффициент = на сколько частей делится год периодом измерений
  • startPoint - год, в который было сделано первое наблюдение.
  • startPointFrequency - номер периода в который было сделано первое наблюдение (в пределах одного года). Так, если первое наблюдение было в мае 1942, то startPoint = 1942, startPointFrequency = 5.

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

Реализация/алгоритмы

См. статью на Вики

Литература, ссылки

Светуньков С.Г. "Методы социально-экономического прогнозирования в 2х томах" - HSE, 2009