Відмінності між версіями «Методи прогнозування»

м (Редагування користувача Admington (обговорення) відкинуті до версії користувача Shore)
 
(Не показані 39 проміжних версій 9 користувачів)
Рядок 1: Рядок 1:
{{Завдання|hotcoffe|Назаревич О.Б.|28 лютого 2010}}
+
{{Невідредаговано}}
 +
{{Студент | Name= Євген| Surname=Олійник | FatherNAme=|Faculti=ФІС | Group=СНм-51 | Zalbook=}}
  
  http://elartu.tstu.edu.ua/handle/ Презентація доповіді (університетський репозиторій).
+
http://elartu.tstu.edu.ua/handle/123456789/411 Презентація доповіді (університетський репозиторій).
  
 
= Методи прогнозування =
 
= Методи прогнозування =
  
 
До недавнього часу (середини 80-х років минулого століття) існувало декілька загальновизнаних методів прогнозування тимчасових рядів:
 
До недавнього часу (середини 80-х років минулого століття) існувало декілька загальновизнаних методів прогнозування тимчасових рядів:
 +
  
 
• Економетричні
 
• Економетричні
Рядок 12: Рядок 14:
  
 
• Методи Бокса-дженкінса (ARIMA, ARMA)
 
• Методи Бокса-дженкінса (ARIMA, ARMA)
 +
  
 
Проте, починаючи з кінця 80-х років, в науковій літературі були опубліковані ряд статей з нейромережевої тематики, в яких був приведений ефективний алгоритм навчання нейронних мереж і доведена можливість їх використання для найширшого кола завдань.
 
Проте, починаючи з кінця 80-х років, в науковій літературі були опубліковані ряд статей з нейромережевої тематики, в яких був приведений ефективний алгоритм навчання нейронних мереж і доведена можливість їх використання для найширшого кола завдань.
  
 
Ці статті відродили інтерес до нейромереж в науковому співтоваристві і останні дуже скоро почали широко використовуватися при дослідженнях в самих різних областях науки від експериментальної фізики і хімії до економіки.
 
Ці статті відродили інтерес до нейромереж в науковому співтоваристві і останні дуже скоро почали широко використовуватися при дослідженнях в самих різних областях науки від експериментальної фізики і хімії до економіки.
 +
  
  
 
= Методи прогнозування, засновані на згладжуванні, експоненційному  згладжуванні і ковзному середньому =
 
= Методи прогнозування, засновані на згладжуванні, експоненційному  згладжуванні і ковзному середньому =
 +
  
 
== "Наївні" моделі прогнозування ==
 
== "Наївні" моделі прогнозування ==
 +
  
 
При створенні "наївних" моделей передбачається, що деякий основний період прогнозованого тимчасового ряду краще всього описує майбутнє цього прогнозованого ряду, тому в цих моделях прогноз, як правило, є дуже простою функцією від значень прогнозованої змінної в недалекому минулому.
 
При створенні "наївних" моделей передбачається, що деякий основний період прогнозованого тимчасового ряду краще всього описує майбутнє цього прогнозованого ряду, тому в цих моделях прогноз, як правило, є дуже простою функцією від значень прогнозованої змінної в недалекому минулому.
Рядок 48: Рядок 54:
  
 
це спроба врахувати сезонні коливання.
 
це спроба врахувати сезонні коливання.
 +
 +
[[Файл:23.png|border|center|Прогнозування ]]
 +
<center>Рис.1 - Прогнозування найпростішими методами. </center>
 +
 +
[[Файл:24.png|border|center|Прогнозування ]]
 +
<center>Рис.2 - Прогнозування найпростішими методами. </center>
  
 
== Середні і ковзаючі середні ==
 
== Середні і ковзаючі середні ==
Рядок 83: Рядок 95:
  
 
[[Файл:qa.png|border|center|Залежність впливу даних на прогноз при різних коефіцієнтах а ]]
 
[[Файл:qa.png|border|center|Залежність впливу даних на прогноз при різних коефіцієнтах а ]]
<center>Рис.1 - Залежність впливу даних на прогноз при різних коефіцієнтах а </center>
+
<center>Рис.3 - Залежність впливу даних на прогноз при різних коефіцієнтах а </center>
  
 
Видно, що при a→1, експоненціальна модель прагне до найпростішої "наївної" моделі. При a→0, прогнозована величина стає рівною попередньому прогнозу.
 
Видно, що при a→1, експоненціальна модель прагне до найпростішої "наївної" моделі. При a→0, прогнозована величина стає рівною попередньому прогнозу.
Рядок 92: Рядок 104:
  
 
Разом з цим хотілося б відзначити, що описані алгоритми цілком успішно можна використовувати як супутні і допоміжні для передобробки даних в завданнях прогнозування. Наприклад, для прогнозування продажу в більшості випадків необхідно проводити декомпозицію тимчасових рядів (тобто виділяти окремо тенденційну, сезонну і нерегулярну складові). Одним з методів виділення тенденційних складових є використання експоненціального згладжування.
 
Разом з цим хотілося б відзначити, що описані алгоритми цілком успішно можна використовувати як супутні і допоміжні для передобробки даних в завданнях прогнозування. Наприклад, для прогнозування продажу в більшості випадків необхідно проводити декомпозицію тимчасових рядів (тобто виділяти окремо тенденційну, сезонну і нерегулярну складові). Одним з методів виділення тенденційних складових є використання експоненціального згладжування.
 +
 +
[[Файл:26.png|border|center|Прогнозування ]]
 +
<center>Рис.4 - Прогнозування ковзаючим середнім. </center>
 +
 +
[[Файл:27.png|border|center|Прогнозування ]]
 +
<center>Рис.5 - Спад адекватності при ковзаючому середньому. </center>
  
 
= Методи Хольта і Брауна =
 
= Методи Хольта і Брауна =
  
 
В середині минулого століття Хольт запропонував вдосконалений метод експоненціального згладжування, згодом названий його ім'ям. У запропонованому алгоритмі значення рівня і тенденції згладжуються за допомогою експоненціального згладжування. Причому параметри згладжування у них різні.
 
В середині минулого століття Хольт запропонував вдосконалений метод експоненціального згладжування, згодом названий його ім'ям. У запропонованому алгоритмі значення рівня і тенденції згладжуються за допомогою експоненціального згладжування. Причому параметри згладжування у них різні.
 
+
<center>
 
  <math>\left\{ \begin{matrix}
 
  <math>\left\{ \begin{matrix}
 
   \Omega _{t}=\alpha Y_{t}+\left( 1-\alpha  \right)\left( \Omega _{t-1}-T_{t-1} \right),  \\
 
   \Omega _{t}=\alpha Y_{t}+\left( 1-\alpha  \right)\left( \Omega _{t-1}-T_{t-1} \right),  \\
Рядок 102: Рядок 120:
 
   \hat{Y}_{t+p}=\Omega _{t}+pT_{t}  \\
 
   \hat{Y}_{t+p}=\Omega _{t}+pT_{t}  \\
 
\end{matrix} \right.</math>
 
\end{matrix} \right.</math>
 
+
</center>
 
Тут перше рівняння описує згладжений ряд загального рівня.
 
Тут перше рівняння описує згладжений ряд загального рівня.
  
Рядок 116: Рядок 134:
  
 
Хоча описаний вище метод Хольта (метод двохпараметричного експоненціального згладжування) і не є зовсім простим (щодо "наївних" моделей і моделей, заснованих на усереднюванні), він не дозволяє враховувати сезонні коливання при прогнозуванні. Кажучи акуратніше, цей метод не може їх "бачити" в передісторії. Існує розширення методу Хольта до трьохпараметричного експоненціального згладжування. Цей алгоритм називається методом Вінтерса. При цьому робиться спроба врахувати сезонні складові даних. Система рівнянь, що описують метод Вінтерса виглядає таким чином:
 
Хоча описаний вище метод Хольта (метод двохпараметричного експоненціального згладжування) і не є зовсім простим (щодо "наївних" моделей і моделей, заснованих на усереднюванні), він не дозволяє враховувати сезонні коливання при прогнозуванні. Кажучи акуратніше, цей метод не може їх "бачити" в передісторії. Існує розширення методу Хольта до трьохпараметричного експоненціального згладжування. Цей алгоритм називається методом Вінтерса. При цьому робиться спроба врахувати сезонні складові даних. Система рівнянь, що описують метод Вінтерса виглядає таким чином:
 
+
<center>
 
<math>\left\{ \begin{matrix}
 
<math>\left\{ \begin{matrix}
 
   \Omega _{t}=\alpha \frac{Y_{t}}{S_{t-s}}+\left( 1-\alpha  \right)\left( \Omega _{t-1}-T_{t-1} \right),  \\
 
   \Omega _{t}=\alpha \frac{Y_{t}}{S_{t-s}}+\left( 1-\alpha  \right)\left( \Omega _{t-1}-T_{t-1} \right),  \\
Рядок 123: Рядок 141:
 
   \hat{Y}_{t+p}=\left( \Omega _{t}+pT_{t} \right)S_{t-s+p}  \\
 
   \hat{Y}_{t+p}=\left( \Omega _{t}+pT_{t} \right)S_{t-s+p}  \\
 
\end{matrix} \right.</math>
 
\end{matrix} \right.</math>
   
+
  </center>
 
Дріб в першому рівнянні служить для виключення сезонності з Y(t). Після виключення сезонності алгоритм працює з "чистими" даними, в яких немає сезонних коливань. З'являються вони вже в самому фінальному прогнозі, коли "чистий" прогноз, порахований майже по методу Хольта умножається на сезонний коефіцієнт.
 
Дріб в першому рівнянні служить для виключення сезонності з Y(t). Після виключення сезонності алгоритм працює з "чистими" даними, в яких немає сезонних коливань. З'являються вони вже в самому фінальному прогнозі, коли "чистий" прогноз, порахований майже по методу Хольта умножається на сезонний коефіцієнт.
 +
 +
[[Файл:25.png|border|center|Прогнозування ]]
 +
<center>Рис.6 - Прогнозування методи Вінтерса. </center>
  
 
= Регресійні методи прогнозування =
 
= Регресійні методи прогнозування =
Рядок 131: Рядок 152:
  
 
Модель множинної регресії в загальному випадку описується виразом
 
Модель множинної регресії в загальному випадку описується виразом
 
+
<center>
 
  <math>Y=F\left( X_{1},\,X_{2},\,...,\,X_{N} \right)+\varepsilon </math>
 
  <math>Y=F\left( X_{1},\,X_{2},\,...,\,X_{N} \right)+\varepsilon </math>
 
+
</center>
 
У простішому варіанті лінійної регресійної моделі залежність залежної змінної від незалежних має вигляд:
 
У простішому варіанті лінійної регресійної моделі залежність залежної змінної від незалежних має вигляд:
 
+
<center>
 
<math>Y=\beta _{0}+\beta _{1}X_{1}+\beta _{2}X_{2}+...+\beta _{N}X_{N}+\varepsilon </math>
 
<math>Y=\beta _{0}+\beta _{1}X_{1}+\beta _{2}X_{2}+...+\beta _{N}X_{N}+\varepsilon </math>
 
+
</center>
 
Тут <math>\beta _{1},\beta _{2},\,...,\,\beta _{N}-</math>  підбирані коефіцієнти регресії
 
Тут <math>\beta _{1},\beta _{2},\,...,\,\beta _{N}-</math>  підбирані коефіцієнти регресії
  
 
<math>\varepsilon -</math>  компонента помилки. Передбачається, що всі помилки незалежні і нормально розподілені.
 
<math>\varepsilon -</math>  компонента помилки. Передбачається, що всі помилки незалежні і нормально розподілені.
 
Для побудови регресійних моделей необхідно мати базу даних спостережень приблизно такого вигляду:
 
Для побудови регресійних моделей необхідно мати базу даних спостережень приблизно такого вигляду:
 
+
<center>
 
+
<table width="382" border="1">
змінні
 
незалежні залежна
 
№ X1 X2 ... XN Y
 
1 x_11 x_12 ... x_1N Y_1
 
2 x_21 x_22 ... x_2N Y_2
 
... ... ... ... ... ...
 
m x_M1 x_M2 ... x_MN Y_m
 
 
 
За допомогою таблиці значень минулих спостережень можна підібрати (наприклад, методом найменших квадратів) коефіцієнти регресії, побудувавши тим самим модель.
 
 
 
При роботі з регресією треба дотримуватися певної обережності і обов'язково перевірити на адекватність знайдені моделі. Існують різні способи такої перевірки. Обов'язковим є статистичний аналіз залишків, тест Дарбіна-Уотсона. Корисно, як і у випадку з нейронними мережами, мати незалежний набір прикладів, на яких можна перевірити якість роботи моделі.
 
5 Методи Бокса-дженкинса (ARIMA)
 
В середині 90-х років минулого століття був розроблений принципово новий і достатньо могутній клас алгоритмів для прогнозування тимчасових рядів. Велику частину роботи по дослідженню методології і перевірці моделей була проведена двома статистиками, Г.Е.П. Боксом (G.E.P. Box) і Г.М. Дженкинсом (G.M. Jenkins). З тих пір побудова подібних моделей і отримання на їх основі прогнозів іноді називатися методами Бокса-дженкинса. В це сімейство входить декілька алгоритмів, найвідомішим і використовуваним з них є алгоритм ARIMA. Він вбудований практично в будь-який спеціалізований пакет для прогнозування. У класичному варіанті ARIMA не використовуються незалежні змінні. Моделі спираються тільки на інформацію, що міститься в передісторії прогнозованих рядів, що обмежує можливості алгоритму. В даний час в науковій літературі часто згадуються варіанти моделей ARIMA, що дозволяють враховувати незалежні змінні. У даній доповіді вони розглядатись не будуть, обмежимось тільки загальновідомим класичним варіантом. На відміну від розглянутих раніше методик прогнозування тимчасових рядів, в методології ARIMA не передбачається якої-небудь чіткої моделі для прогнозування даної тимчасової серії. Задається лише загальний клас моделей, що описують часовий ряд і що дозволяють якось виражати поточне значення змінної через її попередні значення. Потім алгоритм, підстроюючи внутрішні параметри, сам вибирає найбільш відповідну модель прогнозування. Як вже наголошувалося вище, існує ціла ієрархія моделей Бокса-дженкинса. Логічно її можна визначити так
 
 
 
AR(p)+MA(q)→ARMA(p,q)→ARMA(p,q)(P,Q)→ARIMA(p,q,r)(P,Q,R)→...
 
5.1 AR(p) -авторегресивна модель порядку р.
 
Модель має вигляд:
 
 
 
 
 
 
де
 
Y(t) –залежна змінна у момент часу t. f0, f1, f2 ..., fp - оцінювані параметри. E(t) - помилка від впливу змінних, які не враховуються в даній моделі. Завдання полягає в тому, щоб визначити f0, f1, f2 ..., fp. Їх можна оцінити різними способами. Найправильніше шукати їх через систему рівнянь Юла-уолкера, для складання цієї системи буде потрібно розрахунок значень автокореляційної функції. Можна поступити простішим способом - порахувати їх методом найменших квадратів.
 
5.2 MA(q) -модель з ковзаючим середнім порядку q.
 
Модель має вигляд:
 
 
 
 
 
 
Де Y(t) -залежна змінна у момент часу t. w0, w1, w2 ..., wp - оцінювані параметри.
 
5.3 Авторегресійне ковзне середнє ARMA(p,q)
 
Під позначенням ARMA(p,q) [3] розуміється модель, p авторегресійних складових, що містить  q, ковзаючих середніх. Точніше модель ARMA(p,q) включає моделі AR(p) і MA(q):
 
 
Зазвичай значення помилки  вважають незалежними однаково розподіленими випадковими величинами, узятими з нормального розподілу з нульовим середнім:  де  — дисперсія. Припущення можна ослабити, але це може привести до зміни властивостей моделі. Наприклад, якщо не припускати незалежності і однакового розподілу помилок, поведінка моделі суттєво міняється.
 
5.4 ARIMA (p,d,q)
 
У  завданні  аналізу тимчасового  ряду  з  складною структурою  часто  використовуються  моделі  класу  ARIMA(p,d,q)[2] (авторегресійне  інтегрування  ковзаючого  середнього - Autoregressive Integrated Moving Average)  порядку (p,d,q),  які    моделюють  різні  ситуації,  що зустрічаються  при  аналізі стаціонарних і нестаціонарних рядів. Залежно від  аналізованого  ряду  модель  ARIMA (p,d,q)  може  трансформуватися  до  авторегресійної моделі  AR(p), моделі ковзного  середнього  MA(q)  або  змішаній  моделі  ARMA (p,q).  При переході  від  нестаціонарного ряду  до  стаціонарного  значення  параметра  d, що визначає порядок  різниці,  приймається  рівним  0 або 1,  тобто цей  параметр  має  тільки  цілочисельні  значення.  Зазвичай  обмежуються вибором між    d = 0 і  d = 1.  Проте  з  поля  зору  дослідників  випадає    ситуація, коли  параметр  d  може  приймати  дробові  значення.
 
4.5 ARFIMA(p,d,q)
 
Для  ситуації розгляду дробових значень порядку різниці, в  роботах  зарубіжних  учених,  в першу чергу,  C.W.Granger,  J.R.Hosking,  P.M.Robinson, R. Beran,  був  запропонований  новий клас  моделей  ARFIMA(p,d,q)[2]  (F: fractional  -  дріб),  що допускає  можливість  нецілого  параметра  d  і авторегресійний  дріб інтегрований  процес  ковзного  середнього.  Такі  ряди  володіють  своєю  специфікою:  самоподібністю,  дробовою  розмірністю,  поволі  спадаючою  кореляцією.  Прогнозування  тимчасових  рядів  за допомогою  моделі  ARFIMA(p,d,q)  відкриває  ширші  перспективи  для  підвищення  точності  прогнозу.
 
4.6 Модель вигляду ARIMA (p,d,q)(P,D,Q)S[1]
 
ARIMA (p,d,q)(P,D,Q)S,
 
де: p - авторегресійні доданки;
 
D - різниці;
 
q - доданки ковзаючого середнього;
 
P – сезонні авторегресійні доданки;
 
D – сезонні різниці на інтервалі S;
 
Q – доданки сезонного ковзаючого середнього
 
 
 
6 Метод "Гусениці" SSA
 
Метод SSALRF[6,7]
 
Метод “Гусеніца”-SSA може бути використаний для різних загальних завдань дослідження тимчасових рядів, зокрема - для виділення сигналу і знаходження його ЛРФ. При його використанні по ряду FN будується траєкторна матриця X заданого розміру L x K, 1 < L < N.
 
K = N – L + 1 (L називається довжиною вікна), обчислюються власні числа  власні  і факторні  вектора матриці XXT, формуючи сингулярне розкладання  . Набір  називатимемо називається сингулярною трійкою. Ряду зіставляється траєкторний простір, аддитивній складовій ряду при виконанні умов роздільності відповідає власний траєкторний підпростір в цьому просторі.
 
В умовах наближеної роздільності метод дозволяє знайти підпростір близьке до траєкторного простору даної аддитивної складової.
 
Опишемо алгоритм методу SSALRF, в нім можна виділити наступну послідовність кроків.
 
Алгоритм [5]
 
1. Вибір довжини вікна L і побудова траєкторної матриці  по ряду FN;
 
2. Сингулярне розкладання траєкторної матриці  ;
 
3. Вибір сингулярних трійок, відповідних сигналу SN;
 
4. Побудова по власних векторах вибраних сингулярних трійок наближеної ЛРФ сигналу порядку L – 1;
 
5. Знаходження кореня характеристичного полінома цієї ЛРФ;
 
6. Пошук головного кореня серед всієї безлічі коренів;
 
7. Отримання наближеною мінімальною ЛРФ (порядка 2) сигналу по головному кореню.
 
 
 
Перелік використаних джерел
 
1. http://ipu-conf.ru/kmu/sbornik_VMKPU2008.pdf
 
2. http://www.guap.ru/guap/main/avtoref_krichevsky.doc
 
3. http://www.machinelearning.ru/wiki/index.php?title= Авторегрессионное_скользящее_среднее
 
4. www.neuroproject.ru/forecasting_tutorial.php#mlp
 
5. http://www.pdmi.ras.ru/~theo/autossa/files/SSAvsREGR--paper.pdf
 
6. http://www.nsu.ru/ef/tsy/ecmr/Forum/topic77.htm
 
 
 
 
 
 
 
<center>  </center>
 
 
 
<center>  </center>
 
 
 
<center>  </center>
 
 
 
<center>  </center>
 
 
 
<center> </center>
 
 
 
<center>  </center>
 
 
 
 
 
 
 
 
 
 
 
== Вимоги до факторів ==
 
 
 
Фактори повинні бути керованими, це означає, що вибране потрібне значення фактора можна підтримувати постійним протягом всього досліду. Планувати експеримент можна тільки в тому випадку, якщо рівні факторів підкоряються волі експериментатора.
 
 
 
<table width="90%" border="1">
 
  <caption>
 
    Наприклад, вирощування сільськогосподарських культур залежить від ряду факторів.
 
  </caption>
 
 
   <tr>
 
   <tr>
     <th scope="col">Назва фактору&nbsp;</th>
+
     <th width="22" scope="col">&nbsp;</th>
     <th scope="col">Вид фактору&nbsp;</th>
+
     <th colspan="5" scope="col">Змінні</th>
    <th scope="col">Характеристика&nbsp;</th>
 
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <th scope="row">Щільність посіву&nbsp;</th>
+
     <th scope="row">&nbsp;</th>
     <td>Контр. кількісний&nbsp;</td>
+
 
     <td>Від щільності посіву залежить врожайність, щільність має свої оптимальні значення. Так коли щільність буде за малою, то більша кількість опадів, буде просто випаровуватись, від чого страждатимуть рослини. При надто щільному посіві рослини не отримуватимуть потрібну кількість сонячних променів.&nbsp;</td>
+
     <td colspan="4" bgcolor="#BDE0BA"><div align="center"><strong>Незалежні</strong></div></td>
 +
     <td width="86" bgcolor="#C1BEE9"><strong>Залежна</strong></td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <th scope="row">Використання мінеральних добрив&nbsp;</th>
+
     <th scope="row"></th>
     <td>Контр. кількісний&nbsp;</td>
+
     <td width="44" bgcolor="#BDE0BA"><strong><em>X1</em></strong></td>
     <td>При використанні мінеральних добрив, слід враховувати їх характеристики, при надмірному використанні добрив, вони спалюють кореневу систему рослин, що зменшує врожайність.&nbsp;</td>
+
    <td width="65" bgcolor="#BDE0BA"><strong><em>X2</em></strong></td>
 +
 
 +
    <td width="65" bgcolor="#BDE0BA"><strong><em>...</em></strong></td>
 +
    <td width="60" bgcolor="#BDE0BA"><strong><em>XN</em></strong></td>
 +
     <td bgcolor="#C1BEE9"><strong><em>Y</em></strong></td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <th scope="row">Обробіток&nbsp;</th>
+
     <th scope="row">1</th>
     <td>Контр. кількісний&nbsp;</td>
+
     <td bgcolor="#BDE0BA">x_11</td>
     <td>Фактор який впливає на врожайність, коли він буде недостатнім, то корисну культуру витіснять інші не корисні рослини. Це мабуть єдиний фактор який не має верхньої межі.&nbsp;</td>
+
 
 +
    <td bgcolor="#BDE0BA">x_12</td>
 +
     <td bgcolor="#BDE0BA">...</td>
 +
    <td bgcolor="#BDE0BA">x_1N</td>
 +
    <td bgcolor="#C1BEE9">Y_1</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <th scope="row">Вид культури&nbsp;</th>
+
     <th scope="row">2</th>
     <td>Контр. якісний&nbsp;</td>
+
 
     <td>Звісно людина сама вибирає яку культуру їй садити, таким чином усі фактори для отримання найкращого результату врожайності для різних культур матимуть різні значення.&nbsp;</td>
+
    <td bgcolor="#BDE0BA">x_21</td>
 +
     <td bgcolor="#BDE0BA">x_22</td>
 +
    <td bgcolor="#BDE0BA">...</td>
 +
     <td bgcolor="#BDE0BA">x_2N</td>
 +
    <td bgcolor="#C1BEE9">Y_2</td>
 
   </tr>
 
   </tr>
 +
 
   <tr>
 
   <tr>
     <th scope="row">Дата посіву&nbsp;</th>
+
     <th scope="row">...</th>
     <td>Контр. якісний&nbsp;</td>
+
     <td bgcolor="#BDE0BA">...</td>
     <td>Певні культури необхідно садити в певні часові проміжки часу задля отримання максимальної врожайності (озима пшениця)&nbsp;</td>
+
     <td bgcolor="#BDE0BA">...</td>
 +
    <td bgcolor="#BDE0BA">...</td>
 +
    <td bgcolor="#BDE0BA">...</td>
 +
 
 +
    <td bgcolor="#C1BEE9">...</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <th scope="row">Кількість опадів&nbsp;</th>
+
     <th scope="row">m</th>
     <td>Не контр. кількісний&nbsp;</td>
+
     <td bgcolor="#BDE0BA">x_M1</td>
     <td>На ці фактори людина ніяк не може вплинути, тому його не можна враховувати в експериментах.&nbsp;</td>
+
     <td bgcolor="#BDE0BA">x_M2</td>
  </tr>
+
     <td bgcolor="#BDE0BA">...</td>
  <tr>
+
 
     <th scope="row">Кількість сонячних днів&nbsp;</th>
+
     <td bgcolor="#BDE0BA">x_MN</td>
     <td>Не контр. кількісний&nbsp;</td>
+
     <td bgcolor="#C1BEE9">Y_m</td>
     <td>На ці фактори людина ніяк не може вплинути, тому його не можна враховувати в експериментах.&nbsp;</td>
 
 
   </tr>
 
   </tr>
 
</table>
 
</table>
 +
</center>
  
  
Щоб точно визначити фактор, потрібно вказати послідовність дій (операцій), за допомогою яких встановлюються його конкретні значення. Таке визначення називається операційним. Так, якщо фактором є тиск в деякому апараті, то абсолютно необхідно вказати, в якій точці і за допомогою якого приладу він вимірюється і як він встановлюється. Введення операційного визначення забезпечує однозначне розуміння фактору.  
+
За допомогою таблиці значень минулих спостережень можна підібрати (наприклад, методом найменших квадратів) коефіцієнти регресії, побудувавши тим самим модель.
  
Точність вимірів факторів повинна бути максимально високою. Ступінь точності визначається діапазоном зміни факторів. У тривалих процесах, вимірюваних багатьма годинами, хвилини можна не враховувати, а в швидких процесах доводиться враховувати долі секунди.  
+
При роботі з регресією треба дотримуватися певної обережності і обов'язково перевірити на адекватність знайдені моделі. Існують різні способи такої перевірки. Обов'язковим є статистичний аналіз залишків, тест Дарбіна-Уотсона. Корисно, як і у випадку з нейронними мережами, мати незалежний набір прикладів, на яких можна перевірити якість роботи моделі.
  
Дослідження суттєво ускладнюється, якщо фактор вимірюється з великою помилкою або значення факторів важко підтримувати на вибраному рівні (рівень фактора «пливе»), то доводиться застосовувати спеціальні методи дослідження, наприклад, конфлюентний аналіз [1, 2].
+
= Методи Бокса-Дженкінса (ARIMA)=
  
Фактори повинні бути однозначні. Важко управляти фактором, який є функцією інших факторів. Але в плануванні можуть брати участь інші фактори, такі, як співвідношення між компонентами, їх логарифми і тому подібне.  
+
В середині 90-х років минулого століття був розроблений принципово новий і достатньо могутній клас алгоритмів для прогнозування тимчасових рядів. Велику частину роботи по дослідженню методології і перевірці моделей була проведена двома статистиками, Г.Е.П. Боксом ([http://en.wikipedia.org/wiki/George_E._P._Box G.E.P. Box]) і Г.М. Дженкинсом ([http://en.wikipedia.org/wiki/Gwilym_Jenkins G.M. Jenkins]). З тих пір побудова подібних моделей і отримання на їх основі прогнозів іноді називатися методами Бокса-Дженкінса. В це сімейство входить декілька алгоритмів, найвідомішим і використовуваним з них є алгоритм ARIMA. Він вбудований практично в будь-який спеціалізований пакет для прогнозування. У класичному варіанті ARIMA не використовуються незалежні змінні. Моделі спираються тільки на інформацію, що міститься в передісторії прогнозованих рядів, що обмежує можливості алгоритму. В даний час в науковій літературі часто згадуються варіанти моделей ARIMA, що дозволяють враховувати незалежні змінні. У даній доповіді вони розглядатись не будуть, обмежимось тільки загальновідомим класичним варіантом. На відміну від розглянутих раніше методик прогнозування тимчасових рядів, в методології ARIMA не передбачається якої-небудь чіткої моделі для прогнозування даної тимчасової серії. Задається лише загальний клас моделей, що описують часовий ряд і що дозволяють якось виражати поточне значення змінної через її попередні значення. Потім алгоритм, підстроюючи внутрішні параметри, сам вибирає найбільш відповідну модель прогнозування. Як вже наголошувалося вище, існує ціла ієрархія моделей Бокса-Дженкінса. Логічно її можна визначити так
 +
<center>
 +
<b>AR(p)+MA(q)→ARMA(p,q)→ARMA(p,q)(P,Q)→ARIMA(p,q,r)(P,Q,R)→...</b>
 +
</center>
 +
== AR(p) -авторегресивна модель порядку р ==
  
Необхідність введення складних факторів виникає за бажання представити динамічні особливості об'єкту в статичній формі.  
+
Модель має вигляд:
 +
<center>
 +
<math>Y\left( t \right)=f_{0}+f_{1}\cdot Y\left( t-1 \right)+f_{2}\cdot Y\left( t-2 \right)+...+f_{p}\cdot Y\left( t-p \right)+E\left( t \right)</math>
 +
</center>
  
Наприклад, потрібно знайти оптимальний режим підйому температури в реакторі. Якщо щодо температури відомо, що вона повинна наростати лінійно, то як Фактор замість функції (в даному випадку лінійної) можна використовувати тангенс кута нахилу, тобто градієнт.  
+
де
 +
Y(t) –залежна змінна у момент часу t. <math>f_{0},f_{1},f_{2}...,f_{p}</math> - оцінювані параметри. E(t) - помилка від впливу змінних, які не враховуються в даній моделі. Завдання полягає в тому, щоб визначити <math>f_{0},f_{1},f_{2}...,f_{p}</math>. Їх можна оцінити різними способами. Найправильніше шукати їх через систему рівнянь Юла-Уолкера, для складання цієї системи буде потрібно розрахунок значень автокореляційної функції. Можна поступити простішим способом - порахувати їх методом найменших квадратів.
  
 +
== MA(q) -модель з ковзаючим середнім порядку q ==
  
[[Файл:Xy.png|730x200px|border|center|Схематичне зображення режиму підйому температури в реакторі]]
+
Модель має вигляд:
 +
<center>
 +
<math>Y\left( t \right)=m+e\left( t \right)-w_{1}\cdot e\left( t-1 \right)-w_{2}\cdot e\left( t-2 \right)-...-w_{p}\cdot e\left( t-p \right)</math>
 +
</center>
  
<center>Рис.1 - Режими підйому температури в реакторі</center>
+
Де Y(t) -залежна змінна у момент часу t. <math>w_{0},w_{1},w_{2}...,w_{p}</math> - оцінювані параметри.
  
При плануванні експерименту одночасно оцінюють декілька факторів, тому необхідно знати вимоги до сукупності факторів. Перш за все висувається вимога сумісності. Сумісність факторів означає, що всі їх комбінації здійсненні і безпечні.
+
== Авторегресійне ковзне середнє ARMA(p,q) ==
  
[[Файл:F1.png|730x200px|border|center|Схематичне зображення cумісності факторних просторів.]]
+
Під позначенням ARMA(p,q) [3] розуміється модель, p авторегресійних складових, що містить  q, ковзаючих середніх.  
  
<center>Рис.2 - Схематичне зображення cумісності факторних просторів</center>
+
Точніше модель ARMA(p,q) включає моделі AR(p) і MA(q):
 +
<center>
 +
<math>X_{t}=c+e_{t}+\sum\limits_{i=1}^{q}{\theta _{i}e_{t-i}}+\sum\limits_{i=1}^{p}{\phi _{i}X_{t-i}},</math>
 +
</center>
 +
Зазвичай значення помилки <math>e_{t}</math>  вважають незалежними однаково розподіленими випадковими величинами, узятими з нормального розподілу з нульовим середнім: <math>e_{t}\sim N\left( 0,\sigma ^{2} \right),</math>  де <math>\sigma ^{2}</math> — дисперсія. Припущення можна ослабити, але це може привести до зміни властивостей моделі. Наприклад, якщо не припускати незалежності і однакового розподілу помилок, поведінка моделі суттєво міняється.
  
Несумісність факторів спостерігається на межах областей їх визначення. Позбавитися від неї можна скороченням областей. Ситуація ускладнюється, якщо несумісність виявляється усередині областей визначення. Одне з можливих рішень - розбиття на підобласті і вирішення двох окремих завдань.
+
== ARIMA (p,d,q) ==
  
При плануванні експерименту важлива незалежність факторів, тобто можливість встановлення фактора на будь-якому рівні незалежно від рівнів інших факторів. Якщо ця умова нездійсненна, то неможливо планувати експеримент.
+
У  завданні  аналізу тимчасового  ряду  з  складною структурою  часто  використовуються  моделі  класу  ARIMA(p,d,q)[2] (авторегресійне  інтегрування  ковзаючого  середнього - Autoregressive Integrated Moving Average)  порядку (p,d,q),  які    моделюють  різні  ситуації,  що зустрічаються  при  аналізі стаціонарних і нестаціонарних рядів. Залежно від  аналізованого  ряду  модель  ARIMA (p,d,q)  може  трансформуватися  до  авторегресійної моделі  AR(p), моделі ковзного  середнього  MA(q)  або  змішаній  моделі  ARMA (p,q).  При переході  від  нестаціонарного ряду  до  стаціонарного  значення  параметра  d, що визначає порядок  різниці, приймається  рівним  0 або 1,  тобто цей  параметр  має  тільки  цілочисельні  значення.  Зазвичай  обмежуються вибором між    d = 0 і  d = 1.   Проте  з  поля  зору  дослідників  випадає    ситуація, коли  параметр  d  може  приймати  дробові  значення.
  
 +
== ARFIMA(p,d,q) ==
  
== Вибір рівнів варіювання факторів і основного рівня ==
+
Для  ситуації розгляду дробових значень порядку різниці, в  роботах  зарубіжних  учених,  в першу чергу,  C.W.Granger,  J.R.Hosking,  P.M.Robinson, R. Beran,  був  запропонований  новий клас  моделей  ARFIMA(p,d,q)[2]  (F: fractional  -  дріб),  що допускає  можливість  нецілого  параметра  d  і авторегресійний  дріб інтегрований  процес  ковзного  середнього.  Такі  ряди  володіють  своєю  специфікою:  самоподібністю,  дробовою  розмірністю,  поволі  спадаючою  кореляцією.  Прогнозування  тимчасових  рядів  за допомогою  моделі  ARFIMA(p,d,q)  відкриває  ширші  перспективи  для  підвищення  точності прогнозу.
  
Фактор вважається заданим, якщо вказані його назва і область визначення. У вибраній області визначення він може мати декілька значень, які відповідають числу його різних станів. Вибрані для експерименту кількісні або якісні стани фактору носять назву рівнів фактору.
+
== Модель вигляду ARIMA (p,d,q)(P,D,Q)S ==
  
У плануванні експерименту значення факторів, відповідні певним рівням їх варіювання, виражають в кодованих величинах. Під інтервалом варіювання фактору мається на увазі різниця між двома його значеннями, прийнята за одиницю при кодуванні. [5]
+
ARIMA (p,d,q)(P,D,Q)S [1],
  
<table width="90%" border="1">
+
де: p - авторегресійні доданки;
  <caption>
 
    Фактори, що визначають оптимальні будинки для продажу:
 
  </caption>
 
  <tr>
 
    <th scope="col">Фактор&nbsp;</th>
 
    <th scope="col">Вид фактору&nbsp;</th>
 
    <th scope="col">К-сть рівнів&nbsp;</th>
 
    <th scope="col">Характеристика&nbsp;</th>
 
  </tr>
 
  <tr>
 
    <th scope="row">Наявність телефону&nbsp;</th>
 
    <td>Якісний&nbsp;</td>
 
    <td>2&nbsp;</td>
 
    <td>Телефон в квартирі або є або його немає.&nbsp;</td>
 
  </tr>
 
  <tr>
 
    <th scope="row">Ремонт&nbsp;</th>
 
    <td>Якісний&nbsp;</td>
 
    <td>3&nbsp;</td>
 
    <td>Ремонт можна оцінити як відмінний, задовільний та незадовільний.&nbsp;</td>
 
  </tr>
 
  <tr>
 
    <th scope="row">Відстань до центру міста&nbsp;</th>
 
    <td>Кількісний&nbsp;</td>
 
    <td>100&nbsp;</td>
 
    <td>Визначає відстань від даного будинку до центру міста із кроком 100 м. максимальна відстань до центру міста 10 км.&nbsp;</td>
 
  </tr>
 
  <tr>
 
    <th scope="row">Кількість кімнат&nbsp;</th>
 
    <td>Кількісний&nbsp;</td>
 
    <td>5&nbsp;</td>
 
    <td>1-кімн. 2-кімн. 3-кімн. 4-кімн. Більше 4 кімн.&nbsp;</td>
 
  </tr>
 
  <tr>
 
    <th scope="row">Площа 1 кімн….&nbsp;</th>
 
    <td>Кількісний&nbsp;</td>
 
    <td>Х&nbsp;</td>
 
    <td>Відповідно визначається кількість рівнів і крок, верифікації.&nbsp;</td>
 
  </tr>
 
</table>
 
  
При виборі області визначення факторів особливу увагу приділяють на вибір нульової точки, або нульового (основного) рівня. Вибір нульової точки еквівалентний визначенню початкового стану об'єкту дослідження. Оптимізація пов'язана з поліпшенням стану об'єкту в порівнянні з станом в нульовій точці. Тому бажано, щоб дана точка була в області оптимуму або якомога ближче до нього, тоді прискорюється пошук оптимальних рішень. [3]
+
D - різниці;
  
У випадку лабораторної роботи №1 де фактором виступає кількість присідань і задається значеннями від 0 до 30 із кроком в 10 присідань, маємо: кількість рівнів 4 за нульовий рівень приймаємо рівень 3 – 20 присідань.
+
q - доданки ковзаючого середнього;
  
Якщо проведенню експерименту передували інші дослідження з даного питання, то за нульову береться така точка, якій відповідає найкраще значення параметра оптимізації, встановленого в результаті формалізації апріорної інформації. В цьому випадку нульовими рівнями факторів є значення останніх спостережень, поєднання яких відповідають координатам нульової точки.
+
P – сезонні авторегресійні доданки;
  
Часто при постановці завдання область визначення факторів буває заданою, будучи локалізованою областю факторного простору. Тоді центр цієї області береться за нульову точку.
+
D – сезонні різниці на інтервалі S;
  
Припустимо, в деякому завданні фактор (температура) міг змінюватися від 140 до 180˚С. Природно, за нульовий рівень було прийнято середнє значення фактора, відповідно рівне 160˚С.
+
Q – доданки сезонного ковзаючого середнього
  
Після встановлення нульової точки вибирають інтервали варіювання факторів. Це пов'язано з визначенням таких значень факторів, які в кодованих величинах відповідають +1 і -1. Інтервали варіювання вибирають з урахуванням того, що значення факторів, відповідні рівням +1 і -1, повинні бути достатньо відмінні від значення, відповідному нульовому рівню. Тому у всіх випадках величина інтервалу варіювання повинна бути більше подвоєної квадратичної помилки фіксації даного фактору.
+
= Метод "Гусениці" SSA =
  
<math>I=2\cdot(\sum^{n}_{i=1} {p_i})^2</math>
+
Метод SSALRF[6,7]
  
де ''p''<sub>''i''</sub> – величина закладеної ''i''-ї похибки.
+
Метод “Гусеніца”-SSA може бути використаний для різних загальних завдань дослідження тимчасових рядів, зокрема - для виділення сигналу і знаходження його ЛРФ. При його використанні по ряду <math>F_{N}</math> будується траєкторна матриця X заданого розміру L x K, 1 < L < N.
  
З іншого боку, надмірне збільшення величини інтервалів варіювання небажано, оскільки це може привести до зниження ефективності пошуку оптимуму. А дуже малий інтервал варіювання зменшує область експерименту, що уповільнює пошук оптимуму.  
+
K = N – L + 1 (L називається довжиною вікна), обчислюються власні числа <math>\left\{ \lambda _{i} \right\}_{i=1}^{L},</math> власні <math>\left\{ \lambda _{i} \right\}_{i=1}^{L},</math>і факторні <math>\left\{ V_{i} \right\}_{i=1}^{L}</math> вектора матриці <math>XX^{T}</math>, формуючи сингулярне розкладання <math>X=\sum\limits_{i}{\sqrt{\lambda _{i}}U_{i}V_{i}^{T}}</math>. Набір <math>\left( \sqrt{\lambda _{i}}U_{i}V_{i} \right)</math> називається сингулярною трійкою. Ряду зіставляється траєкторний простір, аддитивній складовій ряду при виконанні умов роздільності відповідає власний траєкторний підпростір в цьому просторі.
  
При виборі інтервалу варіювання доцільно враховувати, якщо це можливо, число рівнів варіювання факторів в області експерименту. Від числа рівнів залежать об'єм експерименту і ефективність оптимізації.  
+
В умовах наближеної роздільності метод дозволяє знайти підпростір близьке до траєкторного простору даної аддитивної складової.
  
У загальному вигляді залежність числа дослідів від числа рівнів факторів має вигляд:
+
Опишемо алгоритм методу SSALRF, в нім можна виділити наступну послідовність кроків.
  
<math>N=P^K</math>,
+
Алгоритм [5]
 
 
де:
 
*N - число дослідів;
 
*р - число рівнів;
 
*K - число факторів. [4]
 
 
 
Мінімальне число рівнів, що зазвичай використовують на першій стадії роботи, рівне 2. Це верхній і нижній рівні, що позначаються в кодованих координатах через +1 і -1. Варіювання факторів на двох рівнях використовується у відсіваючих експериментах, на стадії руху в область оптимуму і при описі об'єкту дослідження лінійними моделями. Але таке число рівнів недостатньо для побудови моделей другого порядку (адже фактор приймає тільки два значення, а через дві точки можна провести безліч ліній різної кривизни).
 
 
 
[[Файл:v1.png|730x200px|border|center|Схематичне зображення пошуку оптимуму, методом відсіювання.]]
 
 
 
<center>Рис.3 - Схематичне зображення пошуку оптимуму, методом відсіювання.</center>
 
  
Із збільшенням числа рівнів підвищується чутливість експерименту, але одночасно зростає число дослідів. При побудові моделей другого порядку необхідні 3, 4 або 5 рівнів, причому тут наявність непарних рівнів указує на проведення дослідів в нульових (основних) рівнях.  
+
#Вибір довжини вікна L і побудова траєкторної матриці <math>X\in \mathbb{R}^{L\times K}</math>  по ряду <math>F_{N}</math>;
 +
#Сингулярне розкладання траєкторної матриці <math>X=\sum\limits_{i}{\sqrt{\lambda _{i}}U_{i}V_{i}^{T}}</math> ;
 +
#Вибір сингулярних трійок, відповідних сигналу <math>S_{N}</math>;
 +
#Побудова по власних векторах вибраних сингулярних трійок наближеної ЛРФ сигналу порядку L – 1;
 +
#Знаходження кореня характеристичного полінома цієї ЛРФ;
 +
#Пошук головного кореня серед всієї безлічі коренів;
 +
#Отримання наближеною мінімальною ЛРФ (порядка 2) сигналу по головному кореню.
  
У кожному окремому випадку число рівнів вибирають з урахуванням умов завдання і передбачуваних методів планування експерименту.
+
[[Файл:28.png|border|center|Прогнозування ]]
 +
<center>Рис.1 - Типи трендів. </center>
  
[[Файл:v2.png|730x200px|border|center|Схематичне зображення пошуку оптимуму, інших порядків.]]
+
[[Файл:29.png|border|center|Прогнозування ]]
 +
<center>Рис.2 - Декомпозиція на сезони, тренди та наступне прогнозування. </center>
  
<center>Рис.4 - Схематичне зображення пошуку оптимуму, інших порядків.</center>
+
= Перелік використаних джерел =
  
Тут необхідно враховувати наявність якісних і дискретних факторів. У експериментах, пов'язаних з побудовою лінійних моделей, наявність цих факторів, як правило, не викликають додаткових труднощів. При плануванні другого порядку якісні Фактори не застосовні, оскільки вони не мають ясного фізичного сенсу для нульового рівня. Для дискретних факторів часто застосовують перетворення вимірювальних шкал, щоб забезпечити фіксацію значень факторів на всіх рівнях.
+
#http://ipu-conf.ru/kmu/sbornik_VMKPU2008.pdf (лютий 2010)
 +
#http://www.guap.ru/guap/main/avtoref_krichevsky.doc (лютий 2010)
 +
#http://www.machinelearning.ru/wiki/index.php?title= Авторегрессионное_скользящее_среднее (лютий 2010)
 +
#http://www.neuroproject.ru/forecasting_tutorial.php#mlp Методы прогнозирования (лютий 2010)
 +
#http://www.pdmi.ras.ru/~theo/autossa/files/SSAvsREGR--paper.pdf Метод SSALRF (лютий 2010)
 +
#http://www.nsu.ru/ef/tsy/ecmr/Forum/topic77.htm Конференция по эконометрике » AR, ARMA, ARIMA, FARIMA (лютий 2010)
 +
#[http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%A5%D0%BE%D0%BB%D1%8C%D1%82%D0%B0 Метод_Хольта]
 +
#[http://www.ipredict.it/Methods/ Методи прогнозування (eng.)]
  
=Список використаних джерел=
 
  
#Клепиков Н.П., Соколов С.Н. Анализ и планирование экспериментов методом максимума подобия. М.: Наука, 1964.
 
#Федоров В.В. Теория оптимального эксперимента. М.: Наука, 1971.
 
#http://window.edu.ru/window_catalog/pdf2txt?p_id=1180&p_page=1 – Основи планування експериментів (Січень 2010);
 
#http://uk.wikipedia.org/wiki/Планування_експерименту – Планування експерименту (Січень 2010);
 
#http://www.refine.org.ua/pageid-4881-4.html – Методи досліджень (Січень 2010).
 
  
  
 
    
 
    
  
{{Завдання:Виступ|Hotcoffe|27 січня 2010|Рівні факторів. Нульовий рівень. Інтервал варіювання фактору.}}
+
{{Завдання:Виступ|Hotcoffe|30 лютого 2010|Методи прогнозування.}}
  
[[Категорія:ПЕ-2010]]
 
 
[[Категорія:Виступ на семінарі]]
 
[[Категорія:Виступ на семінарі]]
[[Категорія:Планування експеримента]]
+
[[Категорія:Планування експерименту]]
[[Категорія:Чорний ящик]]
 
[[Категорія:Багатозначні терміни]]
 
[[Файл:Example.jpg]]
 

Поточна версія на 15:26, 13 березня 2013

Невідредагована стаття
Цю статтю потрібно відредагувати.
Щоб вона відповідала ВИМОГАМ.


{{{img}}}
Імя Євген
Прізвище Олійник
По-батькові
Факультет ФІС
Група СНм-51
Залікова книжка


http://elartu.tstu.edu.ua/handle/123456789/411 Презентація доповіді (університетський репозиторій).

Методи прогнозування

До недавнього часу (середини 80-х років минулого століття) існувало декілька загальновизнаних методів прогнозування тимчасових рядів:


• Економетричні

• Регресійні

• Методи Бокса-дженкінса (ARIMA, ARMA)


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

Ці статті відродили інтерес до нейромереж в науковому співтоваристві і останні дуже скоро почали широко використовуватися при дослідженнях в самих різних областях науки від експериментальної фізики і хімії до економіки.


Методи прогнозування, засновані на згладжуванні, експоненційному згладжуванні і ковзному середньому

"Наївні" моделі прогнозування

При створенні "наївних" моделей передбачається, що деякий основний період прогнозованого тимчасового ряду краще всього описує майбутнє цього прогнозованого ряду, тому в цих моделях прогноз, як правило, є дуже простою функцією від значень прогнозованої змінної в недалекому минулому.

Найпростішою моделлю є

[math]Y_{t+1}=Y_{t}[/math]

що відповідає припущенню, що "завтра буде як сьогодні"[4].

Поза всяким сумнівом, від такої примітивної моделі не варто чекати великої точності. Вона не тільки не враховує механізми, що визначають прогнозовані дані (цей серйозний недолік взагалі притаменний багатьом статистичним методам прогнозування), але і не захищена від випадкових коливань, вона не враховує сезонні коливання і тенденції. Втім, можна будувати "наївні" моделі дещо по-іншому

[math]\begin{align} & Y_{t+1}=Y_{t}+\left[ Y_{t}-Y_{t-1} \right], \\ & Y_{t+1}=Y_{t}\cdot \left[ Y_{t}/Y_{t-1} \right], \\ \end{align}[/math]

такими способами ми намагаємося пристосувати модель до можливих тенденцій

[math]Y_{t+1}=Y_{t-S}[/math]

це спроба врахувати сезонні коливання.

Прогнозування
Рис.1 - Прогнозування найпростішими методами.
Прогнозування
Рис.2 - Прогнозування найпростішими методами.

Середні і ковзаючі середні

Найпростішою моделлю, заснованою на простому усереднюванні [4] є

[math]Y_{t+1}=\frac{1}{t}\left[ Y_{t}+Y_{t-1}+...+Y_{1} \right][/math]

і у відмінності від найпростішої "наївної" моделі, якій відповідав принцип "завтра буде як сьогодні", цій моделі відповідає принцип "завтра буде як було в середньому за останній час". Така модель, звичайно стійкіша до коливань, оскільки в ній згладжуються випадкові викиди щодо середнього. Не дивлячись на це, цей метод ідеологічно настільки ж примітивний як і "наївні" моделі і йому властиві майже ті ж самі недоліки.

У приведеній вище формулі передбачалося, що ряд усереднюється по достатньо тривалому інтервалу часу. Проте як правило, значення тимчасового ряду з недалекого минулого краще описують прогноз, ніж усі попередні значення цього ж ряду. Тоді можна використовувати для прогнозування ковзне середнє

[math]Y_{t+1}=\frac{1}{T+1}\left[ Y_{t}+Y_{t-1}+...+Y_{t-T} \right][/math]

Сенс його полягає в тому, що модель бачить тільки найближче минуле (на T відліків за часом в глибину) і грунтуючись тільки на цих даних будує прогноз.

При прогнозуванні досить часто використовується метод експоненціальних середніх, який постійно адаптується до даних за рахунок нових значень. Формула, що описує цю модель записується як

[math]Y_{t+1}=\alpha Y_{t}+\left( 1-a \right)\hat{Y}_{t},[/math]

де [math]Y_{t+1}[/math] – прогноз на наступний період часу

[math]Y_{t}[/math] – реальне значення у момент часу t

[math]\hat{Y}[/math] – минулий прогноз на момент часу t

а – постійна згладжування (0<=a<=1)

У цьому методі є внутрішній параметр а, який визначає залежність прогнозу від усіх розглянутих даних, причому вплив даних на прогноз експоненціально зменшується із "віком" даних. Залежність впливу даних на прогноз при різних коефіцієнтах а приведена на графіці.

Залежність впливу даних на прогноз при різних коефіцієнтах а
Рис.3 - Залежність впливу даних на прогноз при різних коефіцієнтах а

Видно, що при a→1, експоненціальна модель прагне до найпростішої "наївної" моделі. При a→0, прогнозована величина стає рівною попередньому прогнозу.

Якщо проводиться прогнозування з використанням моделі експоненціального згладжування, зазвичай на деякому тестовому наборі будуються прогнози при a=[0.01, 0.02 ..., 0.98, 0.99] і відстежується, при якому а точність прогнозування вища. Це значення а потім використовується при прогнозуванні надалі.

Хоча описані вище моделі ("наївні" алгоритми, методи, засновані на середніх, ковзних середніх і експоненціальному згладжуванні) використовуються при бізнес-прогнозуванні в не дуже складних ситуаціях, наприклад, при прогнозуванні продажу на спокійних і сталих західних ринках, не рекомендовано використовувати ці методи в завданнях прогнозування з причини явної примітивності і неадекватності моделей.

Разом з цим хотілося б відзначити, що описані алгоритми цілком успішно можна використовувати як супутні і допоміжні для передобробки даних в завданнях прогнозування. Наприклад, для прогнозування продажу в більшості випадків необхідно проводити декомпозицію тимчасових рядів (тобто виділяти окремо тенденційну, сезонну і нерегулярну складові). Одним з методів виділення тенденційних складових є використання експоненціального згладжування.

Прогнозування
Рис.4 - Прогнозування ковзаючим середнім.
Прогнозування
Рис.5 - Спад адекватності при ковзаючому середньому.

Методи Хольта і Брауна

В середині минулого століття Хольт запропонував вдосконалений метод експоненціального згладжування, згодом названий його ім'ям. У запропонованому алгоритмі значення рівня і тенденції згладжуються за допомогою експоненціального згладжування. Причому параметри згладжування у них різні.

[math]\left\{ \begin{matrix}
\Omega _{t}=\alpha Y_{t}+\left( 1-\alpha  \right)\left( \Omega _{t-1}-T_{t-1} \right),  \\
T_{t}=\beta \left( \Omega _{t}-\Omega _{t-1} \right)+\left( 1-\beta  \right)T_{t-1},  \\
\hat{Y}_{t+p}=\Omega _{t}+pT_{t}  \\
\end{matrix} \right.[/math]

Тут перше рівняння описує згладжений ряд загального рівня.

Друге рівняння служить для оцінки тенденції.

Третє рівняння визначає прогноз на p відліків за часом вперед.

Постійні згладжування в методі Хольта ідеологічно грають ту ж роль, що і постійна в простому експоненціальному згладжуванні. Підбираються вони, наприклад, шляхом перебору по цих параметрах з якимсь кроком. Можна використовувати і менш складні в сенсі кількості обчислень алгоритми. Головне, що завжди можна підібрати таку пару параметрів, яка дає велику точність моделі на тестовому наборі і потім використовувати цю пару параметрів при реальному прогнозуванні.

Окремим випадком методу Хольта є метод Брауна, коли [math]\alpha =\beta[/math] .

Метод Вінтерса

Хоча описаний вище метод Хольта (метод двохпараметричного експоненціального згладжування) і не є зовсім простим (щодо "наївних" моделей і моделей, заснованих на усереднюванні), він не дозволяє враховувати сезонні коливання при прогнозуванні. Кажучи акуратніше, цей метод не може їх "бачити" в передісторії. Існує розширення методу Хольта до трьохпараметричного експоненціального згладжування. Цей алгоритм називається методом Вінтерса. При цьому робиться спроба врахувати сезонні складові даних. Система рівнянь, що описують метод Вінтерса виглядає таким чином:

[math]\left\{ \begin{matrix} \Omega _{t}=\alpha \frac{Y_{t}}{S_{t-s}}+\left( 1-\alpha \right)\left( \Omega _{t-1}-T_{t-1} \right), \\ T_{t}=\beta \left( \Omega _{t}-\Omega _{t-1} \right)+\left( 1-\beta \right)T_{t-1}, \\ S_{t}=\Upsilon \frac{Y_{t}}{\Omega _{t}}+\left( 1-\Upsilon \right)S_{t-s}, \\ \hat{Y}_{t+p}=\left( \Omega _{t}+pT_{t} \right)S_{t-s+p} \\ \end{matrix} \right.[/math]

Дріб в першому рівнянні служить для виключення сезонності з Y(t). Після виключення сезонності алгоритм працює з "чистими" даними, в яких немає сезонних коливань. З'являються вони вже в самому фінальному прогнозі, коли "чистий" прогноз, порахований майже по методу Хольта умножається на сезонний коефіцієнт.

Прогнозування
Рис.6 - Прогнозування методи Вінтерса.

Регресійні методи прогнозування

Разом з описаними вище методами, заснованими на експоненціальному згладжуванні, вже достатньо довгий час для прогнозування використовуються регресійні алгоритми. Коротко суть алгоритмів такого класу можна описати так. Існує прогнозована змінна Y (залежна змінна) і відібраний заздалегідь комплект змінних, від яких вона залежить, - X1, X2 ..., XN (незалежні змінні). Природа незалежних змінних може бути різною. Наприклад, якщо припустити, що Y - рівень попиту на деякий продукт в наступному місяці, то незалежними змінними можуть бути рівень попиту на цей же продукт в минулий і позаминулий місяці, витрати на рекламу, рівень платоспроможності населення, економічна обстановка, діяльність конкурентів і багато що інше. Головне - уміти формалізувати всі зовнішні чинники, від яких може залежати рівень попиту в числовій формі.

Модель множинної регресії в загальному випадку описується виразом

[math]Y=F\left( X_{1},\,X_{2},\,...,\,X_{N} \right)+\varepsilon[/math]

У простішому варіанті лінійної регресійної моделі залежність залежної змінної від незалежних має вигляд:

[math]Y=\beta _{0}+\beta _{1}X_{1}+\beta _{2}X_{2}+...+\beta _{N}X_{N}+\varepsilon[/math]

Тут [math]\beta _{1},\beta _{2},\,...,\,\beta _{N}-[/math] підбирані коефіцієнти регресії

[math]\varepsilon -[/math] компонента помилки. Передбачається, що всі помилки незалежні і нормально розподілені. Для побудови регресійних моделей необхідно мати базу даних спостережень приблизно такого вигляду:

  Змінні
 
Незалежні
Залежна
X1 X2 ... XN Y
1 x_11 x_12 ... x_1N Y_1
2 x_21 x_22 ... x_2N Y_2
... ... ... ... ... ...
m x_M1 x_M2 ... x_MN Y_m


За допомогою таблиці значень минулих спостережень можна підібрати (наприклад, методом найменших квадратів) коефіцієнти регресії, побудувавши тим самим модель.

При роботі з регресією треба дотримуватися певної обережності і обов'язково перевірити на адекватність знайдені моделі. Існують різні способи такої перевірки. Обов'язковим є статистичний аналіз залишків, тест Дарбіна-Уотсона. Корисно, як і у випадку з нейронними мережами, мати незалежний набір прикладів, на яких можна перевірити якість роботи моделі.

Методи Бокса-Дженкінса (ARIMA)

В середині 90-х років минулого століття був розроблений принципово новий і достатньо могутній клас алгоритмів для прогнозування тимчасових рядів. Велику частину роботи по дослідженню методології і перевірці моделей була проведена двома статистиками, Г.Е.П. Боксом (G.E.P. Box) і Г.М. Дженкинсом (G.M. Jenkins). З тих пір побудова подібних моделей і отримання на їх основі прогнозів іноді називатися методами Бокса-Дженкінса. В це сімейство входить декілька алгоритмів, найвідомішим і використовуваним з них є алгоритм ARIMA. Він вбудований практично в будь-який спеціалізований пакет для прогнозування. У класичному варіанті ARIMA не використовуються незалежні змінні. Моделі спираються тільки на інформацію, що міститься в передісторії прогнозованих рядів, що обмежує можливості алгоритму. В даний час в науковій літературі часто згадуються варіанти моделей ARIMA, що дозволяють враховувати незалежні змінні. У даній доповіді вони розглядатись не будуть, обмежимось тільки загальновідомим класичним варіантом. На відміну від розглянутих раніше методик прогнозування тимчасових рядів, в методології ARIMA не передбачається якої-небудь чіткої моделі для прогнозування даної тимчасової серії. Задається лише загальний клас моделей, що описують часовий ряд і що дозволяють якось виражати поточне значення змінної через її попередні значення. Потім алгоритм, підстроюючи внутрішні параметри, сам вибирає найбільш відповідну модель прогнозування. Як вже наголошувалося вище, існує ціла ієрархія моделей Бокса-Дженкінса. Логічно її можна визначити так

AR(p)+MA(q)→ARMA(p,q)→ARMA(p,q)(P,Q)→ARIMA(p,q,r)(P,Q,R)→...

AR(p) -авторегресивна модель порядку р

Модель має вигляд:

[math]Y\left( t \right)=f_{0}+f_{1}\cdot Y\left( t-1 \right)+f_{2}\cdot Y\left( t-2 \right)+...+f_{p}\cdot Y\left( t-p \right)+E\left( t \right)[/math]

де Y(t) –залежна змінна у момент часу t. [math]f_{0},f_{1},f_{2}...,f_{p}[/math] - оцінювані параметри. E(t) - помилка від впливу змінних, які не враховуються в даній моделі. Завдання полягає в тому, щоб визначити [math]f_{0},f_{1},f_{2}...,f_{p}[/math]. Їх можна оцінити різними способами. Найправильніше шукати їх через систему рівнянь Юла-Уолкера, для складання цієї системи буде потрібно розрахунок значень автокореляційної функції. Можна поступити простішим способом - порахувати їх методом найменших квадратів.

MA(q) -модель з ковзаючим середнім порядку q

Модель має вигляд:

[math]Y\left( t \right)=m+e\left( t \right)-w_{1}\cdot e\left( t-1 \right)-w_{2}\cdot e\left( t-2 \right)-...-w_{p}\cdot e\left( t-p \right)[/math]

Де Y(t) -залежна змінна у момент часу t. [math]w_{0},w_{1},w_{2}...,w_{p}[/math] - оцінювані параметри.

Авторегресійне ковзне середнє ARMA(p,q)

Під позначенням ARMA(p,q) [3] розуміється модель, p авторегресійних складових, що містить q, ковзаючих середніх.

Точніше модель ARMA(p,q) включає моделі AR(p) і MA(q):

[math]X_{t}=c+e_{t}+\sum\limits_{i=1}^{q}{\theta _{i}e_{t-i}}+\sum\limits_{i=1}^{p}{\phi _{i}X_{t-i}},[/math]

Зазвичай значення помилки [math]e_{t}[/math] вважають незалежними однаково розподіленими випадковими величинами, узятими з нормального розподілу з нульовим середнім: [math]e_{t}\sim N\left( 0,\sigma ^{2} \right),[/math] де [math]\sigma ^{2}[/math] — дисперсія. Припущення можна ослабити, але це може привести до зміни властивостей моделі. Наприклад, якщо не припускати незалежності і однакового розподілу помилок, поведінка моделі суттєво міняється.

ARIMA (p,d,q)

У завданні аналізу тимчасового ряду з складною структурою часто використовуються моделі класу ARIMA(p,d,q)[2] (авторегресійне інтегрування ковзаючого середнього - Autoregressive Integrated Moving Average) порядку (p,d,q), які моделюють різні ситуації, що зустрічаються при аналізі стаціонарних і нестаціонарних рядів. Залежно від аналізованого ряду модель ARIMA (p,d,q) може трансформуватися до авторегресійної моделі AR(p), моделі ковзного середнього MA(q) або змішаній моделі ARMA (p,q). При переході від нестаціонарного ряду до стаціонарного значення параметра d, що визначає порядок різниці, приймається рівним 0 або 1, тобто цей параметр має тільки цілочисельні значення. Зазвичай обмежуються вибором між d = 0 і d = 1. Проте з поля зору дослідників випадає ситуація, коли параметр d може приймати дробові значення.

ARFIMA(p,d,q)

Для ситуації розгляду дробових значень порядку різниці, в роботах зарубіжних учених, в першу чергу, C.W.Granger, J.R.Hosking, P.M.Robinson, R. Beran, був запропонований новий клас моделей ARFIMA(p,d,q)[2] (F: fractional - дріб), що допускає можливість нецілого параметра d і авторегресійний дріб інтегрований процес ковзного середнього. Такі ряди володіють своєю специфікою: самоподібністю, дробовою розмірністю, поволі спадаючою кореляцією. Прогнозування тимчасових рядів за допомогою моделі ARFIMA(p,d,q) відкриває ширші перспективи для підвищення точності прогнозу.

Модель вигляду ARIMA (p,d,q)(P,D,Q)S

ARIMA (p,d,q)(P,D,Q)S [1],

де: p - авторегресійні доданки;

D - різниці;

q - доданки ковзаючого середнього;

P – сезонні авторегресійні доданки;

D – сезонні різниці на інтервалі S;

Q – доданки сезонного ковзаючого середнього

Метод "Гусениці" SSA

Метод SSALRF[6,7]

Метод “Гусеніца”-SSA може бути використаний для різних загальних завдань дослідження тимчасових рядів, зокрема - для виділення сигналу і знаходження його ЛРФ. При його використанні по ряду [math]F_{N}[/math] будується траєкторна матриця X заданого розміру L x K, 1 < L < N.

K = N – L + 1 (L називається довжиною вікна), обчислюються власні числа [math]\left\{ \lambda _{i} \right\}_{i=1}^{L},[/math] власні [math]\left\{ \lambda _{i} \right\}_{i=1}^{L},[/math]і факторні [math]\left\{ V_{i} \right\}_{i=1}^{L}[/math] вектора матриці [math]XX^{T}[/math], формуючи сингулярне розкладання [math]X=\sum\limits_{i}{\sqrt{\lambda _{i}}U_{i}V_{i}^{T}}[/math]. Набір [math]\left( \sqrt{\lambda _{i}}U_{i}V_{i} \right)[/math] називається сингулярною трійкою. Ряду зіставляється траєкторний простір, аддитивній складовій ряду при виконанні умов роздільності відповідає власний траєкторний підпростір в цьому просторі.

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

Опишемо алгоритм методу SSALRF, в нім можна виділити наступну послідовність кроків.

Алгоритм [5]

  1. Вибір довжини вікна L і побудова траєкторної матриці [math]X\in \mathbb{R}^{L\times K}[/math] по ряду [math]F_{N}[/math];
  2. Сингулярне розкладання траєкторної матриці [math]X=\sum\limits_{i}{\sqrt{\lambda _{i}}U_{i}V_{i}^{T}}[/math] ;
  3. Вибір сингулярних трійок, відповідних сигналу [math]S_{N}[/math];
  4. Побудова по власних векторах вибраних сингулярних трійок наближеної ЛРФ сигналу порядку L – 1;
  5. Знаходження кореня характеристичного полінома цієї ЛРФ;
  6. Пошук головного кореня серед всієї безлічі коренів;
  7. Отримання наближеною мінімальною ЛРФ (порядка 2) сигналу по головному кореню.
Прогнозування
Рис.1 - Типи трендів.
Прогнозування
Рис.2 - Декомпозиція на сезони, тренди та наступне прогнозування.

Перелік використаних джерел

  1. http://ipu-conf.ru/kmu/sbornik_VMKPU2008.pdf (лютий 2010)
  2. http://www.guap.ru/guap/main/avtoref_krichevsky.doc (лютий 2010)
  3. http://www.machinelearning.ru/wiki/index.php?title= Авторегрессионное_скользящее_среднее (лютий 2010)
  4. http://www.neuroproject.ru/forecasting_tutorial.php#mlp Методы прогнозирования (лютий 2010)
  5. http://www.pdmi.ras.ru/~theo/autossa/files/SSAvsREGR--paper.pdf Метод SSALRF (лютий 2010)
  6. http://www.nsu.ru/ef/tsy/ecmr/Forum/topic77.htm Конференция по эконометрике » AR, ARMA, ARIMA, FARIMA (лютий 2010)
  7. Метод_Хольта
  8. Методи прогнозування (eng.)




SeminarSpeech.png
Студент: Користувач:Hotcoffe
Виступ відбувся: 30 лютого 2010
Тема: Методи прогнозування.