exponenta event banner

Разрешение расхождений значений соответствия между идентификацией модели и compare Команда

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

При идентификации модели алгоритм идентификации модели возвращает значение процента соответствия используемым данным измерений. Если затем использовать compare для построения графика результатов моделирования модели по измеренным данным результаты подгонки не всегда идентичны. Это различие связано с тем, что:

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

Загрузите данные и оцените модель пространства с тремя состояниями.

load iddata1 z1;
sys = ssest(z1,3);

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

Позволить ssest использовать его по умолчанию 'Focus' установка 'prediction', и его значение по умолчанию 'InitialState' установка оценки «auto». 'auto' причины установки ssest для выбора:

  • 'zero' если начальная ошибка прогнозирования не является значительно более высокой, чем ошибка на основе оценки, или если система является FRD

  • 'estimate' для большинства наборов данных одного эксперимента, если 'zero' недопустимо

  • 'backcast' для множественных наборов данных эксперимента, если 'zero' недопустимо

Дополнительные сведения см. в разделе ssestOptions.

Можно извлечь автоматически выбранную опцию начального состояния, вектор начального состояния и процент соответствия NRMSE из отчета оценки для sys.

sys_is = sys.Report.InitialState
sys_is = 
'zero'
sys_x0 = sys.Report.Parameters.X0
sys_x0 = 3×1

     0
     0
     0

sys_fit = sys.Report.Fit.FitPercent
sys_fit = 76.4001

ssest отобранный 'zero', вместо оценки начальных состояний, указывая, что вклад начальных состояний в ошибку предсказания мал.

Использовать compare для моделирования модели и построения графика результатов по измеренным данным. Для этого случая разрешите compare использовать свой собственный метод оценки начальных условий и его дефолт Inf для горизонта прогнозирования.

figure
compare(z1,sys)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent z1 (y1), sys: 70.56%.

Процент соответствия NRMSE, вычисленный compare ниже, чем посадка, ssest вычислено. Это более низкое значение обусловлено главным образом несоответствием горизонтов прогнозирования для ssest (по умолчанию 1) и сравнить (по умолчанию Inf).

Запущенный повторно compare с использованием аргумента 1 для горизонта прогнозирования.

figure
compare(z1,sys,1)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent z1 (y1), sys: 76.44%.

Изменение горизонта прогнозирования позволило устранить большую часть расхождений между значениями соответствия. Теперь compare посадка превышает ssest подходит. Это более высокое значение потому, что ssest установить начальные состояния в 0, в то время как compare оценка начальных состояний. Вы можете исследовать, насколько далеки векторы начального состояния, повторяя compare с выходными аргументами.

[y1,fit1,x0c] = compare(z1,sys,1);
x0c
x0c = 3×1

   -0.0063
   -0.0012
    0.0180

x0c мал, но не равен нулю sys_x0. Чтобы воспроизвести ssest начальные условия в compare, непосредственно установите 'InitialCondition' опция для sys_x0. Затем выполнить compare с использованием обновленного набора опций.

compareOpt = compareOptions('InitialCondition',sys_x0);
figure
compare(z1,sys,1,compareOpt)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent z1 (y1), sys: 76.4%.

Результат аппроксимации теперь соответствует результату аппроксимации из исходной оценки.

Этот метод подтверждает, что ssest алгоритм и compare алгоритм дает одинаковые результаты с одинаковыми установками начального условия и горизонта прогнозирования.

Этот пример относится только к воспроизведению результатов, когда требуется подтвердить согласие между алгоритмом оценки и алгоритмом сравнения NRMSE значений, соответствующих исходным данным оценки. Однако при использовании compare для проверки модели по данным проверки или для сравнения достоверности нескольких моделей-кандидатов используйте compare значения по умолчанию для 'InitialCondition' и горизонт прогнозирования как общее правило.

См. также

Связанные темы