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,x0] = compare(___) возвращает ответ модели, y, значение качества подгонки, fit, и начальные состояния, x0. Никакой график не сгенерирован. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов. Однако спецификации линии проигнорированы, потому что нет никакого графического вывода.

Примеры

свернуть все

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

Загрузите измерения ввода/вывода 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)

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

свернуть все

Данные о валидации в виде iddata, idfrd, или frd объект.

Если sys :

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

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

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

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

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

.

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

Когда время или единицы частоты data не совпадайте с модулями sysСравнение перемасштабирует 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 отдельно.

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

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

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

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

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

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

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

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

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

Советы

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

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

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

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

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

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

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

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

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

Введен в R2006a