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

При идентификации системы целью является создание реалистичной динамической модели системы, которая затем может использоваться или передаваться для цели приложения. В этом контексте основные роли моделирования и прогнозирования в Toolbox™ идентификации системы заключаются в предоставлении инструментов для идентификации модели, а также для выбора, настройки и проверки этих моделей.
Вы можете:
Определение модели таким образом, чтобы свести к минимуму предсказание (фокус прогнозирования) или ошибку моделирования (фокус моделирования)
Визуализация реакции модели по сравнению с другими моделями и измерениями данных
Проверка модели путем сравнения ее отклика с измеренными входными/выходными данными, которые не использовались для первоначальной оценки модели
Выбор метода моделирования или прогнозирования зависит от потребностей вашего приложения, а также от того, где вы находитесь в потоке операций идентификации системы:
Когда вы идентифицируете модели, фокус одношагового прогнозирования обычно дает наилучшие результаты. Это преимущество связано с тем, что при использовании входных и выходных измерений одношаговое прогнозирование учитывает характер возмущений. Учет нарушений обеспечивает наиболее статистически оптимальные результаты.
При проверке моделей моделирование обычно обеспечивает более проницательный подход для оценки того, как модель будет работать в широком диапазоне условий. Однако ваше приложение может также управлять проверкой на основе прогнозирования. Например, если планируется использовать модель для управления конструкцией, можно проверить модель, прогнозируя ее отклик на временной горизонт, который представляет доминирующие временные константы модели.
Можно работать либо во временной, либо в частотной области и сохранять согласованность с областью входных/выходных данных. Для данных частотной области результаты моделирования являются продуктами преобразования Фурье входной и частотной функции модели. Поскольку идентификация модели частотного отклика игнорирует динамику шума, фокус моделирования и фокус одношагового прогнозирования дают одну и ту же идентифицированную модель. Для проверки в частотной области используйте моделирование.
Примеры см. в разделе:
Можно получить более подробное представление о различиях между моделированием и предсказанием, применив эти методы к простой системе первого порядка.
Моделирование означает вычисление отклика модели с использованием входных данных и исходных условий. Временные выборки ответа модели соответствуют временным выборкам входных данных, используемых для моделирования. Другими словами, при заданных входах u (t1,..., tN) моделирование генерирует y (t1,..., tN). Следующий график иллюстрирует этот процесс.

Для системы непрерывного времени моделирование означает решение дифференциального уравнения. Для дискретно-временной системы моделирование означает непосредственное применение уравнений модели.
Например, рассмотрим динамическую модель, описанную уравнением разности первого порядка, которое использует время выборки, равное 1 секунде:
y (t + 1) = ay (t) + bu (t),
где y - выходной сигнал, а u - входной сигнал.
Эта система эквивалентна следующей блок-схеме.

Предположим, что идентификация модели обеспечивает предполагаемые значения параметров a = 0,9 и b = 1,5. Затем уравнение становится следующим:
y (t + 1) = 0,9y (t) + 1,5u (t).
Теперь предположим, что вы хотите вычислить значения y (1), y (2), y (3),... для заданных входных значений u (0) = 2, u (1) = 1, u (2) = 4,... Здесь y (1) - значение выходного сигнала в первый момент выборки. Используя начальное условие y (0) = 0, значения y (t) для времени t = 1, 2 и 3 могут быть вычислены как:
y (1) = 0,9y (0) + 1,5u (0) = (0,9) (0) + (1,5) (2) = 3
y (2) = 0,9y (1) + 1,5u (1) = (0,9) (3) + (1,5) (1) = 4,2
y (3) = 0,9y (2) + 1,5u (2) = (0,9) (4,2) + (1,5) (4) = 9,78
Прогнозирование означает проецирование отклика модели на k шагов вперед в будущее с использованием текущих и прошлых значений измеренных входных и выходных значений. k называется горизонтом прогнозирования и соответствует прогнозированию выходного сигнала в момент времени kTs, где Ts - время выборки. Другими словами, учитывая измеренные входы um (t1,..., tN + k) и измеренные выходы ym (t1,..., tN), предсказание генерирует yp (tN + k).
Например, предположим, что датчики используются для измерения входного сигнала um (t) и выходного сигнала ym (t) физической системы, описанной в предыдущем уравнении первого порядка. Уравнение становится следующим:
yp (t + 1) = aym (t) + bum (t),
где y - выходной сигнал, а u - входной сигнал.
Предикторная версия предыдущей блок-схемы моделирования:

