Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения

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

Работа из раздела: «Математика»

Дипломна робота

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

РЕФЕРАТ

Дипломна робота містить: 130 стор., 15 рис., 1 табл., 10 джерел.

Об'єктом дослідження є випадкові вектори, компонентами яких є незалежні або залежні випадкові величини з різними розподілами та функції від випадкових векторів.

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

Методика досліджень: розроблене програмне забезпечення для моделювання випадкових векторів та функцій від випадкових векторів в середовищі Maple 13. Правильність результатів моделювання підтверджується перевіркою на основі -критерія з програмного середовища STATISTICA.

Результати досліджень можуть бути застосовані при статистичному моделюванні роботи складних систем.

Перелік ключових слів: ВИПАДКОВА ВЕЛИЧИНА, ВИПАДКОВИЙ ВЕКТОР, СТАТИСТИЧНЕ МОДЕЛЮВАННЯ, ДИСКРЕТНА ВИПАДКОВА ВЕЛИЧИНА, НЕПЕРЕРВНА ВИПАДКОВА ВЕЛИЧИНА, РОЗПОДІЛ ВИПАДКОВОЇ ВЕЛИЧИНИ, ФУНКЦІЯ РОЗПОДІЛУ ВИПАДКОВОЇ ВЕЛИЧИНИ, ФУНКЦІЇ ВІД ВИПАДКОВИХ ВЕЛИЧИН І ВИПАДКОВИХ ВЕКТОРІВ.

Зміст

Вступ

Розділ 1 Загальні положення та визначення в теорії моделювання

1.1 Поняття системи

1.2 Поняття і класифікація моделей. Вимоги до них. Принципи побудови

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

Розділ 2 Імовірнісне моделювання

2.1 Метод статистичних випробувань

2.2 Генератори випадкових чисел. Їх типи та методи генерування

2.3 Перевірка послідовностей випадкових чисел

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

3.1 Основні характеристики випадкових векторів

3.2 Методи моделювання випадкових векторів

3.2.1 Дискретний випадок

3.2.2 Неперервний випадок

3.3.3 Змішаний випадок

3.3 Моделювання функцій від випадкових векторів

3.3.1 Функції від випадкових величин

3.3.2 Моделювання випадкових величин виду

3.4 Описання програмного забезпечення для моделювання випадкових векторів

3.4.1 Прості приклади застосування функції piecewise

3.4.2 Спрощення виразу: simplify()

3.4.3 Розв'язання рівнянь, нерівностей і їх систем

3.4.4 Пакет stats

Висновки

Список використаних джерел

Додаток A

Додаток В Вступ

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

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

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

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

Розділ 1 Загальні положення та визначення в теорії моделювання

1.1 Поняття системи

Основними поняттями в теорії і практиці моделювання об'єктів, процесів і явищ є «система» та «модель».

У перекладі з грецької «systema» -- ціле, яке складається із частин; об'єднання. Термін «система» існує вже більш ніж два тисячоліття, проте різні дослідники визначають його по-різному. На сьогодні існує понад 500 визначень терміну «система». Однак, використовуючи будь-яке з них, у першу чергу потрібно мати на увазі ті завдання, які ставить перед собою дослідник. Системою може бути і один комп'ютер, і автоматизована лінія або технологічний процес, в яких комп'ютер є лише одним із компонентів, і все підприємство або кілька різних підприємств, які функціонують як єдина система в одній галузі промисловості. Те, що один дослідник визначає як систему, для іншого може бути лише компонентом більш складної системи.

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

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

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

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

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

Таким чином, система S задається парою елементів:

де -- множини відповідно елементів і відношень між ними. Відношення визначають взаємодію між об'єктами.

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

1.2 Поняття і класифікація моделей. Вимоги до них. Принципи побудови

Поняття моделі. Термін «модель» походить від латинського слова «modulus», тобто зразок, пристрій, еталон. У широкому значенні -- це будь-який аналог (уявний, умовний: зображення, опис, схема, креслення тощо) певного об'єкта, процесу, явища («оригіналу» даної моделі), що використовується як його «замінник». Цей термін можна застосовувати також для позначення системи постулатів, даних і доведень, формального опису деякого явища або стану речей. Словник Вебстера визначає модель як «спрощений опис складного явища або процесу».

У сучасній теорії керування використовуються моделі двох основних типів. Для технологічних об'єктів цей поділ відповідає «феноменологічним» і «дедуктивним» моделям [19]. Під феноменологічними моделями розуміють переважно емпірично поновлені залежності вихідних даних від вхідних, як правило, з невеликою кількістю входів і виходів. Дедуктивне моделювання передбачає з'ясування та опис основних фізичних закономірностей функціонування всіх компонентів досліджуваного процесу і механізмів їх взаємодії. За допомогою дедуктивних моделей описується процес у цілому, а не окремі його режими.

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

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

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

Класифікація моделей. Для того щоб визначити види моделей, перш за все потрібно окреслити ознаки класифікації. У сучасній літературі описано сотні визначень поняття «модель» та їх класифікацій. Одну з перших, досить повних, класифікацій моделей було запропоновано Дж. Форрестером [22] у 1961 році. Інші класифікації наведено у працях [17, 20, 21], але в жодній з них немає відомостей про ознаки, за якими їх складено.

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

Рис. 1.2.1. Основні типи моделей

Наочні моделі залежно від способу реалізації можна поділити на дво- або тримірні графічні, анімаційні та просторові. Графічні та анімаційні моделі широко використовуються для відображення процесів, які відбуваються в модельованій системі. Графічні моделі застосовуються в системах автоматизованого проектування. Для відтворення тримірних моделей за допомогою комп'ютера існує багато графічних пакетів, найбільш поширені з яких Corel DRAW, 3D Studio Max та Maya. Графічні моделі є базою всіх комп'ютерних ігор, а також застосовуються під час імітаційного моделювання для анімації.

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

Основним видом абстрактної моделі є математична модель. Математичною називається абстрактна модель, яка відображає систему у вигляді математичних відношень. Як правило, йдеться про систему математичних співвідношень, що описують процес або явище, яке вивчається; у загальному розумінні така модель є множиною символічних об'єктів і відношень між ними. Як відзначає Г. І. Рузавін у праці [18], «до сих пор в конкретных приложениях математики чаще всего имеют дело с анализом величин и взаимосвязей между ними. Эти взаимосвязи описываются с помощью уравнений и систем уравнений», через що математична модель звичайно розглядається як система рівнянь, в якій конкретні величини замінюються математичними поняттями, постійними і змінними величинами, функціями. Як правило, для цього застосовуються диференціальні, інтегральні та алгебраїчні рівняння. Розвиток нових розділів математики, пов'язаних з аналізом нечислових структур, досвід їх використання під час проведення досліджень свідчать, що потрібно розширювати уявлення про мову математичних моделей. Тоді математична модель визначатиметься як будь-яка математична структура, де об'єкти, а також відношення між ними можна буде інтерпретувати по-різному, наприклад як функції або функціонали.

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

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

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

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

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

Вимоги до моделей. У загальному випадку під час побудови моделі потрібно враховувати такі вимоги:

· незалежність результатів розв'язання задач від конкретної фізичної інтерпретації елементів моделі;

· змістовність, тобто здатність моделі відображати істотні риси і властивості реального процесу, який вивчається і моделюється;

