Статистичне моделювання випадкових векторів

дипломная работа

1.3 Основні види та технологія моделювання

Основні види моделювання. Єдина класифікація видів моделювання неможлива через багатозначність поняття моделі в науці, техніці, суспільстві. Широко відомими видами моделювання є компютерне, математичне, імітаційне та статистичне. На жаль, різні джерела по-різному трактують ці поняття.

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

Рис. 1.3.1. Схема системи водопостачання

Що стосується математичних моделей, або математичного моделювання, то слід відзначити, що під час їх використання багато чого залежить від способу подання як моделі, так і результатів моделювання. Розглянемо простий приклад. Нехай на деякому підприємстві для водопостачання використовується резервуар, обєм якого становить W тисяч літрів. Рівень споживання -- тисяч літрів, а швидкість наповнення резервуара -- тисяч літрів за добу. Необхідно знайти час Т, за який буде заповнено резервуар. Схему цієї системи зображено на рис. 1.3.1, де резервуар позначено прямокутником, а вхідний і вихідний потоки -- стрілками з «вентилями», які регулюють ці потоки. Хмарки позначають необмежені потоки. Такі ідеограми широко використовуються під час побудови моделей неперервних процесів.

Знайдемо час заповнення резервуара:

(1.3.1)

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

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

(1.3.2)

Рис. 1.3.2. Графік наповнення резервуара

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

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

Термін «моделювання» відповідає англійському слову «modeling», тобто побудові моделі та її аналізу. Англійський термін «simulation» відповідає прийнятому терміну «імітаційне моделювання», але часто вони використовуються разом, коли йдеться про технологічні або системні етапи моделювання, повязані з прийняттям рішень за допомогою моделей.

Імітаційне моделювання -- це метод конструювання моделі системи та проведення експериментів. Однак під таке визначення підпадають майже всі види моделювання. Тому потрібно виділити суттєві особливості імітаційного моделювання.

Перш за все слід подати в моделі структуру системи, тобто загальний опис елементів і звязків між ними, потім визначити засоби відтворення в моделі поведінки системи. Здебільшого поведінку системи описують за допомогою станів і моментів переходів між ними. Стан системи в момент часу t визначають як безліч значень певних параметрів системи у цей самий момент часу t. Будь-яку зміну цих значень можна розглядати як перехід до іншого стану. І врешті-решт, імітаційна модель має відобразити властивості середовища, в якому функціонує досліджувана система. Зовнішнє середовище задають вхідними впливами на модель.

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

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

Якщо повернутись до процесу наповнення резервуара (рис. 1.3.3), то за допомогою імітаційної моделі весь процес можна відтворити з використанням рівняння (1.3.2). Позначимо через поточний стан резервуара, який відтворюється в певні моменти модельного часу, що змінюється з постійним кроком :

(1.3.3)

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

Рис. 1.3.3. Динамічна характеристика наповнення резервуара

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

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

де - випадкове число, рівномірно розподілене в інтервалі [0,1]. Результати роботи імітаційної моделі наведено на рис. 1.3.4. У цьому випадку після кожного прогону моделі отримаємо випадкові значення , де j -- кількість прогонів, j - 1, 2, 3,.. . Для кожного прогону потрібно задавати свою послідовність випадкових чисел . Як видно на рис. 1.3.4, отримані значення будуть відрізнятись від середнього значення T, знайденого за допомогою детермінованої моделі. Таким чином, щоб оцінити час T наповнення резервуара, потрібно задати точність оцінювання і рівень довіри б. Звичайно б = 0,95, тобто є гарантія, що в 95 випадках із 100 середнє значення часу T буде знаходитись у межах .

Рис. 1.3.4. Графік реалізації стохастичної моделі

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

Технологія моделювання. Основою моделювання є методологія системного аналізу. Це дає змогу досліджувати систему, яка проектується або аналізується, за технологією операційного дослідження, включаючи такі взаємоповязані етапи:

1. Формулювання проблеми та змістове поставлення задачі.

2. Розроблення концептуальної моделі.

3. Розроблення програмної реалізації моделі (зазвичай застосовується компютерна модель), яка включає:

а) вибір засобів програмування, за допомогою яких буде реалізовано модель;

б) розроблення структурної схеми моделі та складання опису її функціонування;

в) програмна реалізація моделі.

4. Перевірка адекватності моделі.

5. Організація та планування проведення експериментів, яке включає оцінювання точності результатів моделювання.

6. Інтерпретація результатів моделювання та прийняття рішень.

7. Оформлення результатів дослідження.

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

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

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

Згідно з цілями моделювання визначаються вихідні показники, які потрібно збирати під час моделювання, ступінь деталізації, необхідні вхідні дані для моделювання.

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

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

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

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

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

Під час розроблення програмної реалізації моделі визначаються засоби для програмування, тобто мови програмування або пакети. Наприклад, можуть використовуватись мови програмування загального призначення, такі як С чи PASCAL, або спеціалізовані засоби для моделювання (наприклад, Arena, AutoMod, Extend, GPSS, iThink). Перевага використання мов програмування полягає в тому, що, як відомо, вони мають невисоку закупівельну вартість, і на виконання моделі з їх допомогою затрачається менше часу. Натомість використання програмного забезпечення моделювання сприяє зменшенню тривалості програмування і вартості всього проекту.

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

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

Після кожного з вищезазначених етапів перевіряється достовірність моделі. Перевірку умовно можна розділити на два етапи: перевірка правильності створення концептуальної моделі, тобто задуму -- валідація; перевірка правильності її реалізації -- верифікація [16].

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

Етап перевірки правильності реалізації моделі включає перевірку еквівалентності перетворення моделі на кожному з етапів її реалізації та порівняння станів. У цьому разі модель зазнає таких змін: концептуальна модель--математична модель-- алгоритм моделювання--програмна реалізація моделі.

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

Розробляється план проведення експериментів з моделлю для досягнення поставлених цілей. Основна мета планування експериментів -- вивчення поведінки модельованої системи при найменших витратах під час експериментів. Зазвичай провадять такі експерименти: порівнюють середні значення і дисперсії різних альтернатив; визначають важливість урахування впливу змінних та обмежень, які накладаються на ці змінні; визначають оптимальні значення з деякої множини можливих значень змінних.

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

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

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

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

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

Делись добром ;)