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

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

Программное обеспечение 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) эквивалентны.

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

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

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

WeightingFilter

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

ef(t)=(e(t))

где (.) является линейным фильтром. The 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)| >=ρ*σ.

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

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 опция в наборах опций оценки.

  • Для моделей linear-in-parameter (конечной импульсной характеристики) и моделей ARX можно вычислить оптимальные значения переменных регуляризации R и, используя arxRegul команда.

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

The Focus опция может быть интерпретирована как фильтр взвешивания в функции потерь. The 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 в Система Идентификации: Theory for the User, Second Edition, Lennart Ljung, Prentice Hall PTR, 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. A предсказания особого внимания оценивает смещенную версию модели шума H/, в то время как особое внимание симуляции оценивает H. Предварительная фильтрация данных оценки, а затем оценка модели всегда дает H/ как модель шума.

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

После оценки модели используйте метрики качества модели, чтобы оценить качество идентифицированных моделей, сравнить различные модели и выбрать лучшую. The 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)

См. также

| | | | | |

Похожие темы