· дедуктивність, тобто можливість конструктивного використання моделі для отримання результату;

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

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

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

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

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

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

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

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

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

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].

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

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

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

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

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

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

Розділ 2 Імовірнісне моделювання

2.1 Метод статистичних випробувань

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

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

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

Незалежно від типу досліджуваної моделі системи, застосовуючи метод статистичних випробувань, необхідно виконати такі кроки:

1. Визначити, що являтиме собою кожне випробування і зазначити, яке випробування буде успішним, а яке -- ні.

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

3. Виконати статистичну обробку результатів випробувань та обчислити оцінки необхідних статистичних характеристик.

4. Проаналізувати точність отриманих статистичних характеристик.

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

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

Отже, для використання методу статистичних випробувань необхідні певні можливості, а саме:

· генерувати випадкові числа, рівномірно розподілені в інтервалі [0, 1];

· описувати модельовані випадкові явища функціями розподілу ймовірностей та ймовірнісними процесами;

· мати методи отримання випадкових величин функцій розподілу ймовірностей (дискретних і неперервних), які базуються на випадкових числах, рівномірно розподілених у інтервалі [0, 1];

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

· визначати точність отриманих статистичних оцінок як функцій від числа випробувань.

Випадкові числа, рівномірно розподілені в інтервалі [0, 1], мають дві основні властивості:

1. Якщо (і = 1,2,3,...) -- випадкові числа, рівномірно розподілені в інтервалі [0,1], то їх кумулятивний розподіл F (за визначенням F() = Р(< R)), задовольняє співвідношенням(=):

Необхідно зауважити, що теоретично ці випадкові числа повинні бути вибірковими значеннями неперервної величини з функцією щільності, визначеною таким чином(R=r):

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

2. Випадкові числа є незалежними, якщо їх сумісний кумулятивний розподіл G можна подати як добуток окремих функцій розподілу:

або, враховуючи, що n випадкових чисел мають однакові розподіли, можна записати:

Методи генерування випадкових чисел, рівномірно розподілених у інтервалі [0, 1], буде описано нижче.

Розглянемо кілька задач, для розв'язування яких можна застосувати метод статистичних випробувань.

Приклад 2.1.1

Необхідно знайти площу фігури (рис. 2.1.1), обмежену функцією y=f(x) та осями координат Ох і Оy.

Рис. 2.1.1. Схема обчислення інтеграла

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

Ця формула і є формулою числового інтегрування. Чим більша кількість інтервалів n і менший крок , тим точніше можна обчислити площу S.

Тепер покажемо, як можна розв'язати цю задачу за допомогою методу статистичних випробувань. Спочатку пронормуємо функцію у =f(х) так, щоб уписати її в одиничний квадрат. Припустимо, що о -- деяка випадкова величина, рівномірно розподілена в інтервалі [0,1]. Тоді ймовірність попадання значення о в будь-який відрізок [а, b] [0, 1] буде залежати тільки від довжини відрізка [а, b], а не від місця його розташування в інтервалі [0,1], тобто ймовірність того, що вибіркове значення випадкової величини о потрапить у деякий відрізок 0 а b 1, дорівнюватиме довжині цього відрізка: Р(а < о < b) = = b - а.

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

Проведемо N випробувань. Випробування будемо вважати успішним, якщо точка з координатами (,) потрапить в область під кривою у = f(x) або на неї. Підрахуємо кількість успішних випробувань, позначимо їх через m і визначимо частість успішних випробувань -- m/N. На рис. 2.1.1. видно, що у разі збільшення кількості випробувань ця величина наближається до ймовірності попадання точки в заштриховану область Р = S/ m/N, де -- площа одиничного квадрата. Таким чином, згідно з теоремою Бернуллі

У разі прямування кількості випробувань N до нескінченності частість успішних випробувань буде відрізнятись від імовірності p на нескінченно малу величину . Отже, можна вважати, що m/N -- наближене значення шуканої площі S.

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

Приклад 2.1.2

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

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

=0,3125.

Звідси ймовірність ураження цілі

=1-0,3125=0,6875

Тепер покажемо, як розв'язати цю задачу за допомогою методу статистичних випробувань. Процедуру розіграшу можна реалізувати, одночасно підкидаючи чотири монети. Для моделювання підкидання однієї монети використовується одне значення . Якщо < p, вважаємо, що монета падає лицевим боком, і, таким чином, стрілець влучив у ціль. Інакше вважаємо, що стрілець промахнувся. Одне випробування -- це підкидання чотирьох монет. Зробимо N випробувань і позначимо через m число успішних випробувань (дві або більше монет упали лицевим боком, що свідчить про те, що в ціль улучило два або більше стрільців). Тоді, згідно з теоремою Бернуллі, m/N. У разі значного збільшення числа випробувань N і при будь-якому значенні частість враження цілі буде збігатись до ймовірності = 0,6875.

2.2 Генератори випадкових чисел. Їх типи та методи генерування

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

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

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

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

Табличний метод. У 1955 році корпорація «Ренд» опублікувала таблиці випадкових чисел, які мали мільйон значень. Для заповнення цих таблиць застосовувались апаратні методи. Дані цих таблиць можна використовувати під час моделювання систем за допомогою методу статистичних випробувань. У сучасних комп'ютерах ці таблиці можна зберігати на зовнішніх носіях або навіть в основній пам'яті. Головним недоліком табличного методу є те, що під час його використання витрачаються значні об'єми основної пам'яті комп'ютера.

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

Загалом же програмні генератори повинні задовольняти таким вимогам: генерувати статистично незалежні випадкові числа, рівномірно розподілені в інтервалі [0, 1]; мати можливість відтворювати задані послідовності випадкових чисел; затрати ресурсів процесора на роботу генератора повинні бути мінімальними; легко створювати незалежні послідовності випадкових чисел (потоки).

Слід звернути увагу на те, що більшість програмних генераторів виробляють випадкові числа, рівномірно розподілені в інтервалі [0, 1]. Необхідність моделювання таких чисел обумовлена тим, що на їх основі можна отримати випадкові числа практично будь-яких розподілів. Потрібно також мати на увазі, що випадкові числа, які виробляють програмні генератори, є квазірівномірно розподіленими («квазі» у перекладі з латинської -- майже). Причина в тому, що вони створюються комп'ютером, кількість двійкових розрядів якого обмежена, і за його допомогою можна зобразити тільки дискретні (а не неперервні) значення з діапазону від 0 до 1.

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

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

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

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

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

A=B( mod m )

Наведемо кілька прикладів обчислення конгруентних значень для різних m:

125(mod7);355(mod10);1255(mod10).

Серед методів генерування випадкових чисел найбільш поширеним є лінійний мультиплікативний конгруентний метод:

де і = 1, 2,...; а, с і m -- цілі константи. Щоб отримати нове число, необхідно взяти псевдовипадкове число , (або задати вихідне ) , помножити його на коефіцієнт а, додати константу с і взяти модуль отриманого числа за m, тобто розділити на m, і отримати остачу. Ця остача і буде наступним псевдовипадковим числом . У разі правильного підбору параметрів цей генератор видає випадкові числа від 0 до m - 1.

