Функция потерь и метрики качества модели

Что такое Функция потерь?

Программное обеспечение System Identification Toolbox™ оценивает параметры модели путем минимизации ошибки между выходом модели и измеренным ответом. Эта ошибка, названная loss function или cost function, является положительной функцией ошибок предсказания e (t). В общем случае эта функция является взвешенной суммой квадратов ошибок. Для модели с ny - выходные параметры, функция потерь V (θ) имеет следующую общую форму:

V(θ)= 1Nt=1NeT(t,θ) W(θ) e(t,θ)

где:

  • N является количеством выборок данных.

  • e (t, θ) является ny-by-1 вектор ошибок в установленный срок t, параметрированный вектором параметра θ.

  • W (θ) является матрицей взвешивания в виде положительной полуопределенной матрицы. Если W является диагональной матрицей, можно думать о нем как о способе управлять относительной важностью выходных параметров во время мультивыходных оценок. Когда W является фиксированным или известным весом, он не зависит от θ.

Программное обеспечение определяет значения параметров путем минимизации V (θ) относительно θ.

Для письменного удобства V (θ) выражается в его матричной форме:

V(θ)=1Ntrace(ET(θ) E(θ) W(θ))

E (θ) является ошибочной матрицей размера N-by-ny. i:th строка E (θ) представляет ошибочное значение во время t = i.

Точная форма V (θ) зависит от следующих факторов:

  • Структура модели. Например, ли модель, которую вы хотите оценить, является ARX или моделью в пространстве состояний.

  • Средство оценки и опции оценки. Например, ли вы используете n4sid или ssest средство оценки и опции определения, такие как Focus и OutputWeight.

Опции, чтобы сконфигурировать функцию потерь

Можно сконфигурировать функцию потерь для потребностей приложения. Следующие опции оценки, когда доступно для средства оценки, конфигурируют функцию потерь:

Опция оценкиОписаниеПримечания

Focus

Focus опция влияет, как e (t) в функции потерь вычисляется:

  • Когда Focus 'prediction', e (t) представляет 1 шаг вперед ошибка предсказания:

    ep(t)=ymeasured(t)ypredicted(t)

  • Когда Focus 'simulation', e (t) представляет ошибку симуляции:

    es(t)=ymeasured(t)ysimulated(t)

Примечание

Для моделей, шумовой компонент которых тривиален, (H (q) = 1), e p (t) и e s (t) эквивалентен.

Focus опция может также быть интерпретирована, когда взвешивание просачивается функция потерь. Для получения дополнительной информации смотрите Эффект Опций Особого внимания и WeightingFilter на Функции потерь.

  • Задайте Focus опция в наборах опции оценки.

  • Опция оценки устанавливает для oe и tfest не имейте Focus опция, потому что шумовой компонент для предполагаемых моделей тривиален, и таким образом, e p (t) и e s (t) эквивалентны.

WeightingFilter

Когда вы задаете фильтр взвешивания, предварительно отфильтрованная ошибка предсказания или симуляции минимизирована:

ef(t)=(e(t))

где (.) линейный фильтр. WeightingFilter опция может быть интерпретирована как пользовательский фильтр взвешивания, который применяется к функции потерь. Для получения дополнительной информации смотрите Эффект Опций Особого внимания и WeightingFilter на Функции потерь.

  • Задайте WeightingFilter опция в наборах опции оценки. Не все опции для WeightingFilter доступны для всех команд оценки.

EnforceStability

Когда EnforceStability true, цель минимизации также содержит ограничение, что предполагаемая модель должна быть устойчивой.

  • Задайте EnforceStability опция в наборах опции оценки.

  • Опция оценки устанавливает для procest и ssregest команды не имеют EnforceStability опция. Эти команды оценки всегда дают к устойчивой модели.

  • Команды оценки tfest и oe всегда давайте к устойчивой модели, когда используется с данными об оценке временного интервала.

  • Идентификация нестабильных объектов требует сбора данных под замкнутым циклом со стабилизировавшимся контроллером обратной связи. Надежная оценка динамики объекта требует, чтобы достаточно богатый шумовой компонент в структуре модели выделил динамику объекта от эффектов обратной связи. В результате модели, которые используют тривиальный шумовой компонент (H (q) = 1), такой как модели, оцененные tfest и oe команды, не оценивайте хорошие результаты для нестабильных объектов.

OutputWeight

OutputWeight опция конфигурирует взвешивающий матричный W (θ) в функции потерь и позволяет вам управлять относительной важностью выходных каналов во время мультивыходных оценок.

  • Когда OutputWeight 'noise', W (θ) равняется инверсии предполагаемого отклонения ошибки e (t):

    W(θ)=(1NET(θ) E(θ))1

    Поскольку W зависит от θ, взвешивание определяется как часть оценки. Минимизация функции потерь с этим весом упрощает функцию потерь до:

    V(θ)=det(1NET(θ) E(θ))

    Используя инверсию шумового отклонения оптимальное взвешивание в смысле наибольшего правдоподобия.

  • Когда OutputWeight ny-by-ny положительная полуопределенная матрица, постоянное взвешивание используется. Эта функция потерь затем становится взвешенной суммой квадратичных невязок.

  • Задайте OutputWeight опция в наборах опции оценки. Не все опции для OutputWeight доступны для всех команд оценки.

  • OutputWeight не доступно для полиномиальной оценки модели, потому что такие модели всегда оцениваются та выход за один раз.

  • OutputWeight не может быть 'noise' когда SearchMethod 'lsqnonlin'.

ErrorThreshold

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

V(θ)= 1N(tIeT(t,θ) W(θ) e(t,θ)+tJvT(t,θ) W(θ) v(t,θ))

где:

  • I представляет те моменты времени для который  |e(t)| <ρ*σ  , где ρ является порогом ошибок.

  • J представляет дополнение I, то есть, моменты времени для который |e(t)| >=ρ*σ.

  • σ предполагаемое стандартное отклонение ошибки.

Ошибка v (t, θ) задан как:

v(t,θ)=e(t,θ)*σρ|e(t,θ)|

  • Задайте ErrorThreshold опция в наборах опции оценки.

  • Типичное значение для порога ошибок ρ = 1.6 минимизирует эффект выбросов данных на результатах оценки.

Regularization

Regularization опция изменяет функцию потерь, чтобы добавить штраф на отклонении предполагаемых параметров.

Функция потерь настраивается с целью минимизации ошибок предсказания. Это не включает определенные ограничения на отклонение (мера надежности) предполагаемых параметров. Это может иногда приводить к моделям с большой неопределенностью в предполагаемых параметрах модели, особенно когда модель имеет много параметров.

Regularization вводит дополнительное условие в функции потерь, которая штрафует гибкость модели:

V(θ)= 1Nt=1NeT(t,θ) W(θ) e(t,θ) + 1Nλ (θθ*)TR (θθ*)

Второй срок является взвешенным (R), и масштабируемое (λ) отклонение предполагаемого параметра установило θ о своей номинальной стоимости θ*.

  • Задайте Regularization опция в наборах опции оценки.

  • Для линейных в параметре моделей (КИХ-модели) и модели ARX, можно вычислить оптимальные значения переменных R регуляризации и λ с помощью arxRegul команда.

Эффект Focus и WeightingFilter Опции на функции потерь

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

Изучать эффект Focus и WeightingFilter, считайте линейный одно вход моделью одно выхода:

y(t)=G(q,θ) u(t)+H(q,θ) e(t)

Где G (q, θ) является измеренной передаточной функцией, H (q, θ) является шумовой моделью, и e (t) представляет аддитивные воздействия, смоделированные как белый Гауссов шум. q является оператором сдвига времени.

В частотном диапазоне линейная модель может быть представлена как:

Y(ω)=G(ω,θ)U(ω)+H(ω,θ)E(ω)

где Y (ω), U (ω) и E (ω) является преобразованиями Фурье выхода, входа и ошибки на выходе, соответственно. G (ω, θ) и H (ω, θ) представляет частотную характеристику ввода - вывода и шумовых передаточных функций, соответственно.

Функцией потерь, которая будет минимизирована для модели SISO, дают:

V(θ)= 1Nt=1NeT(t,θ) e(t,θ)

Используя Идентичность Парсевэла, функция потерь в частотном диапазоне:

V(θ,ω)= 1NE(ω)2

Заменение E (ω) дает:

V(θ,ω)=1NY(ω)U(ω)G(θ,ω))2U(ω)2H(θ,ω)2

Таким образом можно интерпретировать минимизацию функции потерь V как подходящий G (θ, ω) к эмпирической передаточной функции Y(ω)/U(ω), использование U(ω)2H(θ,ω)2 как фильтр взвешивания. Это соответствует определению Focus как 'prediction'. Оценка подчеркивает частоты, где введенный имеет больше силы (U(ω)2 больше), и преуменьшает роль частот, где шум является значительным (H(θ,ω)2 является большим).

Когда Focus задан как 'simulation', обратное взвешивание с H(θ,ω)2 не используется. Таким образом, только входной спектр используется, чтобы весить, относительная важность оценки помещаются в определенный частотный диапазон.

Когда вы задаете линейный фильтр как WeightingFilter, это используется в качестве дополнительного пользовательского взвешивания в функции потерь.

V(θ)=1N2Y(ω)U(ω)G(θ))2U(ω)2H(θ)2(ω)2

Здесь (ω) частотная характеристика фильтра. Использование (ω) улучшать припадок ответа модели на наблюдаемые данные в определенных частотах, например, подчеркнуть подгонку близко к системе резонансные частоты.

Ориентировочная стоимость передаточной функции ввода - вывода, G совпадает с тем, с чем вы добираетесь если вы вместо этого первый предварительный фильтр данные об оценке (.) использование idfilt, и затем оцените модель, не задавая WeightingFilter. Однако эффект (.) на предполагаемой шумовой модели H зависит от выбора Focus:

  • Focus 'prediction' — Программное обеспечение минимизирует взвешенную ошибку предсказания ef(t)=(ep(t)), и предполагаемая модель имеет форму:

    y(t)=G(q)u(t)+H1(q)e(t)

    Где H1(q)=H(q)/(q). Таким образом оценка с особым вниманием предсказания создает смещенную оценку H. Это - та же предполагаемая шумовая модель, с которой вы добираетесь если вы вместо этого первый предварительный фильтр данные об оценке (.) использование idfilt, и затем оцените модель.

    Когда H параметрируется независимый от G, можно обработать фильтр (.) как способ влиять на оценку смещают распределение. Таким образом, можно сформировать компромисс между подбором кривой G к системной частотной характеристике и подбором кривой H/ к спектру воздействия при минимизации функции потерь. Для получения дополнительной информации смотрите, разделите 14.4 в System Identification: Теория для Пользователя, Второго Выпуска, Lennart Ljung, PTR Prentice Hall, 1999.

  • Focus 'simulation' — Программное обеспечение сначала оценивает G путем минимизации взвешенной ошибки симуляции ef(t)=(es(t)), где es(t)=ymeasured(t)G(q)umeasured(t). Если G оценивается, программные исправления это и вычисляет H путем минимизации чистых ошибок предсказания e (t) с помощью неотфильтрованных данных. Предполагаемая модель имеет форму:

    y(t)=G(q)u(t)+He(t)

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

Таким образом, WeightingFilter оказывает то же влияние как предварительная фильтрация данных об оценке для оценки G. Для оценки H, эффекта WeightingFilter зависит от выбора Focus. Особое внимание предсказания оценивает смещенную версию шумовой модели H/, в то время как особое внимание симуляции оценивает H. Предварительная фильтрация данных об оценке, и затем оценка модели всегда дают H/ как шумовая модель.

Метрики качества модели

После того, как вы оцените модель, используйте метрики качества модели, чтобы оценить качество идентифицированных моделей, сравнить различные модели и выбрать лучшую. Report.Fit свойство идентифицированной модели хранит различные метрики, такие как FitPercent, LossFcn, FPE, MSE, AIC, nAIC, AICc, и BIC значения.

  • FitPercent, LossFcn, и MSE меры фактического количества, которое минимизировано во время оценки. Например, если Focus 'simulation', эти количества вычисляются для ошибки симуляции e s (t). Точно так же, если вы задаете WeightingFilter опция, затем LossFcn, FPE, и MSE вычисляются с помощью отфильтрованных остаточных значений e f (t).

  • FPE, AIC, nAIC, AICc, и BIC меры вычисляются как свойства выходного воздействия согласно отношению:

    y(t)=G(q)u(t)+H(q)e(t)

    G (q) и H (q) представляет измеренные и шумовые компоненты предполагаемой модели.

    Независимо от того, как функция потерь сконфигурирована, вектор ошибок, e (t) вычисляется как 1 шаг вперед ошибка предсказания данная модель и данный набор данных. Это подразумевает, что, даже когда модель получена путем минимизации ошибки симуляции, e s (t), FPE и различные значения AIC все еще вычисляется с помощью ошибки предсказания e p (t). Фактическое значение e p (t) определяется с помощью pe команда с горизонтом предсказания 1 и использование начальных условий задана для оценки.

    Эти метрики содержат два условия — один для описания точности модели и другого, чтобы описать ее сложность. Например, в FPE, det(1NET E) описывает точность модели и 1+npN1npN описывает сложность модели.

    Путем сравнения моделей с помощью этих критериев можно выбрать модель, которая дает лучшее (наименьшее значение критерия) компромисс между точностью и сложностью.

Метрика качестваОписание

FitPercent

Нормированная среднеквадратическая ошибка (NRMSE), выраженная как процент, заданный как:

FitPercent= 100(1ymeasuredymodelymeasuredymeasured¯)

где:

  • Измеренный y является измеренными выходными данными.

  • ymeasured¯ его (мудрое каналом) среднее значение.

  • Модель y является симулированным или предсказанным ответом модели, которой управляет Focus.

  • ||. || указывает на 2-норму вектора.

FitPercent варьируется между -Inf (плохая подгонка) к 100 (совершенная подгонка). Если значение равно нулю, то модель не лучше в подборе кривой результатам измерений, чем прямая линия, равная среднему значению данных.

LossFcn

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

MSE

Мера по Среднеквадратической ошибке, заданная как:

MSE= 1Nt=1NeT(t) e(t)

где:

  • e (t) является сигналом, норма которого минимизирована для оценки.

  • N является количеством выборок данных в наборе данных оценки.

FPE

Итоговая ошибка предсказания (FPE) Акэйка, заданная как:

FPE=det(1NET E)(1+npN1npN)

где:

  • np является количеством свободных параметров в модели. np включает количество предполагаемых начальных состояний.

  • N является количеством выборок в наборе данных оценки.

  • E является N-by-ny матрица ошибок предсказания, где ny является количеством выходных каналов.

AIC

Необработанная мера информационного Критерия Акэйка, заданного как:

AIC=Nlog(det(1NET E))+2np+N(nylog(2π)+1)

AICc

Маленький объем выборки откорректировал информационный Критерий Акэйка, заданный как:

AICc=AIC+2np(np+1)(Nnp1)

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

nAIC

Нормированная мера информационного Критерия Акэйка, заданного как:

nAIC=log(det(1NET E))+2npN

BIC

Байесов информационный Критерий, заданный как:

BIC=Nlog(det(1NET E))+N(nylog(2π)+1)+npжурнал(N)

Смотрите также

| | | | | |

Похожие темы