compare

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

Описание

Постройте результаты

пример

compare(data,sys) симулирует ответ модели динамической системы и наложения что ответ по отображенным на графике данным об измерении. График также отображает нормированное среднеквадратичное значение (NRMSE) мера совершенства подгонки между данными об измерении и симулированным откликом. Используйте эту функцию, когда это необходимо, чтобы оценить набор моделей кандидата, идентифицированных из тех же данных об измерении, или, когда это необходимо, подтвердить модель, которую вы выбрали. Можно использовать compare с временным интервалом или моделями частотного диапазона и данными.

пример

compare(data,sys,kstep) также предсказывает ответ sys, использование горизонта предсказания задано kstep. Предсказание использует выходные измерения, а также входные измерения, чтобы спроектировать будущий ответ. kstep представляет количество выборок времени между моментом времени каждого выходного измерения и моментом времени получившегося предсказанного ответа. Для получения дополнительной информации о предсказании смотрите, Симулируют и Предсказывают Идентифицированный Выход Модели.

compare(data,sys,LineSpec,kstep) также задает тип линии, символ маркера и цвет для ответа модели.

пример

compare(data,sys1,...,sysN,kstep) сравнивает ответы нескольких динамических систем на тех же осях. compare автоматически выбирает спецификации линии.

пример

compare(data,sys1,LineSpec1,...,sysN,LineSpecN,kstep) также сравнивает ответы нескольких систем на тех же осях с помощью типа линии, символа маркера и цвета, заданного для каждой системы.

пример

compare(___,opt) конфигурирует сравнение с помощью набора опции. Опции включают начальную обработку условия, смещения данных и выбор данных. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов.

Возвратите результаты

пример

[y,fit,ic] = compare(___) возвращает ответ модели y, значение качества подгонки fit, и начальные условия ic. Этот синтаксис не генерирует график, таким образом, любые спецификации линии проигнорированы.

Примеры

свернуть все

Идентифицируйте линейную модель и визуализируйте симулированный ответ модели с данными, из которых он был сгенерирован.

Загрузите измерения ввода/вывода z1, и идентифицируйте модель в пространстве состояний третьего порядка sys.

load iddata1 z1;
sys = ssest(z1,3);

sys идентифицированное пространство состояний непрерывного времени (idss) модель.

Используйте compare симулировать sys ответ и график это вместе с данными z1.

figure
compare(z1,sys)

График иллюстрирует различия между ответом модели и исходными данными. Процент, показанный в легенде, является значением фитнеса NRMSE. Это представляет, как близко предсказанный выход модели к данным.

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

  • Чтобы построить ошибку между предсказанным выходом и измеренным выходом, выберите Error Plot.

  • Чтобы просмотреть область доверия для симулированного отклика, выберите Characteristics-> ConfidenceRegion.

  • Чтобы задать количество стандартных отклонений, чтобы построить, дважды кликните график и откройте диалоговое окно Property Editor. Во вкладке Options задайте количество стандартных отклонений по секрету область для Идентифицированных Моделей. Значением по умолчанию является 1 стандартное отклонение.

Идентифицируйте линейную модель и визуализируйте предсказанный ответ модели с данными, из которых он был вычислен.

Идентифицируйте модель в пространстве состояний третьего порядка с помощью измерений ввода/вывода в z1.

load iddata1 z1;
sys = ssest(z1,3);

sys идентифицированное пространство состояний непрерывного времени (idss) модель.

Теперь используйте compare построить предсказанный ответ. Предсказание отличается от симуляции, в которой оно использует и измеренный вход и измеренный выход при вычислении отклика системы. Горизонт предсказания задает как далеко в будущем, чтобы предсказать относительно вашей текущей измеренной выходной точки. В данном примере установите горизонт предсказания kstep к 10 шагам и использованию compare построить предсказанный ответ против исходных данных об измерении.

kstep = 10;
compare(z1,sys,kstep)

В этом графике, каждом sys точка данных представляет предсказанный выход, сопоставленный выходными данными об измерении, которые были сделаны по крайней мере 10 шагов ранее. Например, точка в t = 15 основана на выходных измерениях, проведенных в или до t = 5 с. Вычисление этого t = 15 sys точка данных также использует входные измерения до t = 15, как симуляция была бы.

