selstruc

Выберите порядок модели для моделей ARX с одним выходом

Синтаксис

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

Описание

Примечание

Использование selstruc только для систем с одним выходом. selstruc поддерживает как системы с одним входом, так и системы с несколькими входами.

selstruc является функцией, которая помогает выбрать структуру (порядок) модели из информации, содержащейся в матрице v полученный как выход от arxstruc или ivstruc.

Значение по умолчанию c является 'plot'. Этот график показывает процент выхода отклонения, который не объясняется моделью как функция от количества используемых параметров. Каждое значение показывает лучшую подгонку для этого количества параметров. Нажав на график, можно изучить, какие порядки представляют интерес. При клике Select переменная nn экспортируется в рабочую область как оптимальная структура модели для вашего выбора количества параметров. Можно сделать несколько вариантов.

c = 'aic' не дает никаких графиков, но возвращается в nn структура, которая минимизирует

Vmod=log(V(1+2dN))=log(V)+2dN,Nd

где V - функция потерь, d - общее количество параметров в рассматриваемой структуре, а N - количество точек данных, используемых для оценки. log(V)+2dN - информационный критерий Акайке (AIC). Посмотрите aic для получения дополнительной информации.

c = 'mdl' возвращается в nn структура, которая минимизирует критерий минимальной длины описания (MDL) Риссанена.

Vmod=V(1+dlog(N)N)

Когда c равен числовому значению, структуре, которая минимизирует Vmod=V(1+cdN)

выбран.

Выходной аргумент vmod имеет тот же формат, что и v, но он содержит логарифмы соответственно измененных критериев.

Примеры

свернуть все

Создайте наборы данных оценки и валидации

load iddata1;
ze = z1(1:150);
zv = z1(151:300);

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

NN = struc(1:3,1:2,2:4);

Оцените модели ARX с помощью метода инструментальной переменной и вычислите функцию потерь для каждой комбинации порядка модели.

V = ivstruc(ze,zv,NN);

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

order = selstruc(V,0);

Оцените модель ARX выбранного порядка.

M = iv4(ze,order);

Создайте наборы данных оценки и валидации.

load co2data;
Ts = 0.5; % Sample time is 0.5 min
ze = iddata(Output_exp1,Input_exp1,Ts);
zv = iddata(Output_exp2,Input_exp2,Ts);

Сгенерируйте комбинации порядка модели для:

  • na = 2:4

  • nb = 2:5 для первого входа и 1 или 4 для второго входа.

  • nk = 1:4 для первого входа и 0 для второго входа.

NN = struc(2:4,2:5,[1 4],1:4,0);

Оцените модель ARX для каждой комбинации порядка модели.

V = arxstruc(ze,zv,NN);

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

order = selstruc(V,0);

Оцените модель ARX выбранного порядка.

M = arx(ze,order);
Представлено до R2006a