Рекурсивные алгоритмы для онлайн-оценки параметра

Алгоритмы рекурсивной оценки в System Identification Toolbox™ могут быть разделены на две категории:

  • Алгоритмы бесконечной истории - Эти алгоритмы направлены на минимизацию ошибки между наблюдаемым и предсказанным выходами для всех временных шагов с начала симуляции. System Identification Toolbox поддерживает бесконечную оценку истории в:

    • Рекурсивные оценки командной строки для структур модели линейной регрессии методом наименьших квадратов, AR, ARX, ARMA, ARMAX, OE и BJ

    • Simulink® Recursive Least Squares Estimator и Recursive Polynomial Model Estimator блоки

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

    • Рекурсивные оценки командной строки для структур модели методом линейной регрессии методом наименьших квадратов, AR, ARX и OE

    • Блок Recursive Least Squares Estimator Simulink

    • Simulink Recursive Polynomial Model Estimator блок, только для структур AR, ARX и OE

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

Рекурсивная оценка бесконечной истории

Общая форма рекурсивной оценки бесконечной истории

Общая форма алгоритма рекурсивной оценки с бесконечной историей выглядит следующим образом:

θ^(t)=θ^(t1)+K(t)(y(t)y^(t))

θ^(t) является оценкой параметра в момент времени t. y (t) является наблюдаемым выходом в момент t, иy^(t) - предсказание y (t), основанное на наблюдениях до времени t-1. Коэффициент усиления, K (t), определяет, насколько сильно текущая ошибка предсказанияy(t)y^(t) влияет на обновление оценки параметра. Алгоритмы оценки минимизируют член ошибки предсказания y(t)y^(t).

Коэффициент усиления имеет следующую форму:

K(t)=Q(t)ψ(t)

Рекурсивные алгоритмы, поддерживаемые продуктом System Identification Toolbox, различаются на основе различных подходов для выбора формы Q (t) и вычисленийψ(t). Вот, ψ(t) представляет градиент предсказанной модели выхода y^(t|θ) относительно параметров θ.

Самый простой способ визуализировать роль градиента ψ(t) из параметров следует рассмотреть модели с линейно-регрессионой формой:

y(t)=ψT(t)θ0(t)+e(t)

В этом уравнении, ψ(t) - регрессионный вектор, который вычисляется на основе предыдущих значений измеренных входов и выходов. θ0(t) представляет истинные параметры. e (t) - источник шума (инновации), который принимается как белый шум. Определенная форма ψ(t) зависит от структуры полиномиальной модели.

Для линейных регрессионных уравнений предсказанный выход задается следующим уравнением:

y^(t)=ψT(t)θ^(t1)

Для моделей, которые не имеют линейной формы регрессии, невозможно вычислить точно предсказанный выход и градиент ψ(t) для текущей оценки параметра θ^(t1). Чтобы узнать, как вычислить приближение для ψ(t) и θ^(t1) для общих структур модели смотрите раздел о рекурсивных методах предсказания-ошибки в [1].

Типы алгоритмов рекурсивной оценки бесконечной истории

Программное обеспечение System Identification Toolbox предоставляет следующие алгоритмы рекурсивной оценки бесконечной истории для онлайн-оценки:

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

Забывающий фактор.  Следующий набор уравнений суммирует алгоритм адаптации коэффициента забывания:

θ^(t)=θ^(t1)+K(t)(y(t)y^(t))

y^(t)=ψT(t)θ^(t1)

K(t)=Q(t)ψ(t)

Q(t)=P(t1)λ+ψT(t)P(t1)ψ(t)

P(t)=1λ(P(t1)P(t1)ψ(t)ψ(t)TP(t1)λ+ψ(t)TP(t1)ψ(t))

Программа гарантирует, P(t) является положительно-определенной матрицей, используя алгоритм квадратного корня, чтобы обновить его [2]. Программное обеспечение вычисляет P принимая, что невязки (различие между оцененными и измеренными выходами) являются белым шумом, и отклонение этих невязок равно 1. <reservedrangesplaceholder1> <reservedrangesplaceholder0> * P приблизительно равен ковариационной матрице оцененных параметров, где R2 является истинным отклонением невязок.

Q (t) получается путем минимизации следующей функции в момент t:

k=1tλtk(y(k)y^(k))2

Для получения дополнительной информации см. раздел 11.2 в разделе [1].

Этот подход дисконтирует старые измерения экспоненциально так, что наблюдение, которое τ выборки old несут вес, который равен λτ умножить на вес самого последнего наблюдения. τ=11λ представляет горизонт памяти этого алгоритма. Измерения старше τ=11λ обычно несут вес, который меньше, чем около 0,3.

λ называется коэффициентом забывания и обычно имеет положительное значение между 0.98 и 0.995. Набор λ=1 для оценки инвариантных по времени (постоянных) параметров. Набор λ<1 для оценки изменяющихся во времени параметров.

Примечание

