exponenta event banner

Оценка космического эквивалента моделей ARMAX и OE

В этом примере показано, как оценивать модели ARMAX и OE-формы с использованием подхода оценки состояния-пространства.

Можно оценить эквивалент моделей с несколькими выходами ARMAX и Output-Error (OE), используя структуры моделей state-space:

  • Для armax укажите, чтобы оценить матрицу K для модели состояния-пространства.

  • Для oe модель, установка K = 0.

Преобразование полученных моделей в 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);

Объект options, opt, задает обновление нулевой итерации для mOE и mARMAX. Следовательно, параметры модели остаются неизменными, и обновляется только их информация ковариации.

Кроме того, можно использовать translatecov для преобразования расчетных моделей в полиномиальную форму.

fcn = @(x)idpoly(x);
mOEt = translatecov(fcn,mss_noK);
mARMAXt = translatecov(fcn,mss);

Поскольку polyest и translatecov использовать различные алгоритмы вычислений, ковариационные данные, полученные при выполнении обновления нулевой итерации, могут не совпадать с данными, полученными при помощи translatecov.

Можно просмотреть неопределенности параметров модели с помощью present(mOE) и present(mARMAX).

Для инициализации оценки Хаммерштейна-Винера в командной строке можно использовать модель пространства состояний с K = 0 (форма «Output-Error» (OE)). Такая инициализация может улучшить подгонку модели. См. раздел Инициализация оценки Хаммерштейна-Винера с использованием линейной модели .

Дополнительные сведения о моделях ARMAX и OE см. в разделе Полиномиальные модели ввода-вывода.