МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЕОМ
/
Звіт
лабораторної роботи №4
«Прогноз. метод Хольта-вінтерса»
з дисципліни:
«Комп'ютерні системи штучного інтелекту»
Мета роботи: програмно реалізувати та дослідити методи прогнозування часових рядів.Теоретичні відомості Задачі прогнозування вирішуються в найрізноманітніших областях людської діяльності,таких як наука, економіка, виробництво та ін. Прогнозування є важливим елементоморганізації управління як окремими господарюючими суб'єктами, так і економіки вцілому.Розвиток методів прогнозування безпосередньо пов'язаний з розвитком інформаційнихтехнологій, зокрема, із зростанням об'ємів даних, що зберігаються, і ускладненнямметодів і алгоритмів прогнозування, реалізованих в інструментах Data Mining.Завдання прогнозування може вважатися одним з найбільш складних завдань Data Mining,воно вимагає ретельного дослідження початкового набору даних і методів для аналізу.Прогнозування (від грецького Prognosis), в широкому розумінні цього слова, визначаєтьсяяк випереджаюче віддзеркалення майбутнього. Метою прогнозування є прогноз майбутніхподій.Прогнозування (forecasting) є одним із завдань Data Mining і одночасно одним з ключовихмоментів при прийнятті рішень. Прогностика (prognostics) - теорія і практика прогнозування.Прогнозування направлене на визначення тенденцій динаміки конкретного об'єкту абоподії на основі ретроспективних даних, тобто аналізу його стану у минулому ітеперішньому. Таким чином, рішення задачі прогнозування вимагає деякої навчальноївибірки даних. Прогнозування - встановлення функціональної залежності між залежними і незалежнимизмінними.Приклади завдань прогнозування: прогноз руху грошових коштів, прогнозуванняврожайності агрокультури, прогнозування фінансової стійкості підприємства.Типовим у сфері маркетингу є завдання прогнозування ринків (market forecasting). Врезультаті рішення даної задачі оцінюються перспективи розвитку кон'юнктури певногоринку, зміни ринкових умов на майбутні періоди, визначаються тенденції ринку (структурні зміни, потреби покупців, зміни цін). Зазвичай в цій області вирішуються наступні практичні завдання: · прогноз продажів товарів (наприклад, з метою визначення норми товарногозапасу); · прогнозування продажів товарів; · прогноз продажу залежно від зовнішніх чинників. Окрім економічної і фінансової сфери, завдання прогнозування існують внайрізноманітніших областях: медицині, фармакології; популярним зараз стає політичнепрогнозування.У найзагальніших рисах рішення задачі прогнозування зводиться до вирішення такихпідзадач: · вибір моделі прогнозування; · аналіз адекватності і точності побудованого прогнозу.Основою для прогнозування служить історична інформація, що зберігається в базі даних увигляді часових рядів. Проте, починаючи з кінця 80-х років, у науковій літературі були опубліковані ряд статей знейромережної тематики, в яких був приведений ефективний алгоритм навчаннянейронних мереж і доведена можливість їх використання для найширшого кола завдань.Частково із-за відносної складності і недетермінованості нейронних мереж і генетичнихалгоритмів, ці технології не відразу вийшли за рамки чистого наукового застосування.Проте, з часом рівень довіри до нових технологій підвищувався і з боку бізнесу.В даний час можна з упевненістю сказати, що використання нейронних мереж припрогнозуванні дає відчутну перевагу в порівнянні з простішими статистичними методами."Наївні" моделі прогнозування При створенні "наївних" моделей передбачається, що деякий останній періодпрогнозованого часового ряду краще всього описує майбутнє цього прогнозованого ряду,тому в цих моделях прогноз, як правило, є дуже простий -- функцією від значеньпрогнозованої змінної в недалекому минулому.Найпростішою моделлю є Y(t+1)=Y(t), що відповідає припущенню -- "завтра буде як сьогодні". Поза всяким сумнівом, від такої примітивної моделі не варто чекати великої точності.Вона не тільки не враховує механізми, що визначають прогнозовані дані (цей серйознийнедолік взагалі властивий багатьом статистичним методам прогнозування), але і незахищена від випадкових флуктуацій(випадкові відхилення від середнього значеннявеличини), вона не враховує сезонні коливання і тренди. Втім, можна будувати "наївні"моделі дещо по-іншому Y(t+1)=Y(t)+[Y(t) -Y(t-1)], Y(t+1)=Y(t)*[Y(t) /Y(t-1)], такими способами ми намагаємося пристосувати модель до можливих трендів Y(t+1)=Y(t-s),це спроба врахувати сезонні коливання. Середні і ковзаючі середніНайпростішою моделлю, заснованою на простому усереднюванні є Y(t+1)=(1/(t))*[Y(t)+Y(t-1)+...+Y(1)],і на відміну від найпростішої "наївної" моделі, якій відповідав принцип "завтра буде яксьогодні", цій моделі відповідає принцип "завтра буде як було в середньому за останнійчас". Така модель, звичайно стійкіша до флуктуацій, оскільки в ній згладжуютьсявипадкові викиди щодо середнього. Не дивлячись на це, цей метод ідеологічно настількиж примітивний як і "наївні" моделі і йому властиві майже ті ж самі недоліки.У приведеній вище формулі передбачалося, що ряд усереднюється по достатньотривалому інтервалу часу. Проте як правило, значення часового ряду з недалекогоминулого краще описують прогноз, ніж старіші значення цього ж ряду. Тоді можнавикористовувати для прогнозування ковзаюче середнє Y(t+1)=(1/(T+1))*[Y(t)+Y(t-1)+...+Y(t-T)],Сенс його полягає в тому, що модель бачить тільки найближче минуле (на T відліків зачасом в глибину) і грунтуючись тільки на цих даних будує прогноз. Метод Хольта-вінтерса Цей метод, названий іменами його авторів, є удосконаленням методу експоненційногозгладжування часового ряду. Експоненційне згладжування забезпечує наочне уявленняпро тренд і дозволяє робити короткострокові прогнози, а при спробі розповсюдитипрогноз на більший період -- виходять абсолютно безглузді значення: створюєтьсявраження, що розвиток процесу в сторону зростання або спадання абсолютно припинився - на будь-який період майбутнього прогнозуються одні і ті ж значення.Метод Хольта-вінтерса успішно справляється і з середньостроковими, і здовгостроковими прогнозами, оскільки він здатний виявляти мікротренди (тренди, щовідносяться до коротких періодів) в моменти часу, безпосередньо передуючі прогнозним, іекстраполювати ці тренди на майбутнє. І хоча можлива тільки лінійна екстраполяція вмайбутнє, в більшості реальних ситуацій її виявляється достатньо. При використанніметоду необхідно послідовно обчислювати згладжені значення ряду і значення тренду,накопичені в будь-якій точці ряду. де через E і T згладжене значення ряду і тренд, що розраховуються по всіх точкам ряду, а U і V – константи згладжування, що відносяться до оцінок рівня і тренда відповідно.Вибір значень цих констант знову-таки є суб'єктивним. З приведених рівнянь методувиходить, що значення U і V можуть знаходиться в інтервалі (0...1), але найчастішедослідник вибирає їх значення з більш вузького діапазону [0.25 < U,V < 0.5] і при цьомузначення констант не зобов'язані збігатися. Краще всього, почати моделювання з U = V = 0.3, а потім при потребі їх дещо варіювати.При вищих значеннях U в більшому ступені враховуються минулі значення ряду ітенденція розвитку процесу. У першій точці ряду значення E1 і T1 не розраховуються, для їх розрахунку не існуєпопередніх експериментальних значень. У другій точці ряду приймається, що згладженезначення E2 в точності рівне спостережуваному Y2, а мікротренд за цей період вважається лінійним і розраховується як різниця між поточним і минулим значеннямиT2 = Y2 – Y1. Починаючи з третьої точки вже можна користуватися вказаними вищеформулами: спочатку розраховується згладжене значення E3 по згладженому значенню імікротренду для минулої та поточної точки ряду, а потім розраховується новиймікротренд по свому попередньому значенню і різниці між минулим і лише що оціненимзгладженим значенням. Потім описана процедура повторюється по всіх подальших точкахчасового ряду. Розв’язок:У даній таблиці розміщені об’єми продажу для фірми Kodak . Прогнозовані значенняОтже, коефіцієнти рівняння для 1970 року розраховуються як Y( рік випуску) = U =3T2 = Y1 - Y2 =3.0-2.8=0.2 . Далі розраховуємо коефіцієнти для 1971 року завищенаведеними формулами Е3 = 0.3*(3.0+0.2)+(1-0.3)*3.5= 3.41 Т3 = 0.3*0.2+(1-0.3)*(3.41-3.0)=0.347 Далі коефіцієнти розраховують аналогічно для всіх даних в таблиці. При розрахункупрогнозу в методі Хольта-вінтерса передбачається, що згладжене значення у останнійточці є опорою, а визначений для неї мікротренд збереже своє значення і в майбутньому;функція прогнозу виявляється лінійною, і тоді де j - номер періоду в майбутньому, на який розраховується прогноз.Відповідно розрахуємо прогноз обсягу продаж на 1993 рік як 1* 20.236 1*0.455 20.691Y23+1 = E23 + T23 = + = . За аналогією можна зробити аналіз і дляподальших років. На наступному графіку показана порівняльна характеристика реальних об’ємівпродажу( синя лінія) і прогнозованих (червона лінія)Графічне представлення результатів для випадку U = 0.3; V = 0.3 показує хорошувідповідність між згладженим і спостережуваними значеннями практично по всьому ряду,і від методу в даному випадку природно чекати хороших середньо- і довгостроковихпрогнозів. Оцінити ж помилку прогнозу немає можливості, оскільки неможливопобудувати статистичні характеристики моделі, порівнюючи з характеристиками моделей,побудованих регресійними методами. І хоча можна визначити залишкову суму квадратівмоделі, але неможливо розрахувати дисперсію адекватності зважаючи на відсутністьдостовірної інформації про число мір свободи. Можна, правда, умовно прийняти, що впроцесі обчислень втрачаються два ступені свободи, зв'язані коефіцієнтами U і V, і таким чином число мір свободи на 2 менше числа точок ряду. Якщо ж не вимагати від методузайвої строгості, подібну оцінку цілком можна використовувати.Метод авторегресії Іноді виявляється, що значення в деякій точці часового ряду сильно корельовано здекількома передуючими і/або подальшими значеннями. Автокореляція першого порядкухарактеризує тісноту зв'язку між сусідніми значеннями часового ряду, автокореляціядругого порядку – між віддаленими один від одного на два періоди. І взагалі,автокореляція n-го порядку відноситься до ступеня зв'язаності точок, розсіяних на nперіодів. Припускаючи, що створений зв'язок між значеннями збережеться якийсь час вмайбутньому, ми отримуємо механізм прогнозування, що грунтується на побудові регресіїточок ряду на самих себе, тобто – авторегресії. Авторегресійні моделі різних порядків – першого, другого, в загальному випадку n-ого –можна описати рівняннями наступного вигляду де b0 - константа (вільний член) авторегресійного рівняння, b0 ,b1Kbn – коефіцієнтиавторегресії, Yi - величина відгуку в деякий момент часу, Yi-1,Yi-2,KYi-n – відповідновідгуки одним, двома... n періодами раніше заданого, – нескорельована випадковакомпонента, присутня у відгуку і пов'язана з помилками спостереження і похибкамимоделі.Застосувавши даний алгоритм для таблиці прикладу 1 отримаємо наступні результатиРік Значення Х для регресії Обчислене значення 1993 20,1 21,228 1994 21,228 22,393 1995 22,393 23,595 1996 23,595 24,836 Для побудови надійного прогнозу нам потрібно буде вибрати кращу модель з багатьохавторегресійних, і визначення порядку цієї кращої моделі часто виявляєтьсянетривіальною задачею, що включає розрахунок статистичних характеристик багатьохпобудованих моделей і знаходження тонкого балансу між відносною простотою моделлюнизьких порядків і ігноруванням в цих моделях деяких тонких взаємодій між чинниками,які можуть бути враховані тільки в складніших моделях.Зазвичай починають з побудови моделей високих порядків, а потім поступово їїспрощують, послідовно знижуючи порядок моделі. В даний час частіше поступаютьнавпаки, починаючи з простої моделі, і при необхідності ускладнюють її.Завдання для виконання лабораторної роботиРеалізувати програмно метод Хольта-вінтерса та інший метод на вибір студента. Длядовільного часового ряду побудувати прогноз за обома методами та порівняти отриманірезультати. При реалізації методу Хольта-вінтерса вхідними даними будуть часовий рядта згладжувані параметри U та V, що повинні задаватись у програмі. Вихідними даними –прогнозовані дані. Далі потрібно програмно реалізувати будь-який інший методпрогнозування і побудувати прогноз