
- •Теоретические сведения
- •Работа с пакетом в режиме командной строки
- •Функции отображения модели
- •Функции непараметрического оценивания
- •Функции параметрического оценивания
- •Функции итерационного параметрического оценивания
- •Функции задания структуры модели
- •Функции изменения и уточнения структуры модели
- •Функции выбора структуры модели
- •Функции преобразования модели
- •Функции извлечения информации о модели
- •Функции проверки адекватности модели
- •Прочие функции
- •Демонстрация возможностей пакета
- •Идентификация с использованием блоков Simulink
- •Сохранение результатов
Функции итерационного параметрического оценивания
В данную группу входят следующие 7 функций, позволяющие проводить оценивание коэффициентов моделей итерационными (рекуррентными) методами, при которых на каждой k-й итерации учитываются экспериментальные данные, соответствующие моменту времени k.
Функция rarmax
Функция rarmax реализует процедуру рекуррентного оценивания коэффициентов ARMAX-модели:
thm = rarmax(z,nn,adm,adg)
[thm,yhat,P,phi,psi] = rarmax(z,nn,adm,adg,th0,P0,phi0,psi0)
Здесь:
z — матрица данных;
nn — аргумент, задающий параметры ARMAX-модели, nn = [na nb nc nk];
adm и adg — аргументы, задающие вид процедуры оценивания, например, значения adm ='ff' и adg = lam задают рекуррентный метод наименьших квадратов, adm = 'ug' и adg = gam — градиентный метод оценивания и т. п. (дополнительную информацию можно получить, используя команду help rarmax);
th0 — вектор-строка, содержащий начальные значения оцениваемых параметров, по умолчанию — нулевой вектор;
Р0 — начальная матрица ковариаций оцениваемых коэффициентов, по умолчанию равна единичной матрице, умноженной на 104;
phi0 и psi0 — соответственно, начальные значения вектора данных и вектора-градиента (по умолчанию — нулевые). Их размеры достаточно сложным образом зависят от параметров модели.
Возвращаемые величины:
• thm — матрица оценок коэффициентов модели; k-я строка матрицы содержит оценки, соответствующие моменту времени k в следующем порядке:
thm(k,:) = [al,a2,...ana,bl,...,bnb];
yhat — вектор прогнозируемых значений выхода (соответствующий вектору z(k,l));
Р, phi, psi — конечные значения матрицы ковариаций оценок коэффициентов, вектора данных и вектора-градиента.
Функция гагх
Функция гагх реализует процедуру рекуррентного оценивания коэффициентов AR и ARX-моделей:
thm = rarx(z,nn,adm,adg)
[thm,yhat,P,phi] = rarx(z,nn,adm,adg,h0,P0,phi0)
Аргументы и возвращаемые величины аналогичны рассмотренным для предыдущей функции.
Функция rbj
Функция rbj — то же, что предыдущая функция, но для модели Бокса-Дженкинса:
thm = rbj(z,nn,adm,adg)
[thm,yhat,P,phi,psi] = ...
rbj(z,nn,adm,adg,th0,P0,phi0,psi0)
Аргументы и возвращаемые величины — как у функции гагтах, с учетом того, что оценивается модель Бокса—Дженкинса.
Функция rое
Функций rое — то же, что предыдущая функция, но для ОЕ-модели:
thm = roe(z,nn,adm,adg)
[thm,yhat,P,phi,psi] = roe(z,nn,adm,adg,th0,P0,phi0,psi0)
Аргументы и возвращаемые величины те же, что у функции rаrmах.
Функция rреm
Функция rреm реализует рекуррентную процедуру оценивания параметров обобщенной линейной модели с несколькими входами, но с одним выходом:
thm = rpem(z,nn,ddm,adg)
[thm,yhat,P,phi,psi] = rpem(z,nn,adm,adg,th0,P0,phi0,psi0)
Аргументы и возвращаемые величины те же, что у функции rarmax.
Функция rplr
Функция rplr имеет то же назначение, что и предыдущая функция. Отличие состоит в алгоритме оценивания. Функция записывается в виде:
thm = rplr(z,nn,adm,adg)
[thm,yhat,P.phi] = rplr(z,nn,adm,adg,th0,P0,phi0)
Функция segment
Функция segment осуществляет разбиение (сегментацию) данных и оценивание коэффициентов моделей для каждого сегмента в предположении, что в пределах каждого сегмента коэффициенты модели являются постоянными, но могут изменяться (скачкообразно) при переходе от сегмента к сегменту. Оцениваемые модели — AR, ARX, ARMAX. Функция записывается в виде:
segm = segment(z,nn)
[segm,V,thm,R2e] = segment(z,nn,R2,q,Rl,M,th0,P0,ll,mu)
Здесь:
z — матрица данных;
аргумент пп определяет порядок модели: o для ARMAX-модели nn = [nа nb nc nk]; o для ARX-модели nn = [nа nb nк];
o для AR-модели nn = nа;
R2 — оценка дисперсии шума наблюдений;
q — вероятность скачкообразного изменения модели в момент времени ky по умолчанию 0.01;
R1 — предполагаемая матрица ковариаций оценок коэффициентов при их возможном скачкообразном изменении, по умолчанию —единичная матрица;
М — число параллельных моделей, используемых в алгоритме, по умолчанию 5;
th0 и Р0 — смысл данных аргументов рассмотрен выше, при описании функции rаrmах (здесь начальное значение Р0 — единичная матрица, умноженная на 10);
l l — аргумент, определяющий существование параллельных моделей (каждая модель не исключается, по крайней мере, в течение 11 итераций), по умолчанию l l = 1;
• mu — параметр алгоритма оценивания матрицы R2, но умолчанию 0.97. Возвращаемые величины:
segm — матрица, k-я строка которой содержит оценки коэффициентов, соответствующие моменту времени k (как возвращаемая матрица в функциях rаrх и rаrmах);
thm — матрица, содержащая оценки коэффициентов, соответствующие моменту времени k без учета сегментации данных;
V — сумма квадратов ошибок сегментированной модели;
R2e — полученная оценка матрицы R2 для момента времени k.
Пример. Иллюстрируем возможности функции на примере аппроксимации синусоидального сигнала кусочно-постоянным, при этом на каждом сегменте принятая модель имеет вид
y(t) = b1* 1
Соответствующая программа приведена ниже, результаты можно увидеть на рисунке.
» у = sin([l:50]/3)'; %Задание гармонического сигнала
» thm = segment([y,ones(size(y))],[0 1 1],0,1); %Сегментация данных
» plot ([thm,у]) %Вывод результатов