В 10-й момент выборки (t = 10) измеренный выходной сигнал ym (10) равен 16 мм, а соответствующий входной сигнал um (10) равен 12 Н. Теперь необходимо предсказать значение выходного сигнала в будущее время t = 11. Используя предыдущее уравнение, прогнозируемый выходной yp равен:
yp (11) = 0,9ym (10) + 1,5um (10)
Следовательно, прогнозируемое значение будущего выхода y (11) в момент времени t = 10 равно :
yp (11) = 0,9 * 16 + 1,5 * 12 = 32,4
В общем, чтобы предсказать ответ модели k шагов в будущее (k≥1) из текущего времени t, вы должны знать входные данные до времени t + k и выходные данные до времени t:
yp (t + k) = f (um (t + k), um (t + k-1),..., um (t), um (t-1),..., um (0),
ym (t), ym (t-1), ym (t-2),..., ym (0))
um (0) и ym (0) являются начальными состояниями.f() представляет предиктор, который является динамической моделью, форма которой зависит от структуры модели.

Предиктор на один шаг вперед из предыдущего примера, yp модели y (t) + ay (t-1) = bu (t) является:
yp (t + 1) = -ayp (t) + bum (t + 1)
В этом простом случае одношагового предсказания новейшее предсказание основано только на измерениях. Для многоступенчатых предикторов динамическая модель распространяет состояния внутри, используя предыдущие предсказанные состояния в дополнение к входам. Поэтому каждый прогнозируемый выходной сигнал возникает из комбинации измеренных входных и выходных сигналов и предыдущих прогнозируемых выходных сигналов.
Можно задать для k любое положительное целое значение до числа измеренных выборок данных. Если задать для k значение ∞, то при вычислении прогноза не будут использоваться предыдущие выходные данные, и предсказание вернет тот же результат, что и моделирование. Если задать для k целое число, превышающее число выборок данных, predict устанавливает k в Inf и выдает предупреждение. Если вы намереваетесь выполнить прогноз в диапазоне времени, превышающем последний момент измеренных данных, используйте forecast.
Пример, показывающий прогнозирование и моделирование в MATLAB ®, см. в разделе Сравнение предсказанного и смоделированного ответа идентифицированной модели с измеренными данными.
Не все модели поддерживают прогностический подход. Для предыдущей динамической модели az − 1 структура поддерживает использование прошлых данных. Эта поддержка отсутствует в моделях структуры ошибок вывода (OE) (H (z) =1). В прошлых выходных данных отсутствует информация, которая может использоваться для прогнозирования будущих выходных значений. В этих случаях предсказание и моделирование совпадают. Даже модели, которые обычно используют прошлую информацию, все еще могут иметь структуру OE в особых случаях. Модели государственного пространства (idss) иметь структуру OE, когда K=0. Полиномиальные модели (idpoly) также имеют структуру OE, когда a=c=d=1. В этих особых случаях прогнозирование и моделирование эквивалентны, и модель возмущения фиксируется на 1.
В этом примере показано, как визуализировать как прогнозируемый отклик модели, так и смоделированный отклик модели идентифицированной линейной модели.
Определение модели пространства состояния третьего порядка с использованием входных/выходных измерений в z1.
load iddata1 z1; sys = ssest(z1,3);
sys является идентифицированным состоянием-пространством непрерывного времени (idss) модель. Здесь, sys идентифицируется с использованием фокуса одношагового прогнозирования по умолчанию, который минимизирует ошибку одношагового прогнозирования. Этот фокус, как правило, обеспечивает лучшую общую модель.
Теперь используйте compare для построения графика прогнозируемого ответа. Для этого примера задайте горизонт прогнозирования. kstep до 10 шагов и использовать compare для построения графика прогнозируемого отклика на основе исходных данных измерений. Эта настройка kstep указывает, что каждая точка отклика составляет 10 шагов в будущем относительно данных измерения, используемых для прогнозирования этой точки.
kstep = 10; figure compare(z1,sys,kstep)

