Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabМЗКИТ-Мах-Ukr09.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
216.06 Кб
Скачать

Контрольнi запитання

1. Які алгоритми використуть для побудови нелінійної регресійної моделі у системі Маximа?

2. Як можна провести оцінку значимості коефіцієнтів рівняння регресії у системі Маximа?

3. Як можна використовувати результати оцінки коефіціентів отриманого рівняння регресії для проведення подальшого статистичного аналізу?

Методика виконання роботи

  1. Завантажити систему Маximа і створити локумент.

  2. Завантажити пакет розширення lsquares.

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

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

Додадок 7.1.

Функції системі Маximа дозволяють одержати регресійні моделі на основі використання МНК, що представляють із себе лінійну комбінацію заданих базових функцій і коефіцієнти цієї лінійної комбінації є параметрами моделі. Часто виникає небходимость побудови більш складних моделей, що представляють із себе нелінійні комбінації та здобутки базових функцій, тобто моделей, нелінійних по параметрах. У системі Маxiма функції для реалізації нелінійного регресійного аналізу на основі заданого набору функцій знаходяться у відповідному пакеті розширення lsquares.

Функція lsquares_estimates (D, x, e, a)

lsquares_estimates (D, x, e, a, initial = L, tol = t)

Вид рівняння регресії задає рівняння е і воно може бути як лінійним так і нелінійним. Визначаємі коефіцієнти регресії a, які входять в рівняння е, яке вміщає також перемінні х, одержують на основі методу найменших квадратів з використанням матриці даних D. Функція lsquares_estimates спочатку шукає точне рішення рівняння, а якщо це неможливо, шукає наближене рішення. Отриманий результат виводиться у вигляді листа другого рівня вкладення, що містить співвідношення виду [a = ..., b = ..., c =...]. Кожний елемент цього листа відповідає знайденому мінімуму помилки по методу найменших квадратів (MSE). Ці оцінки одержують чисельною мінімізацією, використовуючи функцію lbfgs. Дані D повинні бути у виді матриці, кожний стовпець якої повинний містити значення однієї перемінної. Кожний елемент матриці вхідних даних D повинний бути числом. Це можуть бути чисельні константи, такі як %pi и %e, цілі і раціональні числа, а також числа з комою, що плаває. Лист перемінних х задає імена для кожного стовпця D, навіть якщо стовпець не використовується в аналізі. Лист параметрів а задає імена параметрів, для яких визначають їхнього значення. Вираження е може бути рівнянням для перемінних х і а. Якщо е не має виду рівняння, то воно трактується як е = 0.

Додаткові аргументи функції lsquares_estimates записують у виді рівнянь і передаються функції lbfgs, яка викликається для пошуку оцінок коефіцієнтів чисельним методом у тому випадку, коли точне рішення не може бути знайдено. У випадку використання нелінійного рівняння регресії можливе існування декількох мінімумів для суми квадратів помилок. Тому для полегшення пошуку глобального экстремума можна задати значення початкових точек ітерації за допомогою аргументу initial = L. За допомогою аргументу tol = t задають припустиму помилку матричних перетворень. Завантаження функції lsquares_estimates проводять за допомогою команди load(lsquares).

Приклади.

Проблема, для якої існує точне рішення:

(%i1) load (lsquares)$

(%i2) M : matrix ([1, 1, 1], [3/2, 1, 2], [9/4, 2, 1], [3, 2, 2], [2, 2, 1])$

(%i3) lsquares_estimates (M, [z, x, y], (z + D)^2 = A*x + B*y + C,

[A, B, C, D]);

59 27 10921 107

(%o3) [[A = - --, B = - --, C = -----, D = - --- ]]

16 16 1024 32

Проблема, для якої не існує точне рішення, і lsquares_estimates шукає чисельне рішення:

(%i1) load (lsquares)$

(%i2) M : matrix ([1, 1], [2, 7/4], [3, 11/4], [4, 13/4])$

(%i3) lsquares_estimates (M, [x, y], y = a*x^b + c, [a, b, c], initial = [3, 3, 3]);

(%o3) [[a = 1.387365874920637, b = .7110956639593767,

c = - .4142705622439105]]

Також у системі Maxіma мається ряд додаткових функцій для проведення регресійного аналізу.

Функція lsquares mse (D, x, e)

Повертає сумарну помилку при використанні методу найменших квадратів (MSE), для регресійного рівняння e для перемінних x і даних D, що визначається як:

n

1/n ∑ [lhs(ei) — rhs(ei)]2 ;

i =1

де n – число рядків даних і ei - рівняння e, отримане шляхом присвоєння перемінним x значень і-ого рядка даних D.

Функция lsquares residuals (D, x, e, a)

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

x - лист перемінних, e - рівняння регресії. Залишки можна визначити як:

lhs(ei ) - rhs(ei);

де eі - рівняння e, отримане шляхом присвоєння перемінним x значень

і-ого рядка даних D.

Приклад:

(%i1) load (lsquares)$

(%i2) M : matrix ([1, 1, 1], [3/2, 1, 2], [9/4, 2, 1], [3, 2, 2], [2, 2, 1]);

(%i3) a : lsquares_estimates (M, [z, x, y], (z + D)^2 = A*x + B*y + C,

[A, B, C, D]);

59 27 10921 107

(%o3) [[A = - --, B = - --, C = -----, D = - ---]]

16 16 1024 32

(%i4) lsquares_residuals (M, [z, x, y], (z + D)^2 = A*x + B*y + C, first (a));

13 13 13 13 13

(%o4) [--, - --, - --, --, --]

64 64 32 64 64

ЛАБОРАТОРНА РОБОТА № 8

ДИСПЕРСІЙНИЙ ТА КОРЕЛЯЦІЙНИЙ АНАЛІЗ ДАНИХ У СИСТЕМІ MAХІМA

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]