Отримані значення належать до діапазону 0 << m - 1 і мають рівномірний дискретний розподіл. Для того щоб отримати випадкове значення з інтервалу [0, 1], необхідно число розділити на m. У цьому разі всі значення m, с, а, повинні бути додатними й задовольняти умовам: а < m; с < m; < m. Отримана послідовність називається лінійною конгруентною послідовністю.

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

Ще одна вада цих генераторів стосується того, що випадкові числа , отримані за допомогою генератора, можуть приймати тільки дробово-раціональні значення -- 0; 1/m; 2/m;...; (m- 1)/m; а також конгруентна послідовність завжди є циклічною, тобто вона починає повторюватися через певну кількість випадкових чисел. Кількість значень, після яких випадкові числа починають повторюватися, називається повним періодом генератора і є основним його параметром. Значення повного періоду залежать від розрядності комп'ютера, а також від значень m, с, а і . Існує теорема, яка визначає умови існування повного періоду генератора, а саме:

· числа с і m повинні бути взаємно простими, тобто мати взаємний дільник 1;

· значення b = a - 1 має бути кратним q для кожного простого q, бути дільником m;

· значення b має бути кратним 4, якщо m кратне 4.

Достатність цих умов уперше було доведено Халлом (Hull) і Добеллом (Dobell). Повне доведення теореми можна знайти в літературі [12].

Якщо с > 0, то генератор називається мішаним, а якщо с = 0 - мультиплікативним.

Розглянемо, як потрібно вибирати параметри лінійного конгруентного генератора, щоб отримати послідовність з повним періодом. С повинно бути непарним, а-1 має ділитись на 4, повинно лежати в діапазоні від 0 до m-1, а , де g -- довжина розрядної сітки комп'ютера.

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

Найпростіший генератор, послідовність якого залежить більше ніж від одного з попередніх значень, - це генератор, що використовує числа Фібоначчі: mod m.

Цей генератор широко використовувався в 50-ті роки XX століття, але, як показали подальші дослідження, статистичні властивості його досить низькі. Більш складні методи генерування випадкових чисел можна знайти в праці [12].

Розглянуті в цьому розділі методи генерування випадкових чисел не стосуються дослідників, які використовують мови або пакети моделювання. Ці засоби містять вбудовані генератори випадкових чисел, якість яких залежить від розробників цих програмних засобів. На жаль, є ще багато пакетів моделювання, в яких застосовуються генератори досить низької якості [11]. Що стосується мов програмування загального призначення, то засоби генерування випадкових чисел, вбудовані в них, взагалі не задовольняють будь-яким статистичним критеріям. Тому їх не слід використовувати під час проведення відповідальних досліджень.

2.3 Перевірка послідовностей випадкових чисел

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

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

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

Відомо одинадцять емпіричних критеріїв [12], що застосовуються для перевірки статистичних властивостей послідовностей дійсних чисел , і = 1,2,.., які вважаються незалежними та рівномірно розподіленими в інтервалі [0, 1].

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

· частотний -- з використанням або критерію Колмогорова-Смирнова, або критерію ;

· автокореляційний -- з вимірюванням кореляції між і , де к - зсув по послідовності (к - 1, 2, 3, ...);

· серіальний - з фіксацією частоти появи всіх можливих комбінацій чисел (по 2, по 3, по 4 рази) і виконанням оцінювання за критерієм ;

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

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

у t-вимірному просторі.

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

3.1 Основні характеристики випадкових векторів

Нехай - випадкові величини, задані на одному і тому ж ймовірнісному просторі .

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

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

Властивості функцій сумісного розподілу випадкових величин :

1) ;

2) , де - число букв , які зустрічаються серед ;

3) .

Нехай - дискретні випадкові величини, які приймають свої значення на множинах відповідно.

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

Закон сумісного розподілу дискретних випадкових величин має наступні властивості:

1)

2)

3) .

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

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

Випадкові величини називаються незалежними, якщо для всіх . Дискретні випадкові величини незалежні тоді і тільки тоді, коли для всіх має місце рівність: .

Математичним сподіванням випадкового вектора будемо називати вектор .

Коваріаційною матрицею випадкового вектора будемо називати матрицю .

Стандартним нормальним (гауссівським) випадковим вектором будемо називати вектор , компоненти якого незалежні і кожна розподілена .

Характеристичною функцією випадкового вектора будемо називати функцію .

Характеристична функція стандартного нормального вектора - це функція .

3.2 Методи моделювання випадкових векторів

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

У випадку, коли компоненти вектора - залежні випадкові величини, то вектор моделюється наступним чином:

1) розігрується значення на основі функції розподілу;

2) розігрується значення на основі функції розподілу , яка для дискретного випадку має вигляд: , а для неперервного - ;

і т.д.

n) розігрується значення на основі функції розподілу, яка для дискретного випадку має вигляд: , а для неперервного -

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

3.2.1 Дискретний випадок

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

При моделюванні даного вектора використовується формула множення для випадкових подій :

При моделюванні вектора вона набуває вигляду:

(3.2.1.1)

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

Приклад 3.2.1.1

Нехай , де випадкові величини мають сумісний розподіл

Табл. 3.2.1.1. Сумісний розподіл

Для розіграшу випишемо його розподіл:

А для розіграшу умовний розподіл: ; .

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

3.2.2 Неперервний випадок

Моделювання n - вимірної випадкової точки з незалежними координатами. Якщо координати n - вимірної випадкової величини незалежні, то функція розподілу

де - функція розподілу величини . Очевидно, що в цьому випадку можна моделювати кожну величину незалежно:

(3.2.2.1)

де - незалежні випадкові величини, рівномірно розподілені в інтервалі [0,1].

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

Приклад 3.2.2.1

Випадкова точка Q з декартовими координатами рівномірно розподілена в n - вимірному параллелепіпеді (рис.3.2.2.1 для n=2).

Щільність ймовірностей точки Q постійна в :

де - об'єм ( n - вимірний об'єм). Проінтегрувавши по всім змінним, крім ,легко отримати, що щільність дорівнює:

Звідси випливає, що кожна з координат рівномірно розподілена на проміжку , і ці координати незалежні.

Згідно з формулою (3.2.2.1) запишемо рівняння

Звідки випливають явні формули для підрахунку координат:

Рис. 3.2.2.1 Двохвимірний паралелепіпед

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

Всі умовні щільності ймовірності виражаються через сумісну щільність . Приводимо вирази умовних щільностей в загальному виді; всі інтеграли беруться від - до +:

і т.д.

Введемо умовні функції розподілу

Доведена така теорема.

Теорема 3.2.2.1

Нехай - незалежні випадкові величини, рівномірно розподілені на [0,1]. Сукупність випадкових величин , отриманих при послідовному розв'язанні системи рівнянь

(3.2.2.2)

мають сумісну щільність ймовірностей , де - функція розподілу , а - умовні функції розподілу .

Представлення щільності у формі добутку умовних щільностей координат можливо способами. Так, при

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

Якщо незалежні, то всі їх умовні розподіли дорівнюють

і порядок розіграшу величин ролі не відіграє: рівняння (3.2.2.2) перетворюються в (3.2.2.1).

Приклад 3.2.2.2

Розглянемо випадкову точку (), яка може приймати значення в трикутнику x+y<1,x>0,y>0 (рис.3.2.2.2) з щільністю p(x,y)=6x.

Рис.3.2.2.2 Значення, яке може приймати випадкова точка