Алгоритм коэффициента забывания для λ = 1 эквивалентно алгоритму фильтра Калмана с R1 = 0 и R2 = 1. Для получения дополнительной информации об алгоритме фильтра Калмана см. «Фильтр Калмана».

Фильтр Калмана.  Следующий набор уравнений суммирует алгоритм адаптации фильтра Калмана:

θ^(t)=θ^(t1)+K(t)(y(t)y^(t))

y^(t)=ψT(t)θ^(t1)

K(t)=Q(t)ψ(t)

Q(t)=P(t1)R2+ψT(t)P(t1)ψ(t)

P(t)=P(t1)+R1P(t1)ψ(t)ψ(t)TP(t1)R2+ψ(t)TP(t1)ψ(t)

Программа гарантирует, P(t) является положительно-определенной матрицей, используя алгоритм квадратного корня, чтобы обновить его [2]. Программное обеспечение вычисляет P принимая, что невязки (различие между оцененными и измеренными выходами) являются белым шумом, и отклонение этих невязок равно 1. R2 * P - ковариационная матрица предполагаемых параметров, а R1/ R2 - ковариационная матрица изменений параметров. Где, R1 является ковариационной матрицей изменений параметров, которые вы задаете.

Эта формулировка принимает линейно-регрессионую форму модели:

y(t)=ψT(t)θ0(t)+e(t)

Q (t) вычисляется с использованием фильтра Калмана.

Эта формулировка также принимает, что истинные параметры θ0(t) описываются случайной прогулкой:

θ0(t)=θ0(t1)+w(t)

w (t) - Гауссов белый шум со следующей ковариационной матрицей или дрейфовой матрицей R1:

Ew(t)wT(t)=R1

R2 - отклонение нововведений e (t) в следующем уравнении:

y(t)=ψT(t)θ0(t)+e(t)

Алгоритм фильтра Калмана полностью задан последовательностью данных y (t), градиентомψ(t), R1, R2 и начальные условия θ(t=0) (начальное предположение параметров) и P(t=0) (ковариационная матрица, которая указывает на ошибки параметров).

Примечание

Принято, что R1 и P (t = 0) матрицы масштабируются таким образом, что R2 = 1. Это масштабирование не влияет на оценки параметров.

Нормализованный и ненормализованный градиент.  В случае линейной регрессии градиентные методы также известны как методы наименьших средних квадратов (LMS).

Следующий набор уравнений суммирует ненормализованный градиентный и нормализованный алгоритм адаптации градиента:

θ^(t)=θ^(t1)+K(t)(y(t)y^(t))

y^(t)=ψT(t)θ^(t1)

K(t)=Q(t)ψ(t)

В ненормализованном градиентном подходе Q (t) определяется:

Q(t)=γ

В нормированном градиентном подходе Q (t) определяется:

Q(t)=γ|ψ(t)|2+Bias

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

Эти варианты Q (t) для алгоритмов градиента обновляют параметры в направлении отрицательного градиента, где градиент вычисляется относительно параметров. Для получения дополнительной информации см. стр. 372 в разделе [1].

Рекурсивная оценка конечной истории

Методы конечной исторической оценки находят оценки параметров θ (t) путем минимизации

k=tN+1t(y(k)y^(k|θ))2,

где y (k) является наблюдаемым выходом в момент k, иy^(k|θ) - предсказанный выход во временной k. Этот подход также известен как оценка окна скольжения. Подходы к оценке конечной истории минимизируют ошибки предсказания для последних N временных шагов. Напротив, методы оценки бесконечной истории минимизируют ошибки предсказания, начиная с начала симуляции.

System Identification Toolbox поддерживает конечную оценку истории для моделей линейных параметров (AR и ARX), где предсказанный вывод имеет вид y^(k|θ)=Ψ(k)θ(k1). Программное обеспечение строит и поддерживает буфер регрессоров ψ (<reservedrangesplaceholder10>) и наблюдаемые выходы y (<reservedrangesplaceholder8>) для k = t - <reservedrangesplaceholder5> +1, t - <reservedrangesplaceholder3> +2..., <reservedrangesplaceholder2>-2, <reservedrangesplaceholder1>-1, t. Эти буферы содержат необходимые матрицы для базовой линейной регрессионой задачи минимизацииΨbufferθybuffer22 над θ. Программа решает эту задачу линейной регрессии, используя QR-факторинг с поворотом столбца.

Ссылки

[1] Ljung, L. System Identification: Теория для пользователя. Upper Saddle River, NJ: Prentice-Hall PTR, 1999.

[2] Карлсон, Н.А. Быстрая треугольная формулировка квадратного корневого фильтра. AIAA Journal, Vol. 11, Number 9, 1973, pp. 1259-1265.

[3] Zhang, Q. «Некоторые аспекты реализации алгоритмов наименьших квадратов скользящего окна». Материалы IFAC. Том 33, Выпуск 15, 2000, стр. 763-768.

См. также

| | | | | | | |

Похожие темы