График иллюстрирует различия между ответом модели и исходными данными. Процент, показанный в легенде, является значением фитнеса NRMSE. Это представляет, как тесно предсказанная модель выводила соответствия данные.

Чтобы изменить отображение и опции симуляции в графике, щелкните правой кнопкой по графику получить доступ к контекстному меню. Например, чтобы построить ошибку между предсказанным выходом и измеренным выходом, выберите Error Plot из контекстного меню. Чтобы изменить значение горизонта предсказания или переключиться между симуляцией и предсказанием, выбирают Prediction Horizon из контекстного меню.

Идентифицируйте несколько типов модели для тех же данных и сравните результаты видеть который лучшие подгонки данные.

Загрузите данные, которые содержат iddata объект z1 с одним вводом и выводом.

load iddata1;

От z1, идентифицируйте модель для каждой из следующих линейных форм:

  • ARMAX (idpoly) из порядков 2, 3, и 1, с потерей времени 0

  • Пространство состояний (idss) с тремя состояниями

  • Передаточная функция (idtf) с тремя полюсами

sys_armax = armax(z1,[2 3 1 0]);
sys_ss = ssest(z1,3);
sys_tf = tfest(z1,3);

Используя compare, постройте симулированные отклики для этих трех моделей с z1.

compare(z1,sys_armax,sys_ss,sys_tf)

Для этого набора данных, наряду с настройками по умолчанию для всех моделей, форма передаточной функции имеет лучшую подгонку NRMSE. Однако подгонки всех моделей приблизительно в 1% друг из друга.

Можно в интерактивном режиме управлять, по которому ответы модели отображены в графике путем щелчка правой кнопкой по графику и наведения на Системы.

Сравните выходные параметры нескольких предполагаемых моделей отличающихся типов к измеренным данным частотного диапазона.

В данном примере оцените модель процесса и полином ошибки на выходе из данных о частотной характеристике.

load demofr  % frequency response data
zfr = AMP.*exp(1i*PHA*pi/180);  
Ts = 0.1;
data = idfrd(zfr,W,Ts);  
sys1 = procest(data,'P2UDZ'); 
sys2 = oe(data,[2 2 1]);

sys1, idproc модель, модель процесса непрерывного времени. sys2, idpoly модель, модель ошибки на выходе дискретного времени.

Сравните частотную характеристику предполагаемых моделей к данным.

compare(data,sys1,'g',sys2,'r');

Эти две модели имеют значения подгонки NRMSE, которые почти равны относительно данных, из которых они были вычислены.

Измените поведение по умолчанию, когда вы сравните предполагаемую модель с результатами измерений.

Оцените передаточную функцию для результатов измерений.

load iddata1 z1;
sys = tfest(z1,3);

sys идентифицированная передаточная функция непрерывного времени (idtf) модель.

Предположим, что вы хотите, чтобы ваши начальные условия были нулем. Значение по умолчанию для compare должен оценить начальные условия из данных.

Создайте набор опции, чтобы задать начальную обработку условия. Чтобы использовать нуль для начальных условий, задайте 'z' для 'InitialCondition' опция.

opt = compareOptions('InitialCondition','z');

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

compare(z1,sys,opt)

Загрузите данные.

load iddata2 z2

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

z2e = z2(1:200);
z2v = z2(201:400);
plot(z2e,z2v)

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

sys_ss = ssest(z2e,2);
sys_tf = tfest(z2e,2,1);

Используйте compare получить начальные условия для sys_ss.

[y_ss,fit_ss,ic_ss] = compare(z2e,sys_ss);
ic_ss
ic_ss = 2×1

   -0.0018
    0.0016

ic_ss числовой вектор из начальных состояний.

[y_tf,fit_tf,ic_tf] = compare(z2e,sys_tf);
ic_tf
ic_tf = 
  initialCondition with properties:

     A: [2x2 double]
    X0: [2x1 double]
     C: [-1.6093 5.1442]
    Ts: 0

ic_tf initialCondition объект, который содержит, в форме пространства состояний, модели свободного ответа sys_tf к начальным условиям. A и C содержите информацию о свободном ответе и X0 содержит начальные состояния.

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

[y_sstf,fit_sstf,ic_sstf] = compare(z2v,sys_ss,sys_tf);
ic_sstf
ic_sstf=2×1 cell array
    {2x1 double          }
    {1x1 initialCondition}

