Функция потерь и образцовые метрики качества

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

Программное обеспечение 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(nyжурнал(2π)+1)

AICc

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

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

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

nAIC

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

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

BIC

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

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

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

| | | | | |

Похожие темы