Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
идентификация в MATLAB.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
304.13 Кб
Скачать

Функции выбора структуры модели

Данная группа образована следующими четырьмя функциями.

Функция arxstruc

Функция arxstruc вычисляет функции потерь для ряда различных конкурирующих ARX-моделей с одним выходом:

v = arxstruc(ze,zv,NN)

v = arxstruc(ze,zv,NN,maxsize)

где:

  • ze и zv — соответственно, матрицы экспериментальных данных для оценивания и верификации (проверки качества) моделей;

  • NN — матрица задания конкурирующих структур со строками вида nn = [nа nb nk];

  • maxsize — служебный аргумент, определяющий максимально возможную размерность задачи.

Возвращаемая величина v — матрица, первые (верхние) элементы каждого столбца которой (кроме последнего) являются значениями функции потерь для ARX-моделей, структура которых отображается последующими элементами столбцов (то есть каждый столбец соот­ветствует одной модели). Первый элемент последнего столбца — чис­ло значений экспериментальных данных для верификации моделей.

Последующий отбор наилучшей модели может быть произведен с по­мощью функции selstruc (см. ниже).

Функция ivstruc

Функция ivstruc вычисляет среднее квадратичное отклонение выхо­дов объекта и ряда различных конкурирующих ARX-моделей:

v = ivstruc(ze,zv,NN)

v = ivstruc(ze,zv,NN,p,maxsize)

Рассматриваемая функция по назначению аналогична предыдущей, но отличается используемым алгоритмом оценивания — в данном слу­чае используется метод IV.

Аргументы (кроме р) аналогичны аргументам функции arxstruc. Ар­гумент разрешает или запрещает (р = 0) вывод так называемых услов­ных чисел IV-матрицы.

Возвращаемая величина v, практически идентична матрице, возвращаемой предыдущей функцией, но отличается от последней дополнительной (нижней) строкой, в которой приводятся условные числа IV-матрицы.

Функция selstruc

Функция selstruc осуществляет выбор наилучшей структуры моде­ли из ряда возможных вариантов:

[nn,vmod] = selstruc(v)

[nn.vmod] = selstruc(v,c)

Здесь:

  • v — матрица, возвращаемая функциями arxstruc или ivstruc;

  • с — строковая переменная, определяющая вывод графика или критерий отбора наилучшей структуры:

o при с = 'plot' выводится график зависимости функции потерь от числа оцениваемых коэффициентов модели;

o если с = 'log', выводится график логарифма функции потерь;

o при с = 'aic' график не выводится, но возвращается структу­ра, минимизирующая так называемый теоретический инфор­мационный критерий Акейке (Akaike's Information Theoretic Criterion - AIC):

Vmod = V(1+2(d/N)),

где V значение функции потерь, d — число оцениваемых ко­эффициентов модели, N — объем экспериментальных данных, используемых для оценивания,

o при с = 'mdl' возвращается структура, обеспечивающая мини­мум так называемого критерия Риссанена минимальной дли­ны описания (Rissanen's Minimum Description Length — MDL)

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

Возвращаемые величины:

  • nn— выбранная структура;

  • vmod — значение соответствующего критерия.

Рассмотрим следующий пример. Используя экспериментальные данные файла dryer2.mat, сравним ARX-модели порядков 1-5 с единичной задержкой и произведем отбор лучшей структуры:

» load dryer2 %3aгрузка данных

» z=[y2 u2];

» NN=struc(l:5,1:5,1); %3адание пределов изменения порядка mодели

» V=arxstruc(z(l:200,:),z(201:400,:)NN);

» nn = selstruc(V, 0); %Выбор наилучшей модели

» th = arx(z,nr); %Оценивание коэффициентов выбранной модели

» present(th) %Представление модели

This matrix was created by the command ARX on 1/20 2001 at 15:50

Loss fen: 0.0014058 Akaike's ГРЕ: 0.0014342 Sampling interval 1

The polynomial coefficients and their standard deviations are

В=

0 0.0002 0.0060 0.0642 0.0617 0.0208

0 0.0010 0.0012 0.0012 0.0023 0.0026

A=

1.0000 -0.9662 0.0324 0.0257 0.1168 -0.0526

0 0.0306 0.0420 0.0415 0.0317 0.0120

Как видно, в данном случае наилучшей оказалась модель 5-го порядка.