сегмент

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

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

Синтаксис

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. Это аналогично, чтобы вывести оценки, возвращенные средствами оценки recursiveARMAX и recursiveARXthm выходного аргумента 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])

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

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

load iddemo6m.mat z
z = iddata(z(:,1),z(:,2));
plot(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');

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

Алгоритмы

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

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

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

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