Предварительный шаг - Оценка порядков модели и входных задержек

Зачем оценивать модельные порядки и задержки?

Чтобы оценить полиномиальные модели, вы должны предоставить входные задержки и порядки моделей. Если у вас уже есть понимание физики вашей системы, можно задать количество полюсов и нулей.

В большинстве случаев вы не знаете порядки модели усовершенствование. Чтобы получить начальные порядки модели и задержки для вашей системы, можно оценить несколько моделей ARX с областью значений порядков и задержек и сравнить эффективность этих моделей. Вы выбираете заказы модели, которые соответствуют наилучшей производительности модели, и используете эти порядки в качестве начального предположения для дальнейшего моделирования.

Поскольку эта процедура оценки использует структуру модели ARX, которая включает полиномы A и B, вы получаете только оценки параметров na, nb и nk. Однако можно использовать эти результаты в качестве начальных догадок для соответствующих полиномиальных порядков и входных задержек в других структурах модели, таких как ARMAX, OE и BJ.

Если оцененный nk слишком мал, первые nb коэффициенты намного меньше, чем их стандартные отклонения. И наоборот, если оцененный nk слишком велик, существует значительная корреляция между невязками и входом для лагов, которые соответствуют отсутствующим B-терминам. Для получения информации об остаточных графиках графиков для анализа разделы на странице Остаточный анализ.

Оценка порядков и задержки в приложении

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

Чтобы оценить порядки модели и задержки на входе в приложении Системы идентификации:

  1. В приложении System Identification выберите Estimate > Polynomial Models, чтобы открыть диалоговое окно Polynomials Models.

    Модель ARX уже выбрана по умолчанию в списке Structure.

    Примечание

    Для timeseries моделей выберите структуру модели AR.

  2. Отредактируйте поле Orders, чтобы задать область значений полюсов, нулей и задержек. Для примера введите следующие значения для na, nb и nk:

    [1:10 1:10 1:10]

    Совет

    Как ярлык для входа в 1:10 для каждого необходимого порядка модели нажмите Order Selection.

  3. Щелкните Estimate, чтобы открыть окно ARX Model Structure Selection, в котором отображается производительность модели для каждой комбинации параметров модели. Следующий рисунок показывает пример графика.

  4. Выберите прямоугольник, который представляет оптимальную комбинацию параметров и нажмите кнопку Insert, чтобы оценить модель с этими параметрами. Для получения информации об использовании этого графика смотрите Выбор порядков модели из лучшей структуры ARX.

    Это действие добавляет новую модель в Плату моделей в Систему идентификации приложении. Имя по умолчанию параметрической модели содержит тип модели и количество полюсов, нулей и задержек. Для примера, arx692 является моделью ARX с na = 6, nb = 9 и задержкой двух выборок.

  5. Щелкните Close, чтобы закрыть окно Выбор структуры модели ARX (ARX Model Structure Selection).

    Примечание

    Вы не можете оценить порядки модели при использовании нескольких-выходных данных.

После оценки порядков модели и задержек используйте эти значения в качестве начальных догадок для оценки других структур модели, как описано в Estimate Polynomial Models in the App.

Оценка порядков модели в командной строке

Можно оценить порядки модели с помощью struc, arxstruc, и selstruc команды в комбинации.

Если вы работаете с системой с несколькими выходами, необходимо использовать struc, arxstruc, и selstruc выполняет команды по одному выходу за раз. Вы должны переадресовать правильный выходной канал в наборах данных оценки и валидации.

Для каждой оценки вы используете два независимых набора данных - набор данных оценки и набор данных валидации. Эти независимые наборы данных могут быть из различных экспериментов или подмножеств данных из одного эксперимента. Для получения дополнительной информации о субреференции данных смотрите Выбор каналов данных, данных ввода-вывода и экспериментов в объектах iddata и Выбор каналов ввода-вывода и данных в простых объектах.

Для примера оценки порядков модели для системы с несколькими входами смотрите Оценку задержек в системе с несколькими входами в Руководстве по началу работы с System Identification Toolbox.

struc

struc команда создает матрицу возможных комбинаций порядка модели для заданной области значений na, nb и nk.

Например, следующая команда определяет область значений порядков модели и задержек na=2:5, nb=1:5, и nk=1:5:

