segment

Данные о сегменте и оценочные модели для каждого сегмента

Синтаксис

segm = segment(z,nn)
[segm,V,thm,R2e] = segment(z,nn,R2,q,R1,M,th0,P0,ll,mu)

Описание

segment создает модели AR, ARX или типа ARMAX/ARMA,

A(q)y(t)=B(q)u(tnk)+C(q)e(t)

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

Данные ввода - вывода содержатся в 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элемент th содержит оценку 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), который нормален, не давая индикации, которую могут изменить система или вход.

Примеры

свернуть все

Создайте синусоиду для симулированного выхода модели.

y = sin([1:50]/3)';

Задайте входной сигнал, чтобы быть постоянными в 1.

u = ones(size(y));

Задайте предполагаемое шумовое отклонение для модели.

R2 = 0.1;

Сегментируйте сигнал и оцените модель ARX для каждого сегмента. Используйте простую модель y(t)=b1u(t-1), где b1 параметр модели, описывающий кусочный постоянный уровень предполагаемого выхода, y(t).

segm = segment([y,u],[0 1 1],R2);

Исследуйте результат.

plot([segm,y])

Figure contains an axes. The axes contains 2 objects of type line.

Варьируйтесь значение R2 изменить предполагаемое шумовое отклонение. Уменьшение R2 увеличивает число сегментов, произведенных для этой модели.

Загрузите и отобразите данные об оценке на графике.

load iddemo6m.mat z
z = iddata(z(:,1),z(:,2));
plot(z)

Figure contains 2 axes. Axes 1 with title y1 contains an object of type line. This object represents z. Axes 2 with title u1 contains an object of type line. This object represents z.

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

Задайте порядки модели оценить модель ARX формы:

y(t)+ay(t-1)=b1u(t-1)+b2u(t-2)

nn = [1 2 1];

Сегментируйте данные и оцените модели ARX для каждого сегмента. Задайте предполагаемое шумовое отклонение 0.1.

seg = segment(z,nn,0.1);

Исследуйте параметры сегментированной модели.

plot(seg)
legend('a','b1','b2');

Figure contains an axes. The axes contains 3 objects of type line. These objects represent a, b1, b2.

Данные были разделены на два сегмента, как обозначено изменением в параметрах модели вокруг демонстрационного номера 19. Увеличение b1, наряду с соответствующим уменьшением в b2, показывает изменение в задержке модели.

Ограничения

segment не совместимо с MATLAB® Coder™ или MATLAB Compiler™.

Алгоритмы

Алгоритм основан на M параллельные модели, каждый рекурсивно оцененный алгоритмом типа Фильтра Калмана. Каждая модель обновляется независимо, и ее апостериорная вероятность вычисляется. Изменяющаяся во времени оценка thm формируется путем взвешивания вместе M различные модели с весами равняются своей апостериорной вероятности. На каждом временном шаге модель (среди тех, которые жили, по крайней мере, ll выборки), который имеет самую низкую апостериорную вероятность, отменяется. Новая модель запускается, принимая, что системные параметры изменились с вероятностью q, случайный скачок от наиболее вероятного среди моделей. Ковариационная матрица изменения параметра установлена в R1.

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

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

Представлено до R2006a