Прогнозирование изменения показателя методом полиноминальной регрессии на языке C# с помощью элемента управления Chart

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

У элемента управления Chart инструменты для обработки данных собраны в свойстве DataManipulator, которое получает объект одноимённого класса. Арсенал этих инструментов достаточно широк, но для решения задачи прогнозирования необходимо только одно из них. Метод FinancicalFormula, который принимает 4 параметра (есть и другие варианты этого метода (перегрузки), но в данном случае необходим именно этот):

  • Имя вызываемой формулы (определяется перечислением FinancicalFormula);
  • Параметры, связанные с формулой;
  • Входной ряд, в котором выполняется вычисление;
  • Ряды вывода, в которых сохраняется результат вычисления.

Для использования этого метода необходимо задействовать пространство имён System.Windows.Forms.DataVisualization.Charting.

Метод полиноминальной регрессии уже реализован в библиотеке классов .Net Framework (FinancicalFormula.Forecasting). Поэтому для вычислений требуется просто вызвать вышеописанный метод с нужными параметрами.

Например, прогнозирование методом полиноминальной регрессии 2й степени с периодом прогнозирования 10 дней.

Ряды данных Series2 и Series3 предназначены для отображения прогнозируемых значений и пределов погрешностей соответственно. Результат расчётов при исходных данных (Series1) за 10 дней представлен на скриншоте ниже:

Необходимо особо отметить, что пределы погрешностей прямо пропорциональны периоду прогнозирования и обратно пропорциональны количеству исходных данных. То есть, чем меньше период прогнозирования и большим объёмом исходных данных мы располагаем, тем точнее будет прогноз.

Попробуем увеличить объём обрабатываемых данных в 3 раза и построить аналогичный прогноз для исходных данных за 30 дней.

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

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

Список источников.
  1. Стрелец Coder. Построение графиков на основе данных из таблицы базы данных с помощью элемента управления Chart.
  2. MSDN. Формула прогнозирования (элементы управления диаграммы)
  3. Техническая библиотека lib.qrz.ru Техническая библиотека lib.qrz.ru. Полиноминальная регрессия.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *