Прогнозирование в excel arima

The forecasting approach is exactly as described in Real Statistics ARMA Data Analysis Tool. The only difference now is that we need to account for the differencing.

Example 1: Find the forecast for the next five terms in the time series from Example 1  of Real Statistics ARMA Data Analysis Tool based on the ARIMA(2,1,1) model without constant term.

Real Statistics ARIMA forecast

Figure 1 – Forecast for ARIMA(2,1,1) model

The table on the left side is calculated exactly as in Figure 3 of Real Statistics ARMA Data Analysis Tool. The right side undoes the differencing. E.g. Cell AD4 contains the formula =B4 (with reference to the data in Figure 1 of Calculating ARIMA Model Coefficients). Cell AD109 contains the formula =X108+AD108.

Note that if you had not assumed that there was no constant term, cell AD109 would contain the formula =X108+AD108+J$6. If Differences is 2, then AD109 would contain the formula =X107+2*AD108-AD107+J$6.

Три подхода к прогнозированию продаж чего угодно

Заглядываем в будущее при помощи статистики

Качественные прогнозы приносят деньги

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

Методология прогнозирования экспортных продаж нефти и булочек в районном кафе будет отличаться, но в обоих случаях можно построить точные прогнозы при помощи Excel или специального статистического П.О.

Хотите систематизировать свои знания по аналитике?

Встречайте «Анализ данных для хулиганов» ✨
Нескучное онлайн пособие о том, как создавать великолепные продукты и эффективно управлять маркетингом на основе данных

Три подхода

Все модели можно разделить на три типа:

а) Простые и наивные методы. К ним относится простая экстраполяция на основе среднего значения или темпа прироста, подбор коэффициентов сезонности или продолжение тренда. Эти методы подходят для быстрого прогноза «на коленке».

б) Модели класса ARIMA. Особенности временных рядов заключается в том, что прошлые значения связаны с текущими и будущими. Для краткосрочного прогнозирования рядов с устойчивой структурой достаточно данных о продажах в прошлых периодах.

в) Математическое моделирование. Используются в случаях когда прогнозируемая переменная сильно зависит от внешних факторов: погода, ключевая ставка ЦБ, рекламный бюджет, уровень цен…

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

ОПРЕДЕЛЕНИЕ
Временной ряд (динамический ряд) — это значение признака, измеренного в хронологическом порядке через постоянные временные промежутки.

Главная особенность динамических рядов в том, что они являются зависимыми. Предыдущие показатели связаны с текущими и будущими, а сам ряд можно разложить на компоненты:

  • тренд;
  • сезонность;
  • цикличность;
  • случайные отклонения.

Визуализация

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

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

Формулы для определения достаточного объема выборки

