Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторния работа №1.doc
Скачиваний:
71
Добавлен:
12.03.2015
Размер:
242.69 Кб
Скачать

4. Модуль Нелинейное оценивание (NonlinearEstimation).

Математический анонс.

При обработке экспериментальных данных довольно часто предполагается нелинейная зависимость между откликом Y и несколькими (или одним) факторами X1, X2,…Xn, причём вид функциональной зависимости Y(X1, X2,…Xn) может быть известен и по экспериментальным данным требуется оценить неизвестные параметры зависимости.

Например, в рассмотренной выше задаче известно, что зависимость константы скорости реакции от температуры имеет вид экспоненты (2.3) и по экспериментальным данным требуется оценить К0 и E.

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

Поиск нелинейной зависимости в модуле.

Решим ту же задачу, что решали в модуле Линейная множественная регрессия: найдем оценки параметров К0 и E в уравнении Аррениуса (2.3), но в этом случае не будем приводить зависимость к линейному виду. Данные возьмём из файла Arr№группы_№компьютера. Откликом в этой задаче является константа скорости реакции К, фактором – температура t в 0С.

1. Вызов стартовой панели модуля и задание вида нелинейной функции. Прежде всего, в окне STATISTICA должна быть открыта таблица с обрабатываемыми данными. Если таблицы нет или открыта не та таблица, следует открыть соответствующий файл данных (см. html - документ Операции с таблицами).

  • Для вызова стартовой панели модуля в меню команд щелкнуть Statistics, выбрать Advanced Linear/Nonlinear Models и в подменю щелкнуть Nonlinear Estimation.

  • В окне стартовой панели модуля выбрать User-specified regression, custom loss function (регрессия, специфицированная пользователем и выбор минимизируемой функции для поиска оценок параметров) и щёлкнуть ОК. В открывшемся окне щелкнуть кнопку Function to be estimated & loss function, в поле Estimated function (оцениваемая функция) следует ввести функцию, в нашей задаче следует ввести

K=KR0*exp(-ER/(8.31*(t+273)))

Введены новые обозначения оцениваемых параметров KR0 и ER, т.к. K0 и E в таблице уже существуют.

2. Выбор минимизируемой функции и численного метода поиска оценок параметров.

  • В поле Loss function можно оставить L= (OBS-PRED)**2, тогда поиск оценок K0 и E будет осуществляться из условия минимума суммы квадратов отклонений между экспериментальными OBS и расчетными PRED значениями константы скорости реакции К. После заполнения полей щелкнуть ОК. В окне User-specified regression, custom loss function также щелкнуть ОК. Появляется окно Model Estimation, в информационной части которого приводятся функция (Model is), число оцениваемых параметров (Number of parameters to be estimated), зависимая (Dependent) и независимая (Independent) переменные и число опытов.

  • Во второй части окна выбрать закладку Advanced, в поле Estimation method следует выбрать численный метод оптимизации. Для данной задачи рекомендуется первоначально выбрать метод Хука-Дживса (Hooke-Jeevs pattern moves). Число итераций Maximum namber.. и точность метода Convergence.. можно оставить заданными, а начальные приближения следует изменить. Для этого щелкнуть по кнопке Start values и в окне Specify start values ввести начальные приближения по искомым параметрам. В качестве начальных приближений можно взять значения, близкие к полученным в результате решения этой задачи с помощью линейной регрессии. Например, KR0 = 1E9, E = 6E4 (начальное приближение в модуле не может превышать 1010). Щёлкнуть ОК в окне задания начальных приближений и в окне Model Estimation.