В этом примере показано, как оценить ARMAX и модели OE-формы с помощью подхода оценки пространства состояний.
Можно оценить эквивалент нескольких - модели выхода ARMAX и Output-Error (OE) с помощью структур модели в пространстве состояний:
Преобразуйте получившиеся модели в idpoly модели, чтобы видеть их в обычно задаваемом ARMAX или формах OE.
Загрузите результаты измерений.
load iddata1 z1
Оцените модели в пространстве состояний.
mss_noK = n4sid(z1,2,'DisturbanceModel','none'); mss = n4sid(z1,2);
mss_noK модель в пространстве состояний второго порядка без возмущения, используемого во время оценки. mss также модель в пространстве состояний второго порядка, но с предполагаемым шумовым компонентом. Обе модели используют набор результатов измерений z1 для оценки.
Преобразуйте модели в пространстве состояний в полиномиальные модели.
mOE = idpoly(mss_noK); mARMAX = idpoly(mss);
Преобразование в полиномиальные модели приводит к информации о ковариации параметра для mOE и mARMAX быть потерянным.
Можно использовать одно из следующих, чтобы повторно вычислить ковариацию:
Обновление нулевой итерации с помощью тех же данных об оценке.
translatecov как приближение Гаусса основанный на формуле перевод ковариации mss_noK и mss в ковариацию mOE и mARMAX.
Повторно оцените mOE и mARMAX для параметров полиномиальной модели с помощью нулевого обновления итерации.
opt = polyestOptions; opt.SearchOptions.MaxIterations = 0; mOE = polyest(z1,mOE,opt); mARMAX = polyest(z1,mARMAX,opt);
Объект опций, opt, задает нулевое обновление итерации для mOE и mARMAX. Следовательно, параметры модели остаются неизменными, и только их информация о ковариации обновляется.
В качестве альтернативы можно использовать translatecov преобразовывать предполагаемые модели в полиномиальную форму.
fcn = @(x)idpoly(x); mOEt = translatecov(fcn,mss_noK); mARMAXt = translatecov(fcn,mss);
Поскольку polyest и translatecov используйте различные алгоритмы расчета, данные о ковариации, полученные путем выполнения обновления нулевой итерации, не могут совпадать с полученное использование translatecov.
Можно просмотреть неопределенность в параметрах модели с помощью present(mOE) и present(mARMAX).
Можно использовать модель в пространстве состояний с (Форма ошибки на выходе (OE)) для инициализации оценки Хаммерстайна-Винера в командной строке. Эта инициализация может улучшить подгонку модели. Смотрите Инициализируют Оценку Хаммерстайна-Винера Используя Линейную Модель.
Для получения дополнительной информации о моделях ARMAX и OE, см. Модели Полинома Ввода - вывода.