Этот пример показывает, как оценить модели 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)
.
Можно использовать модель пространства состояний с (Форма Output-Error (OE)) для инициализации оценки Гаммерштейна-Винера в командной строке. Эта инициализация может улучшить подгонку модели. См. «Инициализация оценки Гаммерштейна-Винера с использованием линейной модели».
Для получения дополнительной информации о моделях ARMAX и OE, смотрите Модели Полинома ввода-вывода.