На этом графике каждая точка данных представляет прогнозируемый выходной сигнал, связанный с выходными данными измерений, которые были сделаны, по меньшей мере, на 10 шагов раньше. Например, точка при t = 15 секунд основана на измерениях, сделанных при t = 5 секунд или ранее.
График иллюстрирует различия между откликом модели и исходными данными. Процент в легенде - это значение пригодности NRMSE. Он показывает, насколько точно прогнозируемые выходные данные модели соответствуют данным.
Для улучшения результатов можно уменьшить горизонт прогнозирования.
kstep = 5; figure compare(z1,sys,kstep)

Значение пригодности NRMSE улучшилось по сравнению со значением пригодности, полученным в 10-ступенчатом случае. В реальном применении существуют различные факторы, которые влияют на то, насколько малым может быть горизонт прогнозирования. К ним относятся постоянные времени и требования к просмотру приложений.
Вы можете просмотреть смоделированный ответ для сравнения, а не прогнозируемый ответ, используя kstep по умолчанию для compare, что является Inf. При моделировании расчет отклика использует только входные данные, а не измеренные выходные данные.
figure compare(z1,sys)

Смоделированные и 10-ступенчатые прогнозируемые ответы дают одинаковые общие проценты соответствия.
Чтобы изменить параметры отображения на графике, щелкните его правой кнопкой мыши для вызова контекстного меню. Например, для построения графика ошибки между прогнозируемым и измеряемым выходными данными выберите в контекстном меню команду «Печать ошибки».
В этом примере показано, как идентифицировать модели с фокусом прогнозирования и фокусом моделирования. Сравните отклики моделей прогнозирования-фокуса и моделирования-фокуса с исходными данными оценки и с данными проверки, которые не использовались для оценки.
При идентификации модели алгоритм использует 'Focus' для определения необходимости минимизации ошибки прогнозирования или ошибки моделирования. Значение по умолчанию: 'prediction'. Вы можете изменить это, изменив 'Focus' опция для 'simulation'.
Загрузить данные измерений z1, и разделить его на две половины z1e и z1v. Одна половина используется для идентификации модели, а другая половина - для проверки модели.
load iddata1 z1; %z1e = z1(1:150); %To avoid ordqz stall %z1v = z1(151:300); z1e = z1(1:155); z1v = z1(156:300);
Определение модели пространства состояния третьего порядка sys_pf используя входные/выходные измерения в z1e. Используйте для этой модели опцию «Фокус» по умолчанию, которая является «прогнозом».
sys_pf = ssest(z1e,3);
sys_pf является идентифицированным состоянием-пространством непрерывного времени (idss) модель.
Используя тот же набор данных измерений, определите вторую модель состояния-пространства sys_sf какие наборы 'Focus' кому 'simulation'.
opt = ssestOptions('Focus','simulation'); sys_sf = ssest(z1e,3,opt);
Используйте compare функция для моделирования реакции на обе идентифицированные модели.
figure compare(z1e,sys_pf,sys_sf)

Модель, идентифицированная с прогностическим фокусом, имеет более высокое значение соответствия NRMSE, чем модель, идентифицированная с имитационным фокусом.
Теперь выполните сравнение с данными проверки. Это сравнение показывает, насколько хорошо модель работает с условиями, которые не были частью ее идентификации.
figure compare(z1v,sys_pf,sys_sf)

Улучшаются значения подгонки для обеих моделей. Однако модель с фокусом прогнозирования остается выше, чем модель с фокусом моделирования.
compare | forecast | predict | sim