ic_sstf массив ячеек, который содержит вектор начального состояния для sys_ss и initialCondition объект для sys_tf.

compare может обеспечить начальные условия для существующей модели с любым набором данных измерения.

Входные параметры

свернуть все

Данные о валидации в виде iddata, idfrd, или frd Объект (Control System Toolbox).

Если sys :

  • iddata объект, затем data должен быть iddata объект с соответствием с областью, количеством экспериментов и время или векторы частоты

  • Модель данных частотной характеристики (FRD) (заданный как также idfrd или frd), затем data должен также быть FRD

  • Параметрическая модель (такой как idss), затем data может быть iddata или FRD

data может представлять или временной интервал или данные частотного диапазона при сравнении линейным моделям. data должны быть данные временного интервала при сравнении нелинейной модели.

Для примеров см.:

.

Идентифицированная модель в виде модели динамической системы, iddata объект или массив моделей.

Когда время или единицы частоты data не совпадайте с модулями sys, compare перемасштабирует sys совпадать с модулями data.

Горизонт предсказания в виде одного из следующего:

  • Inf — Сравните симулированный отклик sys к data.

  • Положительное конечное целое число — Сравнивает предсказанный ответ sys к data, где каждая предсказанная точка ответа базируется не только на измеренных входных данных до того момента времени, но также и на измеренных выходных данных до kstep моменты времени ранее.

compare игнорирует kstep когда sys iddata объект, модель FRD или динамическая система без шумового компонента. compare также игнорирует kstep при использовании данных о валидации частотной характеристики.

Если вы задаете kstep это больше количества выборок данных, compare наборы kstep к Inf и предоставляет предупреждающее сообщение.

Для получения дополнительной информации о симуляции и предсказании, смотрите, Симулируют и Предсказывают Идентифицированный Выход Модели.

Для примера смотрите, Сравнивают Предсказанный Ответ Идентифицированной Модели Временного интервала к Результатам измерений.

Стиль линии, маркер и цвет и линии и маркера в виде вектора символов, такого как 'b' или 'b+:'.

Для получения дополнительной информации о конфигурировании LineSpec, смотрите Linespec входной параметр plot. Для примера смотрите, Сравнивают Несколько Предполагаемых Моделей с Измеренными Данными Частотного диапазона.

Опции сравнения в виде опции устанавливают вас, создают использование compareOptions.

Доступные параметры включают:

  • Обработка начальных условий

  • Демонстрационная область значений для вычисления подходящих чисел

  • Смещения данных

  • Выведите взвешивание

Для примеров см.:

Выходные аргументы

свернуть все

Ответ модели, возвращенный как iddata объект, idfrd объект, массив ячеек или массив. Выход зависит от моделей и данных, которые вы обеспечиваете, можно следующим образом:

  • Для одной модели и набора данных одно эксперимента, y iddata объект или idfrd объект

  • Для сравнений мультимодели, y массив ячеек с одним iddata или idfrd объектная запись для каждой входной модели

  • Для данных о мультиэксперименте, y массив ячеек с одной записью для каждого эксперимента

  • Для сравнений мультимодели с помощью данных о мультиэксперименте, y Nsys-by-Nexp массив ячеек, где Nsys является количеством моделей, и Nexp является количеством экспериментов

  • Если sys массив моделей, y массив с элементом, соответствующим каждой модели в sys и экспериментируйте в data. Для получения дополнительной информации о массивах моделей смотрите stack

Если kstep не задан или Infто compare возвращает симулированный отклик в y.

В противном случае, compare возвращает предсказанный ответ. Измеренные выходные значения в data до времени t n-kstep используются, чтобы предсказать выход sys во время tn. Для получения дополнительной информации о симуляции и предсказании, смотрите, Симулируют и Предсказывают Идентифицированный Выход Модели.