А) Виберемо в якості першої величини . Тоді

Відповідні цим щільностям функції розподілу:

З формул (3.2.2.2) отримуємо рівняння для послідовного обчислення і

Б) Виберемо тепер в якості першої величини . Тоді

Відповідні функції розподілу:

З формули (3.2.2.2), використовуючи 1- замість, отримаємо рівняння для послідовного обчислення і

.

Порівняємо тепер ці два алгоритми для підрахунку і : в першому з них для знаходження необхідно розв'язувати кубічне рівняння, в той час як в другому можна використати явні формули

(3.2.2.3)

Використання заміни змінних. Далі наводиться правило перетворення щільності при перетворенні координат.

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

в правій частині повинні бути виражені через .

Доведення

Нехай - довільна область в середині , а - її прообраз при розглядуваному відображенні. Очевидно, . По правилу заміни змінних в інтегралі

а за означенням щільності

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

Приклад 3.2.2.3. Випадкова точка Q рівномірно розподілена в кулі .

Позначимо через декартові координати точки Q. Їх сумісна щільність розподілу в кулі постійна:

.

Однак щільності розподілу кожної з координат достатньо громісткі. Тому перейдемо до сферичних координат (рис.3.2.2.3):

,,.

Рис. 3.2.2.3 Сферичні координати точки Q

В нових координатах куля перетворюється в паралелепіпед , .Оскільки якобіан перетворення

то в нових координатах щільність

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

Звідси отримуємо широко відомі формули

(3.2.2.4)

За цими значеннями неважко обчислити і декартові координати точки Q:

Приклад 3.2.2.4

Випадкова точка підкоряється n-вимірному нормальному (гауссівському) розподілу з математичними сподіваннями і другими моментами . Визначник матриці додатній:

Щільність такої випадкової точки визначається формулою:

де - матриця обернена по відношенню до B, а - її визначник.

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

якщо - квадратна матриця ,то - це вектор з компонентами ; квадратична форма виражається через скалярний добуток

Виберемо нові координати і нехай . Тоді

, де - транспонована матриця T. Останній вираз перетвориться в (y,y), якщо - одинична матриця. Звідси, ,а . Таким чином, матриця перетворення T повинна відповідати рівнянню

. (3.2.2.5)

Якобіан перетворення дорівнює визначнику матриці:

Із (3.2.2.5) випливає, що ,а так як , то . Тому , .

Тепер можна записати щільність точки Q в нових координатах

Звідси бачимо, що нові координати точки Q незалежні і нормальні з параметрами (0;1).

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

.

При практичній реалізації цього метода єдине складне місце - підрахунок матриці T. З теорії матриць [23] слідує, що існує трикутна матриця , яка задовольняє (3.2.2.5). Якщо при j>i всі , то (3.2.2.5) перетворюється в систему, яка складається з n(n+1)/2 рівнянь

,

і всі можуть бути послідовно обчисленні в порядку, схематично показаному на рис.3.2.2.4. Матрицю С обчислювати не треба.

Рис.3.2.2.4 Обчислення

Приклад 3.2.2.5

Випадкова величина нормально розподілена з параметрами (0;1):

.

Виберемо незалежну від випадкову величину , також нормально розподілену з параметрами (0;1), і розглянемо на площині x,y випадкову точку Q з декартовими координатами і . Очевидно,

За формулами

(3.2.2.6)

де вдало замість взяти 1-, отримаємо рівняння:

так, що . Отже,

(3.2.2.7)

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

3.2.3 Змішаний випадок

Нехай заданий випадковий вектор , у якого деякі компоненти є дискретними випадковими величинами, а інші неперервні.

Моделювання вектора в цьому випадку опирається на умовні розподіли дискретних компонент і на умовні функції розподілу неперервних компонент, як було показано в пунктах 3.2.1. і 3.2.2.

Наведемо ілюстративний приклад.

Приклад 3.2.3.1

Нехай випадкова величина при кожному значенні p має біноміальний розподіл з параметрами p і N. Нехай p само підкоряється бета-розподілу з параметрами r=3 і s=2, тобто:

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

Наприклад, якщо N=5, , то і закон розподілу набуває вигляду:

Якщо , то . Тобто, в результаті одиничного жеребу маємо .

3.3 Моделювання функцій від випадкових векторів

3.3.1 Функції від випадкових величин

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

Розглянемо вимірний простір .

Функція називається борелівською, якщо вона -вимірна, тобто для будь-якого .

Теорема 3.3.1.1. Якщо - випадковий вектор, де - випадкові величини, які задані на , а - борелівська функція, то - випадкова величина, задана на .

Наслідок. , де .

Нехай випадкові величини задані на , а .

Якщо - дискретні випадкові величини, то .

Якщо мають щільність розподілу ймовірностей , то

.

Якщо і мають неперервні частинні добутки по всім змінним і такі, що якобіан перетворення

відмінний від нуля, тоді має місце наступна теорема.

Теорема 3.3.1.2. Якщо випадковий вектор має щільність розподілу ймовірностей , то випадковий вектор має щільність , яка задається рівністю: .

Зауваження. В тому випадку, коли , можна ввести допоміжні перетворення , які задовольняють умовам попередньої теореми. Тоді

3.3.2 Моделювання випадкових величин виду

Ми обмежимось декількома різними прикладами перетворень вказаного виду. У всіх формулах - незалежні випадкові величини, рівномірно розподілені в інтервалі [0,1].

Приклад 3.3.2.1. Обчислення коренів з випадкових чисел

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

(3.3.2.1)

Спочатку зауважимо, що функція розподілу випадкової величини дорівнює тоді і тільки тоді, коли задовольняє рівнянню

. (3.3.2.2)

Потім розглянемо величину , визначену рівнянням (3.3.2.1). Оскільки в тому і тільки в тому випадку, коли одночасно , то , що й треба було довести.

Якщо ж цю випадкову величину моделювати методом обернених функцій, то, очевидно,

. (3.3.2.3)

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

Приклад 3.3.2.2. Моделювання гамма-розподілу

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

, (3.3.2.4)

де - ціле число. Закон (3.3.3.4) називається гамма - розподілом, оскільки

Метод обернених функцій приводить до явної формули для обчислення тільки у випадку n=1

. (3.3.2.5)

Доведемо, що при будь -якому n значення можна обчислити за формулою

. (3.3.2.6)

Доведення (по індукції). При n=1 формула (3.3.2.6) перетворюється у вже доведену формулу (3.3.2.5). Припустимо,що щільність величини (3.3.2.6) виражається формулою (3.3.2.4), і розглянемо величину .

За відомим правилом композиції щільностей незалежних доданків

.

Використаємо згідно з методом індукції припущення:

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

Моделювання випадкових величин виду . Нехай - дві незалежні випадкові величини, рівномірно розподілені в інтервалі [0,1]. Можна намагатися знайти всі можливі функції такі, що випадкова величина має функцію розподілу . Оскільки випадкова точка () рівномірно розподілена в одиничному квадраті , , то отримаємо для визначення рівняння:

(3.3.2.7)

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

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

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

Якщо , то якобіан перетворення і щільність точки у полярних координатах дорівнює

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

. (3.3.2.8)

Обчислив і , неважко знайти і декартові координати точки :

Приклад 3.3.2.3

Випадкова величина визначена на проміжку з щільністю

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

