Сегментируйте данные и оценивайте модели для каждого сегмента
segm = segment(z,nn) [segm,V,thm,R2e] = segment(z,nn,R2,q,R1,M,th0,P0,ll,mu)
segment
создает модели типа AR, ARX или ARMAX/ARMA,
принимая, что параметры модели являются кусочно-постоянными с течением времени. Это приводит к модели, которая разделила запись данных на сегменты, над которыми модель остается постоянной. Функция моделирует сигналы и системы, которые могут подвергнуться резким изменениям.
Входно-выходные данные содержатся в z
, который является либо iddata
объект или матрица z = [y u]
где y
и u
являются векторы-столбцы. Если система имеет несколько входов, u
имеет соответствующее количество столбцов.
Аргумент nn
задает порядок модели. Для модели ARMAX
nn = [na nb nc nk];
где na
, nb
, и nc
являются порядками соответствующих полиномов. Смотрите, что такое полиномиальные модели?. Более того, nk
- задержка. Если модель имеет несколько входов, nb
и nk
являются векторы-строки, выдавая заказы и задержки для каждого входа.
Для модели ARX (nc = 0
) ввести
nn = [na nb nk];
Для модели ARMA временных рядов
z = y; nn = [na nc];
и для AR модели
nn = na;
Выходной аргумент segm
является матрицей, где k
th строка содержит параметры, соответствующие времени k
. Это аналогично выходным оценкам, возвращаемым recursiveARX
и recursiveARMAX
оценщики. Выходной аргумент thm
от segment
содержит соответствующие параметры модели, которые еще не были сегментированы. Каждая строка thm
содержит оценки параметров в соответствующий момент времени. Эти оценки формируются путем взвешивания вместе параметров M
(по умолчанию: 5) различные изменяющиеся во времени модели с изменениями участвующих моделей на каждом временном шаге. Рассмотреть segment
как альтернатива командам онлайн-оценки, когда вы не заинтересованы в постоянном отслеживании изменений параметров одной модели, но должны обнаружить резкие изменения в динамике системы.
Выходной аргумент V
содержит сумму квадратов ошибок предсказания сегментированной модели. Это мера успешности сегментации.
Входной параметр R2
является предполагаемым отклонением инноваций e (t) в модели. Значение по умолчанию R2
, R2 = []
, это то, что оценено. Затем выходной аргумент R2e
- вектор, чья k
Первый элемент содержит оценку R2
во время k
.
Аргумент q
- вероятность того, что модель показывает резкое изменение в любой данный момент времени. Значение по умолчанию 0.01
.
R1
- принятая матрица ковариации параметра, переходов когда они происходят. Значение по умолчанию является матрицей тождеств с размерностью, равной количеству предполагаемых параметров.
M
- количество параллельных моделей, используемых в алгоритме (см. ниже). Его значение по умолчанию является 5
.
th0
- начальное значение параметров. Его значение по умолчанию равно нулю. P0
является начальной ковариационной матрицей параметров. Значение по умолчанию в 10 раз превышает тождества матрицу.
ll
- гарантированный срок службы каждой из моделей. То есть любая созданная модель кандидата не отменяется до тех пор, пока, по крайней мере ll
временные шаги. Значение по умолчанию является ll = 1
. Mu
- параметр забывания, который используется в схеме, которая оценивает R2
. Значение по умолчанию является 0.97
.
Самый критический параметр для вас, чтобы выбрать R2
. Обычно более устойчиво иметь разумное предположение о R2
чем его оценить. Как правило, необходимо попробовать различные значения R2
и оцените результаты. (См. пример ниже.) sqrt(R2)
соответствует изменению значения y (t), которое является нормальным, не давая никаких указаний на то, что система или вход могли измениться.
segment
несовместим с MATLAB® Coder™ или MATLAB Compiler™.
Алгоритм основан на M
параллельные модели, каждая рекурсивно оценена алгоритмом типа фильтра Калмана. Каждая модель обновляется независимо, и вычисляется ее апостериорная вероятность. Изменяющаяся во времени оценка thm
формируется путем взвешивания вместе M
различные модели с весами, равными их апостериорной вероятности. На каждом временном шаге модель (среди тех, кто жил как минимум ll
выборки), который имеет самую низкую апостериорную вероятность, отменяется. Начинается новая модель, принимая, что системные параметры изменились, с вероятностью q
, случайный переход от наиболее вероятного среди моделей. Ковариационная матрица изменения параметра установлена в R1
.
После того, как все данные исследуются, выжившая модель с самой высокой апостериорной вероятностью отслеживается назад, и временные образцы, где она прыгнула, помечаются. Это определяет различные сегменты данных. (Если бы ни одни модели не была отменяемы в алгоритме, это были бы максимальные оценки вероятности образцов перехода.) Сегментированная модель segm
затем формируется путем сглаживания оценки параметра, принимая, что образцы перехода верны. Другими словами, последняя оценка по сегменту выбрана, чтобы представлять весь сегмент.