С помощью элемента управления Chart можно не только визуализировать, но и анализировать различные данные. В частности, можно прогнозировать изменения того или иного показателя с помощью метода полиноминальной регрессии.
У элемента управления Chart инструменты для обработки данных собраны в свойстве DataManipulator, которое получает объект одноимённого класса. Арсенал этих инструментов достаточно широк, но для решения задачи прогнозирования необходимо только одно из них. Метод FinancicalFormula, который принимает 4 параметра (есть и другие варианты этого метода (перегрузки), но в данном случае необходим именно этот):
- Имя вызываемой формулы (определяется перечислением FinancicalFormula);
- Параметры, связанные с формулой;
- Входной ряд, в котором выполняется вычисление;
- Ряды вывода, в которых сохраняется результат вычисления.
Для использования этого метода необходимо задействовать пространство имён System.Windows.Forms.DataVisualization.Charting.
1 |
using System.Windows.Forms.DataVisualization.Charting; |
Метод полиноминальной регрессии уже реализован в библиотеке классов .Net Framework (FinancicalFormula.Forecasting). Поэтому для вычислений требуется просто вызвать вышеописанный метод с нужными параметрами.
Например, прогнозирование методом полиноминальной регрессии 2й степени с периодом прогнозирования 10 дней.
1 |
chart1.DataManipulator.FinancialFormula(FinancialFormula.Forecasting, "2,10,true,true", "Series1:Y", "Series2:Y,Series3:Y,Series3:Y2"); |
Ряды данных Series2 и Series3 предназначены для отображения прогнозируемых значений и пределов погрешностей соответственно. Результат расчётов при исходных данных (Series1) за 10 дней представлен на скриншоте ниже:
Необходимо особо отметить, что пределы погрешностей прямо пропорциональны периоду прогнозирования и обратно пропорциональны количеству исходных данных. То есть, чем меньше период прогнозирования и большим объёмом исходных данных мы располагаем, тем точнее будет прогноз.
Попробуем увеличить объём обрабатываемых данных в 3 раза и построить аналогичный прогноз для исходных данных за 30 дней.
В результате пределы погрешностей возрастают значительно медленнее, чем в предыдущем случае, когда мы оперировали данными за 10 дней.
Поэтому не рекомендуется строить прогнозы на очень длительные сроки. Особенно при недостаточном количестве исходных данных.
Добавить комментарий