З формули (3.3.2.8) при отримуємо явні формули Таким чином

Якщо в цьому прикладі відразу застосувати метод обернених функцій для моделювання , то рівняння для знаходження буде доволі складним:

Приклад 3.3.2.4

Випадкова величина нормально розподілена з параметрами (0;1):

Виберемо незалежну від випадкову величину , яка також нормально розподілена з параметрами (0;1), і розглянемо на площині випадкову точку з декартовими координатами і . Очевидно,

По формулам (3.3.2.8), де зручно замість взяти , отримаємо рівняння

, так що . Отже,

(3.3.2.9)

Метод суперпозиції. Припустимо, що функція розподілу випадкової величини , яка нас цікавить, представлена у вигляді

, (3.3.2.10)

де всі - також функції розподілу, а . Із (3.3.2.10) при випливає, що Отже, можна ввести дискретну випадкову величину з розподілом

,

так що .

Теорема 3.3.2.1

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

Доведення

Скористаємось теоремою повної ймовірності і обчислимо функцію розподілу величини , побудованої в теоремі:

що і треба було довести.

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

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

Приклад 3.3.2.5

Випадкова величина визначена на проміжку і має функцію розподілу , де всі .

Можна вважати, що при , і скористаємось методом суперпозиції. З попередньої теореми, використовуючи теореми 3.3.2.2 і 3.3.2.3 отримаємо формулу: якщо , то .

Теорема 3.3.2.2

Випадкова величина , визначена формулою , коли , має розподіл ймовірності

Теорема 3.3.2.3

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

Приклад 3.3.2.6

Випадкова величина визначена на проміжку з щільністю

Якщо для знаходження значень величини скористатися методом обернених функцій(теореми 3.3.2.2 і 3.3.2.3 представляють собою частинні випадки загального метода, який доцільно назвати методом обернених функцій), то отримаємо формулу ,так що прийдеться розв'язувати рівняння п'ятої степені. Можна, однак, представити у вигляді суперпозиції щільностей і :

На основі теореми 3.3.2.1 отримаємо наступний явний алгоритм для обчислення значень :

Метод обернених функцій. Тут буде йти мова про моделюючі формули виду , де - випадкові величини, отримані за допомогою генератора випадкових чисел, а - строго монотонна і неперервна функція задана на інтервалі (0,1); для задана щільність розподілу f(x), a<x<b.

Припустимо, що монотонно зростає, і знайдемо функцію розподілу для : Звідси З іншої сторони,

Таким чином, в припущенні монотонного зростання функції ми отримуємо єдину моделюючу формулу:

(3.3.2.11)

Припустимо тепер, що монотонно спадає і . Тоді і З іншої сторони,

Таким чином, у випадку монотонного спадання маємо також єдину моделюючу формулу: Ця формула по суті еквівалентна (3.3.2.11), оскільки випадкові величини 1- і однаково розподілені.

Метод інтегральної суперпозиції. Розглянемо неперервну випадкову точку з декартовими координатами і на площині x,y. Якщо щільність дорівнює , то щільність дорівнює

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

Приклад 3.3.2.7

Щільність випадкової величини при пропорційна інтегральній показниковій функції n-го порядку (n>0)

.

Так як тут , то

.

Відповідні функції розподілу дорівнюють .

З рівняння знайдемо , а з рівняння знайдемо . Тобто .

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

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

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

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

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

Рис.3.3.2.1 Щільність випадкової величини , яка апроксимується знизу достатньо простою лінією

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

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

.

Введемо в розгляд щільності

.

Очевидно, і при всіх x із (a,b) .

Згідно з теоремою 3.3.2.1, для того щоб знайти значення , можна спочатку по числу розіграти номер області , а потім обчислити з рівняння

, (3.3.2.12)

де - лівий кінець .

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

можна розв'язувати наступним чином: спочатку знайдемо номер k такий, що

(3.3.2.13)

тоді це рівняння перетвориться в рівняння

(3.3.2.14)

розв'язуючи яке і знайдемо . Рівняння (3.3.2.14) простіше, ніж (3.3.2.12).

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

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

Рис.3.3.2.2 Розбиття проміжку на суму проміжків

3.4 Описання програмного забезпечення для моделювання випадкових векторів

Для моделювання випадкових векторів ми будемо використовувати програмне середовище Maple. На даний момент існує багато версій цієї програми. В дипломній роботі використовується версія Maple 13.

3.4.1 Прості приклади застосування функції piecewise

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

>

Рис.3.4.1.1. Приклад задання і застосування функції, яка складається з різних частин

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

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

Нижче наведено приклад задання функції f в аналітичній формі:

>

Для виявлення характеру функції скористаємось функцією convert і створимо об'єкт g у вигляді кускової функції:

>

Зробимо диференціювання і інтегрування функції:

>

Як неважко замітити, результати отриманні також у вигляді кускової функції. Можна продовжити роботу з функцією f і зробити її розклад в степеневий ряд:

>

Щоб убрати член з остаточною похибкою, можна зробити цю операцію наступним чином:

>

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

3.4.2 Спрощення виразу: simplify()

Ця команда використовується для спрощення різноманітних виразів, які складаються з раціональних дробів (алгебраїчні вирази), до яких входять тригонометричні, обернені тригонометричні функції, логарифми і експоненти, тобто з її допомогою можна намагатися спростити вираз, що складається з елементарних функцій. Чому намагатися? Просто тому, що Maple може його спростити, а може й ні, так як він використовує свої внутрішні алгоритми спрощення, результат виконання яких може не зовсім відповідати поглядам користувача на те, як він хотів би спростити вираз і в якому виді його отримати. Взагалі, задача спрощення у всіх системах аналітичних обчислень - це достатньо важка проблема. В одному контексті обчислень якесь перетворення вважається спрощенням, а в другому те ж саме перетворення може і не вважатися спрощенням. Наприклад, при розв'язані тригонометричних рівнянь не завжди доцільно заміняти на 1, хоч це явне спрощення. Іноді треба зробити навпаки: одиницю представити у вигляді суми квадратів синуса і косинуса, і тоді таке спрощення приведе до спрощення всього рівняння, дозволить розкласти його на множники і розв'язувати поставлену задачу.

Ця команда має декілька форм виклику, які відмінні лише найменуванням параметрів. Її самий простий синтаксис має наступний вид: simplify( вираз);

Команда simplify() шукає у виразі виклики функцій, квадратні корені, радикали і степені. Команда simplify() зберігається в основній бібліотеці Maple 13. Ми перерахуємо частину з них: simplify/exp - для спрощення виразу з експоненціальними функціями, simplify/ln - для спрощення виразу з логарифмами, simplify/trig - для спрощення виразу з тригонометричними функціями і т.д. За умовчанням Maple 13 намагається використати максимальний набір функцій спрощення, який підходить до конкретного виразу.

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

simplify( вираз, n1,n2,…);