Сглаживание динамического ряда при помощи скользящей средней

    2. Графическая декомпозиция недоступна в Excel, зато гарантированно присутствует в любом статистическом пакете. С ее помощью ряд раскладывается на компоненты.
    В данном случае график подсказывает исследователю, что продажи товара Х имеют не только ярко выраженную сезонность, но и стабильную цикличность в рамках недели.

    Формулы для определения достаточного объема выборки

    Декомпозиция динамического ряда

    3. Коррелограмма — это график автокорреляций. Он помогает понять как значения ряда связаны со своими же значениями в прошлом. Лаг отражает степень запаздывания. Значимый коэффициент корреляции для лагов 7 и 14 также намекает на недельную цикличность.

    Формулы для определения достаточного объема выборки

    Модели класса ARIMA

    Согласно теореме Вальда любой

    стационарный

    ряд может быть описан моделью ARMA.
    AR – это модель авторегрессии порядка p. Обычное регрессионное уравнение в котором будущие значения ряда линейно зависят от предыдущих.
    MA – модель скользящего среднего порядка q. Функция при которой значение в каждой точке ряда равно среднему значению n соседних точек.

    СПРАВКА.

    ARIMA
    – расширение моделей ARMA для нестационарных временных рядов.
    SARMA / SARIMA – расширение для рядов с сезонной составляющей.
    SARIMAX – расширение, позволяющее включить внешнюю регрессионную составляющую.

    Стационарный ряд
    – это ряд, в котором отсутствует автокорреляция, а среднее и дисперсия не меняются со временем.

    Перед тем, как применять модель необходимо позаботиться о стационарности динамического ряда.

    Ряд приводят к стационарности взятием последовательных разностей (вместо исходных 3,5,5,4,8 получится 2,0,-1,4) или преобразованием Бокса-Кокса. Стабилизировать дисперсию помогает логарифмирование.

    Чтобы убедиться, что мы все сделали правильно применяем формальные тесты:

    СПРАВКА. Критерий Льюнга-Бокса — критерий для выявления автокоррелированности временных рядов.
    Критерий KPSS (KPSS test) — критерий для проверки на стационарность (Hо = ряд стационарен).
    Критерий Дики-Фулера — критерий для проверки на стационарность (Но = ряд нестационарен).

    Отлично! Теперь нужно подобрать параметры p и q. Это можно сделать вручную, на основе крупнейших лагов автокорреляционной функции ACF и PACF или воспользоваться чудо-функцией

    auto.arima

    из библиотеки Forecast для R.

    Формулы для определения достаточного объема выборки

    Прогнозирование временных рядов в R

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

    Нужно убедиться, что остатки:

    • имеют низкое абсолютное значение, в них отсутствует тренд и циклы;
    • распределены нормально со средним ~0;
    • отсутствует автокорреляция (смотрим коррелограмму и тесты «Box-Pierce» «Ljung-Box»).

    Если хотя бы что-то не так — значит модель описала не всю структуру и качество можно улучшать. Возвращаемся назад для подбора лучших параметров или преобразования исходных данных.

    Анализ временных рядов в R

    
    Install.packages("forecast"); Install.packages("tseries") #устанавливаем полезные расширения
    library(forecast); library(tseries) #задействуем их
    my_time_series <- ts(data$sales, frequency = 7)  #кодируем числовой вектор, как временной ряд
    my_time_series <- tsclean(my_time_series) #автоматическая замена выбросов и пропущенных значений
    plot(my_time_series) #визуализация
    plot(decompose(my_time_series)) #график декомпозиции ряда
    acf(my_time_series) #построение коррелограммы
    fit <- auto.arima(my_time_series) #автоматический подбор модели и оптимальных параметров
    fit #модель
    tsdisplay(residuals(fit)) #графический анализ остатков
    Box.test(residuals(fit)) #формальный тест скоррелированности остатков
    my_forecast <- forecast(fit, h=3) #прогноз на 3 периода вперед
    plot(forecast(fit, h=3)) #визуализация прогноза с доверительным интервалом
    - - - - -
    #другие полезные функции:
    ets() #экспоненциальное сглаживание 
    BoxCox() #преобразование Бокса-Кокса
    adf.test()  #проверка стационарности (тест Дики-Фуллера) 
    

    Математическое моделирование

    Предельная ошибка выборки

    Пример регресионной модели прогнозирования продаж

    Некоторые динамические ряды не имеют устойчивой структуры и сильно зависят от влияния внешних факторов (например: погода, рекламный бюджет). В таких случаях целесообразно применить математическое моделирование. Подойдет простая регрессия, нейронные сеточки, случайные леса, ближайшие соседи, SVM или ансамбль из всех перечисленных (зависит от типа, распределения и объема исходных данных).

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

    Репрезентативность

    Пример исходных данных для прогнозирования продаж

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

    Специалист из предметной области определяет набор данных, которые необходимо получить и использовать для моделирования. Если таких данных много в уже оцифрованном виде, то применяются математические методы селекции: корреляция (correlation), хи-квадрат (chi-square), мера энтропии (Informaition gain), индекс Джини (GINI index), расчет уменьшения предсказательной способности при исключении переменной, рекурсивное разбиение (Recursive partitioning), сети векторного квантования (Learning Vector Quantization) и др.

    Перечислим полезные лайфхаки:

    • Цикличность можно закодировать категориальным фактором (день недели или месяца) или числовой переменной, которая отражает средний уровень целевой переменной за этот период.
    • Погоду, курсы валют и ставки ЦБ можно получать напрямую через API или скрапингом. Благодаря этому ваша модель будет работать без ручного обогащения новыми данными.
    • Результаты прогноза по ARIMA-моделям могут быть поданы на вход другим алгоритмам для дальнейшего сокращения остатков.

    Заключение

    Чтобы быстро прикинуть продажи в следующей неделе / месяце / году воспользуйтесь одним из наивных методов.

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

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

    Формулы для определения достаточного объема выборки

    Хотите систематизировать свои знания по аналитике?

    Встречайте «Анализ данных для хулиганов»


    Онлайн пособие о том, как создавать великолепные продукты и эффективно управлять маркетингом на основе данных⚡

    Методики / Фреймворки / Шаблоны для скачивания

    This tutorial will help you set up and interpret an ARIMA — Autoregressive Integrated Moving Average — model in Excel using the XLSTAT software.

    Dataset to fit an ARIMA model to a time series

    The data have been obtained in [Box, G.E.P. and Jenkins, G.M. (1976). Time Series Analysis: Forecasting and Control. Holden-Day, San Francisco], and correspond to monthly international airline passengers (in thousands) from January 1949 to December 1960.

    We notice on the chart, that there is a global upward trend, that every year a similar cycle starts, and that the variability within a year seems to increase over time. Before we fit the ARIMA model, we need to stabilize the variability. To do that, we transform the series using a log transformation. We can see on the chart below that the variability is reduced.

    We can now fit an ARIMA(0,1, 1)(0,1,1)12 model which seems to be appropriate to remove the trend effect and the yearly seasonality of the data.

    Setting up the fitting of an ARIMA model to a time series

    • Open XLSTAT

    • Select the XLSTAT / Time Series Analysis / ARIMA command. Once you’ve clicked on the button, the ARIMA dialog box will appear.

    • Select the data on the Excel sheet. In the Times series field you can now select the Log(Passengers) data.

    • Activate the Center option because we want XLSTAT to automatically center the series before optimizing the ARIMA model.

    • Define the type of ARIMA model by entering the value of the (p,d,q)(P,D,Q)s orders. The period of the series is set to 12, because it seems the cycles are repeated every year (12 months).

    • Activate the Series labels the first row of the selected data contains the header of the variable.

    General tab of an ARIMA analysis

    • In the validation tab, enter 12 so that the last 12 values are not used to fit the model, but only to validate the model.

    • Click OK to launch the computations.

    Interpreting the results of an ARIMA model fitting to a time series

    After the summary statistics of the series, a table displays the various criteria that allow to evaluate the quality of the fit, and to compare the fit of this model with other models (if available).

    Goodness of fit statistics
    The next table displays the parameters of the model. We notice that both the MA(1) and SMA(1) parameters are significantly different from 0 as the 95% confidence interval does not include 0. The confidence intervals are computed using the Hessian after optimization which is what other software usually display, and using an asymptotical method. The constant of the model is fixed as it comes from the removal of the mean.

    Model parameters
    The ARIMA model writes:

    Y(t) = 0.000+Z(t-1)-0.348.Z(t-1)-0.562.Z(t-12)+0.195*Z(t-13) where Z(t) is a white noise N(0, 0.001) Y(t)=(1-B)(1-B12)X(t), and X(t) is the input series.

    The forecasting equation for the X(t) series is given by: X(t+1) = Y(t+1)+X(t)+X(t-11)-X(t-12)

    A table gives the values of the original series, and the smoothed series (the predictions). Because of the constraints of the model, predictions are not available for the 13 first observations (the predictions are replaced by the values of the input series). Notice that a time variable «T» has been created to facilitate the graphical representation. For the last 12 observations predictions have been computed in validation mode and a confidence range is available. We notice that almost all residuals (in red) are negative. This means that in forecasting mode the model overestimates the traffic.

    Predictions
    On the chart below, we can visually see that the predictions (Validation) are very close to the data.

    Graph ARIMA

    Was this article useful?

    • Yes
    • No

    ARIMA Forecasting with Excel

    Getting Started

    Before using the sheet, you must download R and RExcel from the Statconn website. If you already have R installed, you can just download RExcel. If you don’t have R installed, you can download RAndFriends which contains the latest version of R and RExcel. Please Note, RExcel only works on 32bit Excel for its non-commercial license. If you have 64bit Excel installed, you will have to get a commercial license from Statconn.

    RExcel now comes with an auto-activation program that will connect it with Excel; however, I’ll keep the process for manually installing just in case.

    Manually installing RExcel

    To install RExcel and the other packages to make R work in Excel, first open R as an Administrator by right-clicking on the .exe.

    alt text

    In the R console, install RExcel by typing the following statements:

    library(RExcelInstaller)
    
    installRExcel()
    

    This will install RExcel on your machine.

    The next step is to install rcom, which is another package from Statconn for the RExcel package. To install this, type the following commands. This will also automatically install rscproxy as of R version 2.8.0.

    library(rcom)
    
    installstatconnDCOM()
    
    comRegisterServer()
    

    With these packages installed, you can move onto to setting the connection between R and Excel.

    Although not necessary to the installation, a handy package to download is Rcmdr, developed by John Fox. This creates R menus that can become menus in Excel. This comes by default with the RAndFriends installation, and makes several R commands available in Excel.

    Type the following commands into R to install Rcmdr.

    library(Rcmdr)
    
    installRcmdr()
    

    Now that RExcel and its dependencies are installed, we can create the link to R and Excel.

    Note in recent versions of RExcel this connection is made with a simple double-click of the provided .bat file «ActivateRExcel2010», so you should only need to follow these steps if you manually installed R and RExcel or if for some reason the connection isn’t made during the RAndFriends installation.

    Create the Connection Between R and Excel

    Open a new book in Excel and navigate to the options screen.

    alt text

    Click Options and then Add-Ins. You should see a list of all the active and inactive add-ins you currently have. Click the ‘Go’ button at the bottom.

    alt text

    On the Add-Ins dialog box, you will see all the add-in references you have made. Click on Browse.

    alt text

    Navigate to the RExcel folder, usually located in C:Program FilesRExcelxls or something similar. Find the RExcel.xla add-in and click it.

    The next step is to create a reference in order for macros using R to work properly. In your Excel doc, enter Alt + F11. This will open Excel’s VBA editor. Go to Tools -> References, and find the RExcel reference, ‘RExcelVBAlib’. RExcel should now be ready to use!

    alt text

    Using the Excel Sheet

    Now that R and RExcel are properly configured, it’s time to do some forecasting!

    Open the forecasting sheet and click ‘Load Server’. This is to start the RCom server and also load the necessary functions to do the forecasting. A dialog box will open. Select the ‘functions.R’ file included with the sheet. This file contains the functions the forecasting tool uses. Most of the functions contained were developed by Professor Stoffer at the University of Pittsburgh. They extend the capabilities of R and give us some nice diagnostic graphs along with our forecasting output. There is also a function to automatically determine the best fitting parameters of the ARIMA model.

    Once the server is loaded, enter your data into the Data column. Select the range of the data, right-click and select ‘Name Range’. Name the range as ‘Data’.

    alt text

    Next, set the frequency of your data in Cell C6. The frequency refers to the time periods of your data. If it is weekly, the frequency would be 7. Monthly would be 12, while quarterly would be 4, and so on.

    Enter the periods ahead to forecast. Note that ARIMA models become quite inaccurate after several successive frequency predictions. A good rule of thumb is not to exceed 30 steps as anything past that could be rather unreliable. This does depend on the size of your data set as well. If you have limited data available, it is recommended to choose a smaller steps ahead number.

    After entering your data, naming it, and setting the desired frequency and steps ahead to forecast, click Run. It may take a while for the forecasting to process.

    Once it’s completed, you will get predicted values out to the number you specified, the standard error of the results, and two charts. The left is the predicted values plotted with the data, while the right contains handy diagnostics featuring standardized residuals, the autocorrelation of the residuals, a gg plot of the residuals and a Ljung-Box statistics graph to determine if the model is well fitted.

    I won’t get into too much detail on how you look for a well fitted model, but on the ACF graph you don’t want any (or a lot) of the lag spikes crossing over the dotted blue line. On the gg plot, the more circles that go through the line, the more normalized and better fitted the model is. For larger datasets this might cross a lot of circles. Lastly, the Ljung-Box test is an article in itself; however, the more circles that are above the dotted blue line, the better the model is.

    If the diagnostics result doesn’t look good, you might try adding more data or starting at a different point closer to the range you want forecast.

    You can easily clear the generated results by clicking the ‘Clear Forecasted Values’ buttons.

    And that’s it! Currently, the date column doesn’t do anything other than for your reference, but it’s not necessary for the tool. If I find time, I’ll go back and add that so the displayed graph shows the correct time. You also might receive an error when running the forecast. This is usually due to the function that finds the best parameters is unable to determine the proper order. You can follow the above steps to try and arrange your data better for the function to work.

    I also wrote an explanation on ARIMA and the mathematics behind it here.

    Big thanks to Professor Stoffer for making his functions available.

    Модель arima пример в excel

    Перед тем, как применять модель необходимо позаботиться о стационарности динамического ряда.

    Ряд приводят к стационарности взятием последовательных разностей (вместо исходных 3,5,5,4,8 получится 2,0,-1,4) или преобразованием Бокса-Кокса. Стабилизировать дисперсию помогает логарифмирование.

    Критерий Льюнга-Бокса — критерий для выявления автокоррелированности временных рядов.
    Критерий KPSS (KPSS test) — критерий для проверки на стационарность (Hо = ряд стационарен).
    Критерий Дики-Фулера — критерий для проверки на стационарность (Но = ряд нестационарен).

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

    Нужно убедиться, что остатки:

    • имеют низкое абсолютное значение, в них отсутствует тренд и циклы;
    • распределены нормально со средним

    0;

  1. отсутствует автокорреляция (смотрим коррелограмму и тесты «Box-Pierce» «Ljung-Box»).
  2. Если хотя бы что-то не так — значит модель описала не всю структуру и качество можно улучшать. Возвращаемся назад для подбора лучших параметров или преобразования исходных данных.

    1. Построить график. Удалить выбросы, заменить пропущенные значения, декомпозировать ряд.

    2. Обратить внимание на дисперсию, сезонность и тренд. В случае необходимости применить логарифмирование для стабилизации дисперсии или преобразование Бокса-Кокса / последовательные разности для приведения к стационарности.

    3. Убедиться в стационарности ряда при помощи критерия Дики-Фуллера или теста KPSS.

    4. Отобразить ACF и PACF функции, сделать предположение о модели и порядке параметров.

    5. Использовать информационный критерий AIC выбора лучшей модели.
    Или просто воспользоваться автотюнингом: язык программирования R > library(forecast) > auto.arima()

    6. Построить ACF график остатков лучшей модели, убедиться в отсутствии корреляции остатков (тест Бокса-Кокса).

    7. Если остатки выглядят как белый шум и это подтверждено тестом, то можно приступать к прогнозированию.

    8. Оценить точность кросс-валидацией или прогнозом по укороченному ряду.

    Некоторые динамические ряды не имеют устойчивой структуры и сильно зависят от влияния внешних факторов (например: погода, рекламный бюджет). В таких случаях целесообразно применить математическое моделирование. Подойдет простая регрессия, нейронные сеточки, случайные леса, ближайшие соседи, SVM или ансамбль из всех перечисленных (зависит от типа, распределения и объема исходных данных).

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

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

    Специалист из предметной области определяет набор данных, которые необходимо получить и использовать для моделирования. Если таких данных много в уже оцифрованном виде, то применяются математические методы селекции: корреляция (correlation), хи-квадрат (chi-square), мера энтропии (Informaition gain), индекс Джини (GINI index), расчет уменьшения предсказательной способности при исключении переменной, рекурсивное разбиение (Recursive partitioning), сети векторного квантования (Learning Vector Quantization) и др.

    Перечислим полезные лайфхаки:

    • Цикличность можно закодировать категориальным фактором (день недели или месяца) или числовой переменной, которая отражает средний уровень целевой переменной за этот период.
    • Погоду, курсы валют и ставки ЦБ можно получать напрямую через API или скрапингом. Благодаря этому ваша модель будет работать без ручного обогащения новыми данными.
    • Результаты прогноза по ARIMA-моделям могут быть поданы на вход другим алгоритмам для дальнейшего сокращения остатков.

    Планирование денежных потоков по модели AR. Пример расчета в Excel

    Рассмотрим планирование продаж и денежных потоков помощью авторегрессионной модели. Оценка будущих денежных поступлений важна как для собственника компании, так и инвесторам для определения ее эффективности в перспективе.

    Планирование продаж и денежных потоков предприятия

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

    Цель оценки объема продаж – оценка результативности и эффективности предприятия, точки безубыточности и финансового запаса прочности в перспективе.

    Цель оценки денежных потоков – оценка потенциала компании для развития инноваций и реализации инвестиционных проектов.

    Продажи компании и денежные потоки тесно взаимосвязаны между собой следующей формулой:

    Методы планирования продаж и денежных потоков

    Существует множество различных методов прогнозирования объема продаж (денежных потоков): модель скользящего среднего (MA, Moving Average), модель авторегрессии (AR, AutoRegressive), модель авторегрессии скользящего среднего (Autoregressive Moving Average model, ARMA), модель Бокса-Дженкинса и др. В данной статье мы более подробно разберем прогнозирование с помощью модели авторегрессии.

    Авторегрессионные модели (англ. AR, AutoRegressive model) используются для описания устойчивых (стационарных) процессов в экономике, когда на будущие значения прогнозируемой величины влияют предыдущие значения. Авторегрессионные модели (AR) используются в прогнозировании как макроэкономических показателей (ВВП, инфляция и др.), так и для оценки микроэкономических показателей: объем будущих продаж, чистой прибыли, размера денежных потоков т.д.

    Модель прогнозирования продаж и денежных потоков

    Авторегрессионная модель планирования объема продаж и денежных потоков имеет следующий аналитический вид:

    где:

    Yi – прогноз денежного потока или объема продаж;

    Yi-1 – значение денежного потока и продаж в предыдущем периоде;

    α, β – коэффициенты в модели авторегрессии;

    ξ – случайная величина (белый шум).

    Пример планирования продаж и денежных потоков предприятия ОАО «МТС» в Excel

    Разберем практический пример планирования продаж (выручки) и объема денежных потоков предприятия ОАО «МТС». Данное предприятие было выбрано для анализа, потому что имеет устойчивую сеть дистрибьюторов и постоянный спрос на продукцию, что позволяет адекватно сделать оценку. На рисунке ниже представлена выручка и денежный поток компании за 10 лет. Данные были взяты из официальной отчетности предприятия. Денежные потоки представляли собой сумму чистой прибыли предприятия и амортизации (Форма №5 стр. 640 + Форма №2 стр. 190).

    Объем продаж и денежный поток для ОАО “МТС”

    Графически изменение объема продажи и денежного потока имеет следующий вид:

    Как мы видим из рисунка, денежный поток компании резко изменился в 2009 году из-за большого размера начисленной амортизации, что сильно искажает динамику изменения денежного потока. Сделаем прогноз на два года вперед объема продаж и денежного потока предприятия по модели AR.

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

    Расчет авторегрессии для объема продаж и денежного потока в Excel

    На следующем этапе необходимо рассчитать значения коэффициентов регрессии между рядами и рядами с лагами в один год. Воспользуемся надстройкой: Главное меню Excel → «Данные» → «Анализ данных» → «Регрессия». Рассчитаем параметры отдельно для прогнозирования выручки и денежного потока. Пример оценки объема продаж представлен на рисунке ниже.

    Мы получили базовые значения в модели регрессии для выручки (объема продаж). Так коэффициент альфа (α) в модели регрессии равен 16851967162, а коэффициент бета (β) 1,04. Полученная статистика по регрессионной модели имеет следующие важные показатели оценки ее адекватности и точности прогнозирования. Первое на что следует обратить внимание это показатель R-квадрат (коэффициент детерминации), который показывает качество модели в шкале от 0 до 1. В нашем примере качество модели высокое и составляет 0,97. Показатель модели критерий-F близок к 0, что показывает устойчивость модели. Статистический показатель P-значение отражает адекватность значений данных коэффициент (альфа, бета) для полученной модели он меньше 15% для обоих коэффициентов, что удовлетворяет нормативам.

    Показатели оценки качества регрессионной модели в Excel

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

    Сделаем прогноз на основе полученных моделей значений объема продажи и денежного потока на два года вперед. С помощью формул в Excel сделаем прогноз по модели.

    Прогноз продаж по модели AR =$B$19+B6*$B$20

    Планирование продаж и денежных потоков предприятия по модели авторегрессии в Excel

    Визуально планирование продаж будет иметь следующий вид. Наблюдается повышающийся тренд на два года вперед.

    График прогноза объема продаж (выручки) предприятия

    Графически прогноз денежного потока на два года вперед сильно не изменится.

    Прогнозирование денежного потока предприятия по модели авторегрессии (AR)

    Использование методов прогнозирования денежных потоков позволяет оценить показатели эффективности инвестиционных проектов, более подробно про методы оценки проектов читайте в моей статье: “6 методов оценки эффективности инвестиций в Excel. Пример расчета NPV, PP, DPP, IRR, ARR, PI“. Существуют также другие методы планирования объемов продаж компании: XYZ-анализ, ABC-анализ, которые тоже зарекомендовали себя на практике. Так метод ABC анализа на практическом примере разобран в статье: “ABC анализ продаж. Пример расчета в Excel“.

    Мастер-класс: “Как рассчитать план продаж”

    Резюме

    Использование методов авторегресси (AR) для планирования будущих объемов продаж (денежного потока) обосновано, если предприятие имеет устойчивую сеть дистрибьюторов и покупателей на свою продукцию. Достоинством использования данного метода оценки является возможность учета влияния предыдущего объема продаж (денежного потока) на будущие значения. В ситуациях экономического кризиса и нестабильности оценка может сильно изменяться под воздействием макроэкономических факторов и глобальных трендов.

    Автор: к.э.н. Жданов Иван Юрьевич

    Модель ARIMA

    Модель ARIMA в определенной степени является расширенной версией модели ARMA. Символ I (Integrated) отвечает за порядок оператора последовательной разности. Дело в том, что далеко не все ряды являются стационарными, но некоторые из них могут быть приведены к стационарным путем взятия последовательной разности. Если, например, временной ряд у, стал стационарным после взятия последовательной разности порядка s и для описания уже стационарного ряда может быть использована модель ARMA (р, q), то процессу, называется интегрированным процессом авторегрессии и скользящей средней (ARIMA (р, s, q)).

    При этом для оценки модели можно пользоваться несколько модифицированным подходом Бокса – Дженкинса. Непосредственно перед первым этапом необходимо будет привести исследуемый ряд к стационарному путем взятия последовательных разностей. Остальные этапы подхода не изменятся, после этого стационарный ряд нужно будет идентифицировать, оценить, диагностировать и использовать.

    Примеры взятия последовательной разности

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

    1. Уравнение с трендом

    Временной ряд с трендом имеет вид

    где a + βt – временной тренд; ut – белый шум.

    Таким образом, временной тренд состоит из детерминированной составляющей линейного тренда и случайной составляющей белого шума (рис. 8.7). Найдем математическое ожидание временного тренда:

    Рис. 8.7. Тренд (модельный пример)

    Как очевидно, математическое ожидание зависит от времени, следовательно, ряд не является стационарным.

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

    Возможен временной ряд с квадратичным временным трендом и временными трендами высших порядков. Для приведения их к стационарному ряду необходимо взятие последовательной разности тех же порядков. Так, например, чтобы привести к стационарному временной квадратичный тренд, нужно дважды взять последовательную разность:

    где вторая последовательная разность – стационарный ряд.

    2. Случайное блуждание

    Модель случайного блуждания уже описывалась ранее. Уравнение модели имеет вид

    где иt – белый шум.

    Случайное блуждание – классический пример нестационарного ряда. Однако, чтобы привести его к стационарному, нужно просто взять первую разность:

    Первая разность случайного блуждания равняется белому шуму, следовательно, стационарна по определению.

    3. Временной ряд с сезонностью•

    Сезонность часто встречается в статистических данных.

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

    где

    где

    Рис. 8.8. Сезонность (модельный пример)

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

    При этом сезонная последовательная разность Δ4у, будет стационарным временным рядом (рис. 8.8).

    Пример построения модели ARIMA

    В качестве иллюстрирующего примера используем модель ARIMA для ряда значений индекса DAX со 2 апреля 1998 г. по 23 октября 2007 г. (рис. 8.9).

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

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

    Рис. 8.9. Индекс DAX со 2 апреля 1998 г. по 23 октября 2007 г.

    Таблица 8.13. Диаграмма автокорреляционных функций по лагам для DAX

    Документация

    Спецификации модели ARIMA

    Модель ARIMA по умолчанию

    В этом примере показано, как использовать краткий arima(p,D,q) синтаксис, чтобы задать ARIMA по умолчанию ( p , D , q ) модель,

    Δ D y t = c + ϕ 1 Δ D y t — 1 + … + ϕ p Δ D y t — p + ε t + θ 1 ε t — 1 + … + θ q ε t — q ,

    где Δ D y t isa D t h временные ряды differenced. Можно написать эту модель в сжатой форме с помощью обозначения оператора задержки:

    ϕ ( L ) ( 1 — L ) D y t = c + θ ( L ) ε t .

    По умолчанию все параметры в созданном объекте модели имеют неизвестные значения, и инновационное распределение является Гауссовым с постоянным отклонением.

    Задайте модель ARIMA (1,1,1) по умолчанию:

    Выход показывает что созданный объект модели, model , имеет NaN значения для всех параметров модели: постоянный термин, AR и коэффициенты MA и отклонение. Можно изменить созданную модель с помощью записи через точку или ввести его (наряду с данными) к estimate .

    Свойство P имеет значение 2 ( p + D ). Это — количество преддемонстрационных наблюдений, должен был инициализировать модель AR.

    Модель ARIMA с известными значениями параметров

    В этом примере показано, как задать ARIMA ( p , D , q ) модель с известными значениями параметров. Можно использовать такую полностью заданную модель в качестве входа к simulate или forecast .

    Задайте модель ARIMA (2,1,1)

    Δ y t = 0 . 4 + 0 . 8 Δ y t — 1 — 0 . 3 Δ y t — 2 + ε t + 0 . 5 ε t — 1 ,

    где инновационное распределение является t Студента с 10 степенями свободы и постоянным отклонением 0.15.

    Аргумент пары «имя-значение» D задает степень несезонного интегрирования (D) .

    Поскольку все значения параметров заданы, созданный объект модели не имеет никакого NaN значения. Функции simulate и forecast не принимайте входные модели с NaN значения.

    Задайте модель ARIMA Используя приложение Econometric Modeler

    В приложении Econometric Modeler можно задать структуру задержки, присутствие константы, и инновационное распределение ARIMA (p, D, q) модель путем выполнения этих шагов. Все заданные коэффициенты являются неизвестными но допускающими оценку параметрами.

    В командной строке откройте приложение Econometric Modeler.

    В качестве альтернативы откройте приложение из галереи приложений (см. Econometric Modeler).

    В Data Browser выберите ряд времени отклика, к которому модель будет подходящей.

    На вкладке Econometric Modeler, в разделе Models, нажимают ARIMA. Чтобы создать модели ARIMAX, см. Спецификации Модели ARIMAX.

    Диалоговое окно ARIMA Model Parameters появляется.

    Задайте структуру задержки. Чтобы задать ARIMA (p, D, q), модель, которая включает все задержки AR от 1 до p и всех задержек MA от 1 до q, использует вкладку Lag Order. Для гибкости, чтобы задать включение особых задержек, используйте вкладку Lag Vector. Для получения дополнительной информации смотрите Полиномы Оператора Задержки Определения В интерактивном режиме. Независимо от вкладки вы используете, можно проверить форму модели путем осмотра уравнения в разделе Model Equation .

    Задавать модель ARIMA (3,1,2), которая включает константу, включает весь последовательный AR и задержки MA от 1 до их соответствующих порядков, и имеет Гауссово инновационное распределение:

    Установите Degree of Integration на 1 .

    Установите Autoregressive Order на 3 .

    Установите Moving Average Order на 2 .

    Задавать модель ARIMA (3,1,2), которая включает весь AR и задержки MA от 1 до их соответствующих порядков, имеет Распределение Гаусса, но не включает константу:

    Установите Degree of Integration на 1 .

    Установите Autoregressive Order на 3 .

    Установите Moving Average Order на 2 .

    Снимите флажок Include Constant Term.

    Задавать модель ARIMA (8,1,4), содержащую непоследовательные задержки

    ( 1 − ϕ 1 L − ϕ 4 L 4 − ϕ 8 L 8 ) ( 1 − L ) y t = ( 1 + θ 1 L 1 + θ 4 L 4 ) ε t ,

    где εt является серией Гауссовых инноваций IID:

    Кликните по вкладке Lag Vector.

    Установите Degree of Integration на 1 .

    Установите Autoregressive Lags на 1 4 8 .

    Установите Moving Average Lags на 1 4 .

    Снимите флажок Include Constant Term.

    Чтобы задать модель ARIMA (3,1,2), которая включает весь последовательный AR и задержки MA через их соответствующие порядки и постоянный термин, и имеет t — инновации распределения:

    Установите Degree of Integration на 1 .

    Установите Autoregressive Order на 3 .

    Установите Moving Average Order на 2 .

    Нажмите кнопку Innovation Distribution, затем выберите t .

    Параметр степеней свободы распределения t является неизвестным, но допускающим оценку параметром.

    После того, как вы зададите модель, нажмите Estimate, чтобы оценить все неизвестные параметры в модели.

    Смотрите также

    Приложения

    Объекты

    Функции

    Связанные примеры

    Больше о

    Открытый пример

    У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

    Документация Econometrics Toolbox
    Поддержка

    © 1994-2019 The MathWorks, Inc.

    1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

    2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

    3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

    4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

    5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

    ARIMA

    ARIMA models describe phenomena that evolve through time and predict future values. Run them in Excel using the XLSTAT add-on statistical software.

    XLSTAT offers a wide selection of ARIMA models such as ARMA (Autoregressive Moving Average), ARIMA (Autoregressive Integrated Moving Average) or SARIMA (Seasonal Autoregressive Integrated Moving Average).

    What are ARIMA models

    The models of the ARIMA family allow to represent in a synthetic way phenomena that vary with time, and to predict future values with a confidence interval around the predictions.

    The mathematical writing of the ARIMA models differs from one author to the other. The differences concern most of the time the sign of the coefficients. XLSTAT is using the most commonly found writing, used by most software. If we define by Xt a series with mean µ, then if the series is supposed to follow an ARIMA(p,d,q)(P,D,Q)s model, we can write:

    [ Yt = (1 – B)d (1 – Bs)D Xt — µ ; Φ(B)Ø(Bs))Yt = θ(B) Θ(Bs) Zt, Zt∞N(0,σ2) ]

    [ Φ(z) = 1 – Σpi=1 Φi zi, Ø(z)= 1 – Σpi=1 Øi zi ; θ(z) = 1 + Σqi=1 θi zi, Θ(z) = 1 + Σqi=1 Θi zi ]

    p is the order of the autoregressive part of the model. q is the order of the moving average part of the model. d is the differencing order of the model. D is the differencing order of the seasonal part of the model. s is the period of the model (for example 12 if the data are monthly data, and if one noticed a yearly periodicity in the data). P is the order of the autoregressive seasonal part of the model. Q is the order of the moving average seasonal part of the model.

    • Remark 1: the Yt process is causal if and only if for any z such that |z|≤1, f(z)≠0 and q(z)≠0.
    • Remark 2: if D=0, the model is an ARIMA(p,d,q) model. In that case, P, Q and s are considered as null.
    • Remark 3: if d=0 and D=0, the model simplifies to an ARMA(p,q) model.
    • Remark 4: if d=0, D=0 and q=0, the model simplifies to an AR(p) model.
    • Remark 5: if d=0, D=0 and p=0, the model simplifies to an MA(q) model.

    Explanatory variables

    XLSTAT allows you to take into account explanatory variables through a linear model. Three different approaches are possible:

    1. OLS: A linear regression model is fitted using the classical linear regression approach, then the residuals are modeled using an (S)ARIMA model.
    2. CO-LS: If d or D and s are not zero, the data (including the explanatory variables) are differenced, then the corresponding ARMA model is fitted at the same time as the linear model coefficients using the Cochrane and Orcutt (1949) approach.
    3. GLS: A linear regression model is fitted, then the residuals are modeled using an (S)ARIMA model, then we loop back to the regression step, in order to improve the likelihood of the model by changing the regression coefficients using a Newton-Raphson approach.

    Note: if no differencing is requested (d=0 and D=0), and if there are no explanatory variables in the model, the constant of the model is estimated using CO-LS.

    Цитата
    JeyCi написал:
    только книгу недавно встречала (по эконометрике), если с англ дружите…

    Сам предмет Эконометрика уже давно в России, и есть книги и на русском, покрайне мере я в универе его изучал по Русским книгам.
    основа, это знание Алгебры (все графики, все виды зависимостей Ф(х)), и видеть эти графики в исходных данных(статистике)
    соединение всех влияющих факторов во единую формулу (чем больше факторов тем точней достоверность)
    определения достоверности результата. (90-95% это потолок выше это само обман)

    И то что вы на основание одного фактора (выручка от даты) пытаетесь сделать прогноз, и при этом кричите что его погрешность 10%, это само обман.
    Даже прогноз погоды будет холодно или жарко складывают из температуры, влажности, давления, осадки, пасмурность, время дня……

    В экселе можно нарисовать уже готовую формулу Ф(х), но составить уравнение( что от чего и как зависит) нужно самостоятельно, оно уникально в каждом случае

    history 4 июля 2021 г.
      Группы статей

    В

    первом разделе статьи

    модели для прогнозирования временных рядов сравниваются с моделями, построение которых основано на причинно-следственных закономерностях.

    Во

    втором разделе

    приведен краткий обзор трендов временных рядов (линейный и сезонный тренд, стационарный процесс). Для каждого тренда предложена модель для прогнозирования.

    Затем даны ссылки на сайты по теории прогнозирования временных рядов и содержащие базы статистических данных.


    Disclaimer:

    Напоминаем, что задача сайта excel2.ru (раздел

    Временные ряды

    ) продемонстрировать использование MS EXCEL для решения задач, связанных с прогнозированием временных рядов. Поэтому, статистические термины и определения приводятся лишь для логики изложения и демонстрации идей. Сайт не претендует на математическую строгость изложения статистики. Однако в наших статьях:

    •    ПОЛНОСТЬЮ описан встроенный в EXCEL инструментарий по анализу временных рядов (в составе

    надстройки Пакет анализа

    , различных

    типов Диаграмм

    (

    гистограмма

    ,

    линия тренда

    ) и формул);

    •    созданы файлы примера для построения соответствующих графиков, прогнозов и их интервалов предсказания, вычисления ошибок, генерации рядов (с

    трендами

    и

    сезонностью

    ) и пр.

    Модели временных рядов и модели предметной области

    Напомним, что временным рядом (англ. Time Series) называют совокупность наблюдений изучаемой величины, упорядоченную по времени. Наблюдения производятся через одинаковые периоды времени. Другой информацией, кроме наблюдений, исследователь не обладает.

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

    Таким образом, прогнозирование основывается на фактических данных (значениях временного ряда) и модели (

    скользящее среднее

    ,

    экспоненциальное сглаживание

    ,

    двойное и тройное экспоненциальное сглаживание

    и др.).


    Примечание

    : Прогнозирование методом Скользящее среднее в MS EXCEL подробно рассмотрено в

    одноименной статье

    .

    В отличие от методов временных рядов,

    где зависимости ищутся внутри самого процесса

    , в «моделях предметной области» (англ. «Causal Models») кроме самих данных используют еще и законы предметной области.

    Примером построения «моделей предметной области» (

    моделей строящихся на основе причинно-следственных закономерностей, априорно известных независимо от имеющихся данных

    ) может быть промышленный процесс изготовления защитной ткани. Пусть в таком процессе известно, что прочность материала ткани зависит от температуры в реакторе, в котором производится процесс полимеризации (температура — контролируемый фактор). Однако, прочность материала является все же случайной величиной, т.к. зависит помимо температуры также и от множества других факторов (качества исходного сырья, температуры окружающей среды, номера смены, умений аппаратчика реактора и пр.). Эти другие факторы в процессе производства стараются держать постоянными (сырье проходит входной контроль и его поставщик не меняется; в помещении, где стоит реактор, поддерживается постоянная температура в течение всего года; аппаратчики проходят обучение и регулярно проводится переаттестация). Задачей статистических методов в этом случае – предсказать значение случайной величины (прочности) при заданном значении изменяемого фактора (температуры).

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

    Регрессионный анализ

    », т.к. есть основания сделать гипотезу о существовании причинно-следственной связи между управляемым фактором и прогнозируемой величиной.

    Модели, строящиеся на основе причинно-следственных закономерностей, упомянуты в этой статье для того чтобы акцентировать, что их изучение предшествует теме «временные ряды». Так, часть методов, например «Регрессионный анализ» (используется

    метод наименьших квадратов — МНК

    ), используется при анализе временных рядов, но изучаются в моделях предметной области, поэтому неподготовленным «пытливым умам» не стоит игнорировать раздел статистики «

    Статистический вывод

    », в котором проверяются гипотезы о

    равенстве среднего значения

    и строятся

    доверительные интервалы для оценки среднего

    , и упомянутый выше «Регрессионный анализ».

    Кратко о типах процессов и моделях для их прогнозирования

    Выбор подходящей модели прогнозирования делается с учетом типа моделируемого процесса (наличие трендов). Рассмотрим основные типы процессов.

    1. Стационарный процесс

    Стационарный процесс – это случайный процесс чьи характеристики не зависят от времени их наблюдения. Этими характеристиками являются

    среднее значение

    ,

    дисперсия

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

    Почему стационарный процесс важен? Так как стационарность подразумевает нахождение процесса в состоянии статистической стабильности, то такие временные ряды имеют постоянное среднее значение и дисперсию, которые определяются стандартным образом.

    Также для стационарного процесса определяется

    функция автокорреляции

    – совокупность коэффициентов корреляции значений временного ряда с собственными значениями, сдвинутыми по времени на один или несколько периодов. Сдвиг на несколько временных периодов часто называется лагом (обозначается k).

    Функция автокорреляции является важным источником информации о временном ряде.

    Примером стационарного процесса является колебания биржевого индекса, состоящего из стоимости акций нескольких компаний, около определённого значения (в период стабильности рынка).


    Примечание

    : график стоимости акций построен на реальных данных, см.

    файл примера Google

    .

    Специальным видом стационарного процесса является белый шум. У этого процесса: среднее значений ряда равно 0, имеется конечная дисперсия и отсутствует корреляция между значениями исходного ряда и рядом сдвинутым на произвольное количество периодов (лагов). В MS EXCEL белый шум можно сгенерировать функцией СЛЧИС().

    2. Линейный тренд

    Некоторые процессы генерируют тренд (монотонное изменение значений ряда). Например, линейный тренд y=a*x+b, точнее y=a*t+b, где t – это время. Примером такого (не стационарного) процесса может быть монотонный рост стоимости недвижимости в некотором районе.

    Для вычисления прогнозного значения можно воспользоваться методами

    Регрессионного анализа

    и подобрать параметры тренда: наклон и смещение по вертикали.


    Примечание

    : Про генерацию случайных значений, демонстрирующих линейный тренд, можно посмотреть в статье

    Генерация данных для простой линейной регрессии в EXCEL

    .

    3. Процессы, демонстрирующие сезонность

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

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


    Примечание

    : Про генерацию случайных значений, демонстрирующих сезонность, можно посмотреть в статье Генерация сезонных трендов в EXCEL.

    Часто на практике встречаются ряды, являющиеся комбинацией вышеуказанных типов тенденций.

    О моделях прогнозирования

    В качестве простейшей модели для прогноза можно взять последнее значение индекса. Этой модели соответствует следующий ход мысли исследователя: «Если значение индекса вчера было 306, то и завтра будет 306».

    Этой модели соответствует формула Y

    прогноз(t)

    = Y

    t-1

    (прогноз в момент времени t равен значению временного ряда в момент t-1).

    Другой моделью является среднее за последние несколько периодов (

    скользящее среднее

    ). Этой модели соответствует другой ход мысли исследователя: «Если среднее значение индекса за последние n периодов было 540, то и завтра будет 540». Этой модели соответствует формула Y

    прогноз(t)

    =(Y

    t-1

    + Y

    t-2

    +…+Y

    t-n

    )/n

    Обратите внимание, что значения временного ряда берутся с одинаковым весом 1/n, то есть более ранние значения (в момент t-n) влияют на прогноз также как и недавние (в момент t-1). Конечно, в случае, если речь идет о стационарном процессе (без тренда), такая модель может быть приемлема. Чем больше количество периодов усреднения (n), тем меньше влияние каждого индивидуального наблюдения.

    Третьей моделью для стационарного процесса может быть

    экспоненциальное сглаживание

    . В этом случае веса более ранних периодов будут меньше чем веса поздних. При этом учитываются все предыдущие наблюдения. Вес каждого последующего наблюдения больше на 1-α (Фактор затухания), где α (альфа) – это константа сглаживания (от 0 до 1).

    Этой модели соответствует формула Y

    прогноз(t)

    =α*Y

    t-1

    + α*(1-α)*Y

    t-2

    + α*(1-α)2*Y

    t-3

    +…)

    Формулу можно переписать через предыдущий прогноз Y

    прогноз(t)

    =α*Y

    t-1

    +(1- α)* Y

    прогноз(t-1)

    = α*(Y

    t-1

    — Y

    прогноз(t-1)

    )+Y

    прогноз(t-1)

    = α*(ошибка прошлого прогноза)+ прошлый прогноз

    При экспоненциальном сглаживании прогнозное значение равно сумме последнего наблюдения с весом альфа и предыдущего прогноза с весом (1-альфа). Этой модели соответствует следующий ход мысли исследователя: «Вчера рано утром я предсказывал, что индекс будет равен 500, но вчера в конце дня значение индекса составило 480 (ошибка составила 20). Поэтому за основу сегодняшнего прогноза я беру вчерашний прогноз и корректирую его на величину ошибки, умноженную на альфа. Параметр альфа (константа) я найду методом экспоненциального сглаживания».

    Подробнее о методе прогнозирования на основе экспоненциального сглаживания можно

    найти в этой статье

    .

    Полезный сигнал и шум

    Из-за случайного разброса, присущему временному ряду, временной ряд представляют как комбинацию двух различных компонентов: полезного сигнала и шума (ошибки). Полезный сигнал следует одному из 3-х вышеуказанных типов процессов. Сигнал может быть смоделирован и соответственно спрогнозирован. Шум представляет собой случайные ошибки (со средним значением =0, отсутствием корреляции и с фиксированной

    дисперсией

    ).

    Основной задачей моделирования идентификация полезного сигнала, имеющего определенный тренд, от непредсказуемого шума. Для этого как раз и используются Модели сглаживания.

    Ссылки на источники статистических данных и обучающие материалы

    Все источники англоязычные.

    Сайт о применении EXCEL в статистике

    Welcome

    Национальный Институт Стандартов и технологии

    https://www.itl.nist.gov/div898/handbook/pmc/section4/pmc4.htm

    Using R for Time Series Analysis

    https://a-little-book-of-r-for-time-series.readthedocs.io/en/latest/src/timeseries.html#time-series-analysis

    Учебник по прогнозированию временных рядов

    https://otexts.com/fpp2/

    Данные по болезням в Великобритании

    https://ms.mcmaster.ca/~bolker/measdata.html

    Курсы в Eberly College of Science (есть ссылки на базы данных)

    https://online.stat.psu.edu/stat501/lesson/welcome-stat-501

    https://online.stat.psu.edu/stat510/

    ARIMA — модель авторегрессии скользящего среднего, которая применяется для построения краткосрочных прогнозов величины на основании её предыдущих значений. Разбираем построение модели в Loginom для прогноза объема продаж сезонных товаров зимнего спорта по месяцам.

    • Исходные данные
    • Построение модели
    • Результаты прогнозирования
    • Построение графика
    • Анализ полученных результатов
    • Увеличение точности прогноза
    • Автоматизация прогнозирования в Loginom

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

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

    Анализ временных рядов лучше использовать для краткосрочного прогнозирования, т.к. при увеличении горизонта прогноза модель начинает рассчитывать новые значения на основании своих же предсказаний. Это допустимо на определенном временном интервале, но по мере увеличения горизонта прогнозы становятся гораздо менее точными из-за накапливающейся погрешности.

    Важно учитывать и ограничения — такой метод подходит только для планирования стохастических (стационарных) процессов, в которых не изменяется распределение вероятности при смещении времени. Например, для расчета объема продаж.

    Существует класс моделей, в которых реализуется этот метод:

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

    Данные аббревиатуры можно расшифровать следующим образом:

    • AR – модель авторегрессии. Вычисление значения прогнозируемой величины в заданный момент времени на основе её предыдущих значений.
    • I – интеграция. Изучение не самих значений процесса, а изменений его показателей друг относительно друга.
    • MA – модель скользящего среднего. Фильтр, сглаживающий выбросы временного ряда посредством замены исходного значения средним арифметическим значением нескольких ближайших к нему членов.
    • X – расширения. Добавление в модель внешних факторов, влияние которых будет учитываться в прогнозе.

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

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

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

    Оставим за скобками процессы предобработки и дальнейшего использования данных и разберемся, как работает обработчик ARIMAX.

    Исходные данные

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

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

    Ниже представлена таблица 1, которая состоит из следующих столбцов:

    • Дата. Первое число каждого месяца, т.к. временной интервал взят помесячно.
    • Продажи (руб.). Суммарные объемы продаж товаров для зимнего спорта за месяц.

    Таблица 1. Исходные данные:

    Дата Продажи (руб.)
    01.05.2015 250 127.68
    01.06.2015 225 127.56
    01.07.2015 184 265.77
    01.08.2015 200 792.53
    01.09.2015 265 275.44
    01.10.2015 339 285.82
    01.11.2015 390 677.54
    01.12.2015 417 945.20

    Построение модели

    В Loginom есть специальный обработчик ARIMAX, который включает в себя математическую модель ARIMA с расширениями, влияние которых будет учитываться при построении прогноза. Если внешних данных не поступает на вход, то он превращается в ARIMA.

    Перенесем этот элемент на область построения сценария, подав на вход узла исходные данные.

    Настроим обработчик ARIMAX для получения прогнозных данных. Первое окно — «Настройка входных столбцов», здесь каждому столбцу исходных данных нужно задать одно из трех возможных значений:

    • Не задано. Автоматически устанавливается для всех полей.
    • Входное. Нужно задать для полей, которые соответствуют внешнему фактору, в нашем примере их нет.
    • Прогнозируемое. Может быть установлено только для одного поля, в нашем случае «Продажи (руб.)».

    Настройка входных столбцов обработчика ARIMAX

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

    Основные настройки задаются в окне «Настройки ARIMAX», причем при отсутствии конкретных критериев прогноза можно установить отметку в поле «Определить структуру автоматически», и обработчик рассчитает необходимые параметры для ваших данных.

    По умолчанию значение горизонта прогноза устанавливается равным 1, это значит, что мы получим прогноз на один период вперед. Чтобы нагляднее увидеть работу узла, изменим это значение на 5.

    Автоматическая настройка обработчика ARIMAX

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

    Для этого в контекстном меню выберем «Переобучить узел».

    Переобучение узла

    Результаты прогнозирования

    В узле ARIMAX три выходных порта:

    • Выход модели
    • Коэффициенты модели
    • Сводка

    После запуска обработчика ARIMAX можно открыть «Быстрый просмотр» на первом выходном порту и увидеть, что исходные данные дополнились следующими выходными столбцами:

    • Продажи (руб.)ǀПрогноз. Прогноз объема продаж на основе предыдущих периодов.
    • Продажи (руб.)ǀНижняя граница. Нижняя граница прогноза объема продаж на основе предыдущих периодов.
    • Продажи (руб.)ǀВерхняя граница. Верхняя граница прогноза объема продаж на основе предыдущих периодов.
    • Продажи (руб.)ǀОшибка аппроксимации. Среднее отклонение расчетных значений от фактических, будет отображаться, если установлена отметка в «Рассчитать ошибку аппроксимации».

    Выход модели ARIMAX

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

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

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

    Прежде, чем переходить к построению графиков, необходимо заполнить значения временного ряда для появившихся строк, иначе график прогноза будет отображаться только на исходном временном периоде, а значения на горизонте прогноза не будут отражены. Для этого добавим узел «Калькулятор».

    В настройках узла создадим переменную AllDates, которая будет содержать все значения временного ряда. Расчет будет строиться с помощью функции условия If. Если поле даты пустое, то функция AddMonth добавляет необходимое количество месяцев к последнему известному значению, в противном случае вносит ту дату, которая указана в поле.

    Для того, чтобы вычислить количество месяцев, необходимо сначала найти разность между номером текущей строки (функция RowNum()) и количеством уникальных значений поля Date (функция Stat(«Date», «UniqueCount»)), а затем добавить к полученному результату 2. Важно учитывать, что нумерация строк начинается с 0, а в количестве уникальных значений присутствуют не только исходные даты, но и пустое значение в появившихся после прогноза строках, именно поэтому вводится цифра 2.

    Калькулятор Loginom

    После выполнения узла «Калькулятор» в таблице на его выходном порту появится столбец «Все даты».

    Построение графика

    Для того, чтобы визуально оценить прогнозные значения и их корреляцию с фактическими показателями, построим графики исходных значений объема продаж и прогноза этой величины, полученного в результате использования модели ARIMA.

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

    График прогноза продаж

    Анализ полученных результатов

    На графике отчетливо выделяются 3 временных периода:

    1. Обучение модели. На этом временном отрезке возможно построение только кривой фактических данных.
    2. Построение прогноза при наличии фактических значений величины. На графике присутствуют сразу две кривые, что позволяет визуально оценить, насколько близки полученные в результате работы модуля ARIMA прогнозные значения к фактическим.
    3. Горизонт прогноза — отображается кривая прогноза.

    В качестве этапа обучения модели обработчик ARIMAX задал временной промежуток 29 месяцев (около 2 лет). На втором интервале видно, что графики объема продаж и его прогноза имеют одинаковую форму, но при этом значения величин в некоторых точках значительно отличаются. Линия прогноза на 3 временном промежутке визуально повторяет форму кривой исходных значений продаж.

    Увеличение точности прогноза

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

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

    Изменим показатели в окне настройки ARIMAX, как это показано на рисунке ниже.

    Настройка обработчика ARIMAX

    Далее необходимо будет произвести переобучение данного узла.

    Значения прогноза будут пересчитаны, и в визуализаторе мы сможем увидеть, что графики кривых на 2 временном периоде приняли почти одинаковый вид. Это говорит о том, что точность прогноза увеличилась.

    График прогноза продаж

    Чтобы убедиться в том, что прогноз стал точнее, откроем вкладку «Сводка» на третьем выходном порте модели. Значение средней относительной ошибки на обучающем множестве сократились в несколько раз по сравнению с предыдущими.

    Ошибки сводки ARIMAX

    Автоматизация прогнозирования в Loginom

    В данном примере мы построили прогноз объема продаж сезонных товаров для зимнего спорта с помощью модели ARIMA.

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

    Сам обработчик ARIMAX характеризуется простотой использования и быстрой работой, достаточно подать на вход данные и ввести показатели прогнозирования (а можно и не вводить вовсе), и уже через несколько секунд получить корректный прогноз. Кроме того, в Loginom можно построить графики с кривыми фактических и прогнозных значений, что в полной мере позволяет визуально оценить полученный результат.

    Другие материалы по теме:

    Автоматизация прогнозирования розничных продаж. Кейс Estee Lauder Companies Inc.

    Прогнозирование аварий и обнаружение потерь на объектах газоснабжения

    Прогнозирование в разрезе SKU. Новые возможности повышения адекватности прогнозов

    Понравилась статья? Поделить с друзьями:
  3. Прогноз экономических показателей в excel
  4. Прогноз цен в excel
  5. Прогноз спорта в excel
  6. Прогноз с помощью скользящей средней в excel
  7. Прогноз с помощью регрессии в excel