compare расчет ответа требует спецификации начальной обработки условия. По умолчанию, compare оценивает, что начальные условия максимизируют подгонку к данным. Смотрите compareOptions для получения дополнительной информации о как compare определяет начальные условия, чтобы использовать.

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

  • Если data iddata объект, fit вектор из длины Ny, где Ny является количеством выходных параметров

  • Если data модель FRD, fit Ny-by-Nu матрица, где Nu является количеством входных параметров в data

  • Для одной модели и набора данных одно эксперимента, fit вектор или матрица

  • Для сравнений мультимодели, fit массив ячеек с одной записью для каждой входной модели

  • Для данных о мультиэксперименте, fit массив ячеек с одной записью для каждого эксперимента

  • Для сравнений мультимодели с помощью данных о мультиэксперименте, fit Nsys-by-Nexp массив ячеек, где Nsys является количеством моделей, и Nexp является количеством экспериментов

  • Если sys массив моделей, fit массив с элементом, соответствующим каждой модели в sys и экспериментируйте в data

compare calculates fit (в проценте) использование:

fit=100(1||yy^||||ymean(y)||),

где y является выводом данных валидации и y^ выход sys.

Для моделей FRD — compare вычисляет fit путем сравнения комплексной частотной характеристики. Припадки величины и кривых фазы, показанных в compare график не вычисляется compare отдельно.

Начальные условия использовались для расчета отклика системы, возвращенного как пустой массив, вектор, initialCondition объект или массив ячеек.

Для одной модели и данных одно эксперимента, форма выхода зависит от типа модели.

  • Для моделей в пространстве состояний, ic числовой вектор, который содержит начальные состояния.

  • Для передаточной функции и полиномиальных моделей, ic initialCondition объект. initialCondition представляет, в форме пространства состояний, свободном ответе модели (A и матрицы C) к предполагаемым начальным состояниям (x0).

  • Когда sys frd или iddata объект, ic пустой массив [], потому что начальные условия не могут использоваться с этими объектами.

Для многоуровневой модели и/или экспериментов, форма выхода следующие:

  • Для сравнений мультимодели, ic ячейка или объектный массив, с одним вектором, матрицей или initialCondition запись для каждой входной модели.

  • Для данных о мультиэксперименте, ic ячейка или объектный массив, с одной записью для каждого эксперимента.

  • Для сравнений мультимодели с помощью данных о мультиэксперименте, ic Nsys-by-Nexp ячейка или объектный массив, где Nsys является количеством моделей, и Nexp является количеством экспериментов.

  • Если sys массив моделей, ic массив с элементом, соответствующим каждой модели в sys и экспериментируйте в data.

По умолчанию, compare использование findstates оценить начальные состояния в ic. Чтобы изменить это поведение, установите 'InitialCondition' опция в opt (см. compareOptions). Если у вас есть история ввода/вывода, которая сразу предшествует вашей стартовой точке, можно установить 'InitialCondition' к тем данным об истории. compare затем использование data2state вычислить конечное состояние данных об истории, и таким образом начальное состояние для симуляции. Другой выбор включает обнуляющие начальные условия, или к определенным значениям, которые вы определяете ранее. Для получения дополнительной информации о нахождении начальных условий, смотрите Оценочные Начальные условия для Симуляции Идентифицированных Моделей.

Если вы используете модель оценки, которая явным образом не использует состояния, compare сначала преобразует модель в ее представление пространства состояний и затем сопоставляет данные с начальными состояниями. compare затем группирует вектор начального состояния и A и C матрицы пространства состояний в initialCondition объект. Для примера использования compare с такой моделью смотрите, Получают Начальные условия.

Советы

  • Результат подгонки NRMSE вы получаете с compare может не точно совпадать с подходящим значением, о котором сообщают в идентификации модели. Эти различия обычно являются результатом несоответствий в начальных условиях, и в различиях в значениях по умолчанию горизонта предсказания для идентификации и для валидации. Различия обычно малы и не должны влиять на ваш рабочий процесс выбора и валидации модели. Для получения дополнительной информации смотрите Различия в Значении Подгонки Твердости Между Идентификацией Модели и сравните Команду.

  • compare совпадает с каналами ввода-вывода в data и sys на основе названий канала. Таким образом возможно оценить модели, которые не используют все входные каналы, которые доступны в data. Эта гибкость позволяет вам сравнивать многоуровневые модели, которые были каждый идентифицированы независимо от различных наборов каналов ввода-вывода.

  • compare график позволяет вам варьироваться основные параметры. Например, можно в интерактивном режиме управлять:

    • Генерируете ли вы симулированный или предсказанный ответ

    • Значение горизонта предсказания

    • Начальная обработка условия

    • Которые экспериментируют данные, вы просматриваете

    • Какие системные модели вы просматриваете

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

Введен в R2006a