тут n1,n2 і т.д. є іменами процедур спрощення: sqrt,trig,power,radical,ln. Повну інформацію про формулу спрощення при використанні перерахованих значень параметрів можна отримати за допомогою команди ?simplify(ім'я), де ім'я - одне зі значень параметрів функції спрощень.

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

simplify( вираз, assume= властивість);

де параметр властивість може приймати одне з наступних значень:

complex - комплексна область, real - дійсна область, positive - додатні дійсні числа, integer- цілі числа.

Нижче наведені приклади використання команди спрощення виразів simplify():

>

Звернемо увагу на спрощення виразу f. Використання команди без параметрів не спростило вираз , тоді як другий оператор з припущенням про дійсну область зміни змінної x спростив заданий вираз.

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

Спрощення з припущенням:

>

Команда спрощення дозволяє задати правило спрощення у виді рівняння. Ці правила задаються другим параметром, який повинен мати наступний вид:

{рівняння1,рівняння2,…}

Якщо якийсь вираз при спрощені повинен дорівнювати нулю, то таке правило можна задати, просто записавши цей вираз без знака рівності в список правил:

>

В цьому прикладі допускається, що квадрат величини b дорівнює нулю.

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

Спрощення в залежності з правилами користувача:

>

3.4.3 Розв'язання рівнянь, нерівностей і їх систем

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

Два вирази, які з'єднанні знаком рівності, представляють собою самостійний тип даних Maple- рівняння (equation). Рівняння можна присвоїти звичайним змінним Maple, з ними можна робити перетворення, використовуючи звичайні арифметичні дії, які виконуються окремо для лівої і правої частини рівнянь. Ці дії дозволяють перетворити рівняння до виду, зручному для використання, а іноді і спрощуючи Maple пошук розв'язку. В прикладі показано деякі перетворення, які можна зробити з рівняннями в Maple 13.

Приклад 3.4.3.1

>

При перевірці типу змінної, значенням якої є рівняння, за допомогою команди whattype() результатом є рівність =, що означає, що тип змінної, яку перевіряємо є рівнянням.

Точно так, як і при задані рівняння, два вирази, які з'єднані знаками >= (більше або дорівнює), <=(менше або дорівнює), > (більше) чи < (менше), представляють новий тип - нерівність (inequation).

>

При перевірці типу об'єкта, що представляє нерівність, в області виводу відображення або <> , або<, або <=. Діло в тому,що Maple розуміє тільки ці три типа. Нерівність протилежного знака приводиться до них перестановкою лівої і правої частини з заміною знаків на протилежне.

Команда solve(). Команда solve() одна з самих корисних команд системи аналітичних обчислень Maple, яка дозволяє розв'язувати рівняння і системи рівнянь, нерівностей і системи нерівностей. Вона завжди намагається знайти замкнутий розв'язок в аналітичній формі. ЇЇ синтаксис, як і синтаксис всіх команд Maple 13, достатньо просто і легко запам'ятовується:

solve(рівняння, змінна);

solve((рівняння1, рівняння2,…),(змінні1, змінна2,…));

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

Приклад 3.4.3.2

>

Коли Maple не може знайти ні одного розв'язку, то команда solve () повертає порожню послідовність NULL. Це означає, що або розв'язок не існує, або Maple не вдалось його знайти.

Розв'язок останнього рівняння з прикладу був отриманий без уточнення змінної , відносно якої слід розв'язувати рівняння. Maple розв'язав їх відносно всіх невідомих величин, що входять в рівняння. Причому він вибрав невідому x в якості параметра, а невідому змінну y виразив через введений параметр x. Щоб отримати параметр розв'язку, необхідно параметру x присвоїти довільне значення, тоді значення невідомої y буде визначено однозначно.

В загальному випадку поліноміальне рівняння степені вижче 4 може не мати розв'язку, вираженого за допомогою радикалів. В цьому випадку для представлення результатів Maple використовують спеціальну функцію RootOf(), яка застосовується для позначення будь-якого кореня виразу, заданого в якості її параметра:

>

Відмітимо розв'язок за допомогою команди solve() тригонометричних рівнянь. По умовчанню Maple 13 розв'зує їх на проміжку . Для отримання всіх розв'язків тригонометричних рівнянь необхідно задати значення глобальної змінної _EnvAllSolutions рівним true. Наступний приклад ілюструє використання глобальної змінної _EnvAllSolutions:

>

Як видно, у випадку _EnvAllSolutions:=true Maple дійсно будує всі розв'язки тригонометричного рівняння з використанням цілочисельної системи змінної _z1 з тільдою , в якій тільда означає, що на значення змінної накладені деякі обмеженості. В цьому випадку ця змінна може приймати тільки цілочисельні значення.

Коли ми вручну розв'язуємо рівняння, то при отриманні розв'язку робимо перевірку. Точно так необхідно робити і при роботі з Maple. Найбільш підходящим методом перевірки розв'язку є використання функції eval(). Цією ж командою можна обчислити значення величини x і y. Для перевірки можна використати функцію map() разом з функцією subs(), яка за одну операцію виконує перевірку всіх розв'зків. Ця методика є досить зручною, особливо коли розв'язків дуже багато. Виклик команди map() виглядає так:

map(subs,[sols],eqns);

Команда solve() може розв'язувати невизначені системи рівнянь, в яких кількість рівнянь менша числа невідомих. В цьому випадку система сама знає, які з невідомих прийняти за параметри, а які за невідомі, відносно яких необхідно будувати розв'язок.

Команда розв'язання рекурентних рівнянь rsolve(). Для розв'язання рекурентних рівнянь в Maple 13 включена спеціальна команда rsolve(), яка будує загальний розв'язок рекурентного рівняння, використовуючи початкові значення , якщо вони задані, або через їх символьні позначення, якщо вони не задані.

Приклад 3.4.3.3

>

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

Приклад 3.4.3.4

>

3.4.4 Пакет статистики stats

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

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

>with(stats);

або команди окремих пакетів

>with(stats, ім'я підпакета);

Команди підпакетів викликаються з використанням повних імен:

>ім'я під пакета[ім'я команди ](параметри);

Для використання коротких імен команд підпакета необхідно після підключення всього пакету або окремого цього підпакету виконати команду:

>with(ім'я підпакету);

Команди пакету stats працюють з даними, які знаходяться в статистичних списках, які включають в себе і звичайні списки Maple. Спеціальні статистичні списки можуть включати в себе діапазони і кількість повторень в списку заданої величини:

>

Отримати список значень з нормального розподілу можна командою normald підпакета random:

>

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

Пакет Statistica для таких підрахунків представлен лише двума статистичними функціями:

Stats[subpackage,function](args)

Subpackage[function](args)

Однак завдяки спеціальній формі задання параметрів можливе обчислення самих різноманітних статистичних функцій. Є наступні підпакети:

Anova-варіаціонний аналіз;

Describe-функції розподілу ймовірностей;

Fit-регресійний аналіз;

Random-генерація випадкових чисел з різними законами розподілу;

Statevalf-обчислення статистичних функцій;

Statplots-побудування графіків статистичних функцій;

Transform-функції перетворення даних.

Генерація випадкових чисел з заданим розподілом. Основою цього підпакету є функція random:

random[distribution](uniform) або

stats[random[distribution](uniform)] де

distribution- описання закону розподілу випадкових величин, а uniform- процедура генерації чисел з рівномірним розподілом.

Можливе задання дискретних і неперервних розподілів, наприклад binomiald - дискретний біноміальний розподіл, uniform - дискретний рівномірний розподіл, beta - бета-розподіл, exponential - експоненціальний і т.д.

Наступні приклади показують техніку отримання випадкових чисел з заданими законами розподілу:

>

>

Графіка статистичного пакету. Статистичний пакет має свою невелику бібліотеку для побудови графіків. Вони викликаються наступним чином:

stats[statplots,function](args)

Вид графіка задається описанням function: boxplot,histogram,scatterld,symmetry. Данні функції забезпечують побудову графіків, які ілюструють статистичні підрахунки. В якості прикладу на рис. 3.4.4.1 показано задання множини випадкових точок і її відображення на площині в обмеженому прямокутному просторі.

>

Рис.3.4.4.1 Створення випадкових точок і побудова їх на площині

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

Доволі часто для візуалізації обчислень використовується побудова гістограм. Для їх створення пакет stats має функцію histogram:

stats[statplots,histogram](data), тут data - список даних.

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

>

Рис.3.4.4.2 Побудова гістограм

Висновки

Моя дипломна робота присвячена статистичному моделюванню випадкових векторів.

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

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

Так, у випадку, коли компоненти вектора є незалежними дискретними випадковими величинами, ми кожну компоненту моделюємо окремо на основі співвідношення (1) //де R - рівномірно розподілена випадкова величина в інтервалі [0;1]//, що визначає стандартний метод моделювання дискретної випадкової величини, або у разі потреби, використовуємо нестандартні методи, які, як відомо, зменшують трудоємність алгоритму.

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

Ці методи розглядалися в моїй бакалаврській дипломній роботі.

У випадку, коли компоненти вектора є дискретними залежними випадковими величинами, то для моделювання такого вектора ми користуємось співвідношенням (2)

.

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

Тобто, якщо , то , і умовний закон розподілу набуває вигляду (6):, а якщо , то .Отже, в результаті одиничного жеребу маємо, що вектор приймає значення .

Далі розглянемо приклад, де вектор заданий по-іншому.

- випадкові величини, причому випадкова величина має Пуассонів розподіл з параметром (, , ), а має біноміальний розподіл з параметрами ( , ). Тоді беремо з датчика і розігруємо значення , підставляючи це значення в розподіл і беручи з датчика, отримуємо значення . Тобто, якщо ,а, то =5 ,а якщо . Отже, в результаті одиничного жеребу маємо, що вектор приймає значення 5 і 3.

Тепер розглянемо випадок, коли компоненти вектора є неперервними випадковими величинами. Для моделювання такого вектора користуємось співвідношенням (8) , деі теоремою.

Теорема. Нехай - незалежні випадкові величини, рівномірно розподілені на [0,1]. Сукупність випадкових величин , отриманих при послідовному розв'язанні системи рівнянь

(9)

мають сумісну щільність ймовірностей , де - функція розподілу , а - умовні функції розподілу відповідно.

Розглянемо приклади для даного випадку.

Приклад 1. Нехай заданий вектор , який має щільність виду (10) (область обмежена), де Р має вигляд (11) //Р- трикутник//. Користуючись співвідношеннями

(12) і (13)

я знайшла моделюючі формули (14) для розіграшу компонентів вектора . Для знаходження моделюючої формули для треба розв'язувати кубічне рівняння. Виявляється, що в цьому випадку зручніше починати моделювати з другої компоненти, використовуючи аналогічні формули (12) і співвідношення (15) . В даному випадку отримані моделюючі формули мають вигляд (16) і є простішими, в порівнянні з формулами (14), оскільки відразу можна виразити і . Тобто, моделюючі формули для знаходження мають вигляд (17) .

В наступному прикладі область, в якій зосереджена щільність розподілу, необмежена, на відміну від 1-го прикладу.

Приклад 2. Нехай щільність вектора має вигляд (18) . Тоді в даному разі користуючись співвідношеннями (12) і (13), отримуємо моделюючі формули виду (19) .

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

Наприклад, нехай заданий вектор і нехай випадкова величина при кожному значенні має біноміальний розподіл з параметрами і N (), і нехай сама підкоряється бета-розподілу з параметрами r і s:

.

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

Тобто, якщо r=3, s=2, N=5,а , то=0.48 і закон розподілу набуває вигляду (20): , а якщо , то . Тобто, в результаті одиничного жеребу вектор приймає значення (2;0.48).

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

Особливо широко в теорії статистичного моделювання представлені методи моделювання функцій від двох випадкових величин - . На плакаті 4,5 це представлено в співвідношеннях (21)-(36).

У випадку, коли - незалежні, моделювання базується на співвідношенні (21), де e - одинична функція. Наприклад, нехай і - незалежні випадкові величини, які мають показниковий розподіл з параметром (). Треба змоделювати випадкову величину .

Для розв'язання даного прикладу ми спочатку беремо з датчика і розігруємо значення , потім беремо з датчика і розігруємо . Підставляючи отримані значення в частку , отримаємо перше значення величини . Я змоделювала серію значень і показати, що ця величина має рівномірний розподіл в інтервалі [0,1]. Отримані серії значень добре узгоджуються з цим розподілом.

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

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

Припустимо, що треба розіграти випадкову величину розподілену за нормальним законом з параметрами (0,1) (). Як відомо, для моделювання цієї випадкової величини є різні нестандартні методи (бакалаврська робота). Зокрема, можна застосувати полярні координати для розіграшу такої величини. Для цього штучно введемо випадкову величину також розподілену за нормальним законом з параметрами (0,1) (). Тоді сумісна щільність цих випадкових величин має вигляд (24) (на площині x,y). Застосувавши співвідношення (23), отримаємо моделюючі формули для полярних координат у вигляді (25) , , а для декартових у вигляді (26) , . (В результаті маємо розігране значення ( як допоміжна величина)).

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

. Ця випадкова величина використовується при моделюванні випадкової величини з розподілом F(x). Це зустрічається тоді, коли ми маємо діло з сумішшю випадкових величин.

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

При використанні методу інтегральної суперпозиції, розглядається неперервна випадкова точка на площині x,y. Якщо щільність дорівнює p(x,y), то щільність має вигляд (30) Використовуючи представлення (31) , спочатку моделюється , а потім . Тобто, спочатку знаходимо з рівняння (32) , а потім - з рівняння (33) . Взагалі, метод інтегральної суперпозиції використовується рідко, головним чином тоді, коли щільність задана у формі інтеграла по параметру. Наприклад, нехай задана щільність випадкової величини при 0<x<, яка пропорційна інтегральній показниковій функції n-го порядку (n>0) . Оскільки p(x,y) має вид (34) , то користуючись співвідношеннями (35) , , (32) і (33) знаходимо моделюючі формули для і виду (36) , . Як бачимо, в даному випадку, зручніше починати моделювати з другої величини.

Коли моделюють функції від випадкових векторів загального виду , то користуються співвідношенням (37) , де е - одинична функція.

Для статистичного моделювання випадкових векторів мною, як я вже говорила, розроблене програмне забезпечення в середовищі Maple 13 з ілюстративними прикладами. Використовуючи його, споживач може вводити випадкові вектори з будь-якими розподілами. На плакаті 6 представлена схема даного програмного забезпечення. Для того, щоб впевнитись в правильності роботи свого програмного забезпечення, я перевіряла гіпотези про те, що розіграні серії значень добре узгоджуються з заданими законами розподілів. Для цього я використовувала критерій з програмного забезпечення STATISTICA. І отримала позитивні результати.

Список використаних джерел

1. Томашевський В.М. Моделювання систем. - К.: Видавнича группа BHV, 2005. - 352 с.

2. Соболь И.М. Численные методы Монте - Карло. - М.: Наука. Главная редакция физико - математической литературы, 1973.

3. А.В. Матросов. Maple 13. Решение задач высшей математики и механики. М.: Высшая школа, 1973г. - 527с.

4. Дьяконов В.П. Maple 13. Учебный курс. СПб.: Питер, 2002г. - 672с.

5. Дьяконов В.П. Maple 10 в математике и физике. СПб.: Питер, 2006г.-320с.

6. Свижков О.А. Математика на компьютере. М.: Солон-Пресе, 2003г-176с.

7. Сборник задач по теории вероятностей, математической статистике и теории случайных функций, под редакцией А.А. Свешникова. М.: Издательство «Наука», Главная редакция физико-математической литературы, 1970г.- 656с.

8. Послайко Н.И., Методические указания к решению задач по теории вероятностей. Часть 2. - Днепропетровск: ДИИТ, 1985.-38с.

9. Турчин В.Н., Дискретные распределения и случайные величины. Издательство ДГУ, 1991.-94с.

10. Турчин В.Н., Распределения и случайные величины. Издательство ДГУ, 1991.-115с.

11. Кельтон В., Лоу А. Имитационное моделирование. - 3-е изд. - Спб.: Питер; К.: Издат. Группа BHV, 2004. - 847с.

12. Кнут Д.Э. Искусство программирования. - Т.2: Получисленные алгоритмы. - 3-е изд. - М.: Издат. Дом “Вильямс”, 2001. - 832с.

13. Пинцкер А. Введение в имитационное моделирование и язык СЛАМ 2. - М.: Мир, 1987. - 646с.

14. Крейн М., Лемуан О. Введение в регенеративный метод анализа моделей. -М.: Наука, 1974.-832с.

15. Литвинов В.В., Марьянович Т.П. Методы построения имитационных систем.- К.: Наук. думка, 1991.- 120с.

16. Мартин Ф. Моделирование на вычислительных машинах. - М.: Сов.радио,1972.-288с.

17. Основы моделирования сложных систем: Учеб.пособиеПод.общ.ред. д-ра техн. Наук И.В. Кузьменко - К.: Вища шк.., 1981.- 360с.

18. Рузавин Г.И. Философские проблемы оснований математики. - М.: Наука, 1983. - 304с.

19. Самарский А.А., Михайлов А.П. Математическое моделирование. Идеи. Методы. Примеры. - 2-е изд., испр. - М.: Физматлит, 2001. - 316с.

20. Ситник В. Ф., ,Орленко Н.С. Імітаційне моделювання: Навч.-посібник для сам ост.вивч.дисц. - К.: КНЕУ, 1999. - 208с.

21. Советов Б.Я., Яковлев С.А. Моделирование систем: Учебник для вузов. - М.: Высш. шк., 1998. - 320с.

22. Форрест Дж. Промышленная динамика. - М.: Прогресс, 1971.

23. Мишина А.П., Проскуряков И.В., Высшая алгебра, СМБ. Физматгиз, М.,1962.

Додаток А

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

Дискретний випадок

Компоненти вектора - незалежні випадкові величини

(1)

Компоненти вектора - залежні випадкові величини (2)

Приклад 1

(3)

(4)

(5)

;

,

(6)

, -2

Приклад 2

, ,

,

=4, =1/2, =0.396, =5, =0.022, =3

Неперервний випадок

Компоненти вектора - незалежні випадкові величини

(7)

Компоненти вектора - залежні випадкові величини

, (8)

де

Теорема

Нехай - незалежні випадкові величини, рівномірно розподілені в [0,1]. Сукупність випадкових величин , отриманих при послідовному розв'язанні системи рівнянь

(9)

мають сумісну щільність ймовірностей , де - функція розподілу , а - умовні функції розподілу .

Приклад 1

(10)

(11)

(12)

,

(13)

, (14)

(15)

, (16)

, (17)

Приклад 2

, , (18)

(19) Змішаний випадок

Приклад

r=3, s=2, N=5, =0.395, =0.48

(20)

=0.842, =2,

Моделювання функцій від випадкових векторів

Перетворення виду

(21)

де

Приклад

,

,- рівномірно розподілена на [0,1]

Застосування полярних координат

, , (22)

, (23)

,

Приклад

, , , (24)

, (25)

, (26)

Метод суперпозиції

(27)

- функції розподілу, а . Коли , то

, (28)

Приклад

(29)

Метод інтегральної суперпозиції

(30)

(31)

(32)

(33)

Приклад

, ,

, , (34) , (35)

, (36)

Перетворення виду

(37)

Програмне забезпечення

Додаток В

Програмне забезпечення

Дискретний випадок

Задача №1

Нехай , де випадкові величини мають сумісний розподіл

Записати алгоритм моделювання двохвимірного випадкового вектора .

Програма:

>

>

>

Задача №2

Нехай при кожному заданому N випадкова величина має біноміальний розподіл з параметрами p і N. Припустимо, що параметр N сам підкоряється біноміальному розподілу з параметрами q і M, причому .

Розробити програмне забезпечення для отримання серії значень випадкового вектора.

Програма:

>

Інші пари значень отримуються аналогічно, тому ми запишемо тільки результати.

>

Задача №3

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

Розробити програмне забезпечення для отримання серії значень випадкового вектора.

Програма:

>

Інші пари значень отримуються аналогічно, тому ми запишемо тільки результати.

Неперервний випадок

Задача №1

Написати алгоритм моделювання двохвимірного випадкового вектора з щільністю розподілу:

Визначити константу с.

Програма:

>

>

>

>

>

Задача №2

Дана щільність розподілу ймовірностей системи випадкових величин :

.

Написати алгоритм моделювання.

Програма:

>

>

>

>

>

>

>

>

Задача №3

Щільність ймовірності системи випадкових величин дорівнює:

Визначити константу с, побудувати алгоритм моделювання.

Програма:

>

>

>

>

>

>

>

>

>

Змішаний випадок

Задача №1

Нехай випадкова величина при кожному заданому p має біноміальний розподіл з параметрами p і N. Припустимо, що p само підкоряється бета-розподілу з параметрами r і s:

Розробити програмне забезпечення для отримання серії значень випадкового вектора.

Програма:

>

Інші пари отримуються аналогічно, тому запишемо тільки результати.

>

Задача №2

Нехай випадкова величина має пуассонів розподіл з параметром , а сам є випадковою величиною з експоненціальним розподілом з параметром 1с:

Розробити програмне забезпечення для отримання серії значень випадкового вектора.

Програма:

>

Інші пари значень отримуються аналогічно, тому запишемо тільки результати.

Задача №3

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

при >0 і дорівнює 0 при .

Розробити програмне забезпечення для отримання серії значень випадкового вектора.

Програма:

>

Інші пари значень отримуються аналогічно, тому запишемо тільки результати.

>

Функції від випадкових векторів

Задача №1

Нехай і - незалежні випадкові величини, які мають показниковий розподіл з параметром . Змоделювати випадкову величину .

Програма:

>

Інші значення отримуються аналогічно, тому запишемо тільки результати.

Перевірка за допомогою програми STATISTICA

ref.by 2006—2025
contextus@mail.ru