NN = struc(2:5,1:5,1:5))

arxstruc

arxstruc команда принимает выход из struc, оценивает модель ARX для каждого порядка модели и сравнивает выход модели с измеренным выходом. arxstruc возвращает потери для каждой модели, которая является нормированной суммой квадратов ошибок предсказания.

Например, следующая команда использует область значений заданных порядков NN вычислить функцию потерь для данных оценки с одним входом/одним выходом data_e и данные валидации data_v:

V = arxstruc(data_e,data_v,NN);

Каждая строка в NN соответствует одному набору порядков:

[na nb nk]

selstruc

selstruc команда принимает выход из arxstruc и открывает окно ARX Выбор структуры модели (Model Structure Selection), чтобы помочь вам выбрать порядок модели с наилучшей эффективностью.

Для примера, чтобы открыть окно ARX Структуры модели Selection и в интерактивном режиме выбрать оптимальную комбинацию параметров, используйте следующую команду:

selstruc(V);

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

Чтобы найти структуру, которая минимизирует информационный критерий Акайке, используйте следующую команду:

nn = selstruc(V,'AIC');

где nn содержит соответствующие na, nb, и nk порядки.

Точно так же, чтобы найти структуру, которая минимизирует минимальную длину описания (MDL) Rissanen, используйте следующую команду:

nn = selstruc(V,'MDL');

Чтобы выбрать структуру с функцией наименьших потерь, используйте следующую команду:

nn = selstruc(V,0);

После оценки порядков и задержек модели используйте эти значения в качестве начальных догадок для оценки других структур модели, как описано в разделе Использование полиеста для оценки полиномиальных моделей.

Оценка задержек в командной строке

delayest команда оценивает временную задержку в динамической системе путем оценки модели ARX низкого порядка в дискретном времени и обработки задержки как неизвестного параметра.

По умолчанию delayest принимает, что na = nb = 2 и что существует хорошее отношение сигнал/шум, и использует эту информацию для оценки nk.

Чтобы оценить задержку для набора данных data, введите в приглашение следующее:

delayest(data);

Если ваши данные имеют один вход, MATLAB® вычисляет скалярное значение для задержки входа - равное количеству отсчетов данных. Если ваши данные имеют несколько входов, MATLAB возвращает вектор, где каждое значение является задержкой для соответствующего входного сигнала.

Чтобы вычислить фактическое время задержки, необходимо умножить вход задержку на шаг расчета данных.

Можно также использовать окно ARX Model Structure Selection, чтобы оценить входные задержки и порядок модели вместе, как описано в Оценке порядков модели в командной строке.

Выбор порядков модели из лучшей структуры ARX

Вы генерируете окно Выбор структуры модели ARX для данных, чтобы выбрать модель наилучшей подгонки.

Для процедуры генерации этого графика в приложении Системы идентификации смотрите Оценка Порядков и задержки в Приложении. Чтобы открыть этот график в командной строке, смотрите Оценка Порядков модели в Командной строке.

Следующий рисунок показывает пример графика в окне ARX Структура модели Selection.

Этот график используется для выбора оптимальной модели.

  • Горизонтальная ось - это общее количество параметров - na + nb.

  • Вертикальная ось, называемая Unexplained output variance (in %), является фрагментом выхода, не объясняемой моделью - ошибкой предсказания модели ARX для количества параметров, показанных на горизонтальной оси.

    Ошибка предсказания является суммой квадратов различий между выходными данными валидации и прогнозируемым выходом модели на один шаг вперед.

  • nk - задержка.

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

  • Красный - Лучшая подгонка минимизирует сумму квадратов различия между выходными данными валидации и выходами модели. Этот прямоугольник указывает общую лучшую подгонку.

  • Зеленый - лучшая подгонка минимизирует критерий Rissanen MDL.

  • Blue - Best fit минимизирует критерий AIC Акайке.

В окне Выбор структуры модели ARX (ARX Model Structure Selection) щелкните на любой панели, чтобы просмотреть порядки, которые обеспечивают оптимальную подгонку. Область справа динамически обновляется, чтобы показать порядки и задержки, которые обеспечивают максимальную подгонку.

Для получения дополнительной информации о критерии AIC, см. Функции потерь и метрики качества модели.

Похожие примеры

Подробнее о