wavenet

Создайте объект средства оценки нелинейности сети вейвлета

Синтаксис

NL = wavenet
NL = wavenet(Name,Value)

Описание

NL = wavenet создает объект средства оценки нелинейности сети вейвлета по умолчанию для оценки нелинейного ARX и моделей Хаммерстайна-Винера. Используйте запись через точку, чтобы настроить свойства объектов в случае необходимости.

NL = wavenet(Name,Value) создает объект средства оценки нелинейности сети вейвлета со свойствами, заданными одним или несколькими аргументами пары Name,Value. Свойства, которые вы не задаете, сохраняют свое значение по умолчанию.

Описание объекта

wavenet является объектом, который хранит средство оценки нелинейности сети вейвлета для оценки нелинейного ARX и моделей Хаммерстайна-Винера.

Используйте wavenet, чтобы задать нелинейную функцию y=F(x,θ), где y является скаляром, x является m - размерный вектор - строка из регрессоров, и θ представляет параметры в расширении вейвлета. Функция сети вейвлета основана на следующем функциональном расширении:

F(x,θ)=(xr)PL+as_1f(bs_1((xr)Qcs_1))+                          +as_nsf(bs_ns((xr)Qcs_ns))                          +aw_1g(bw_1((xr)Qcw_1))+                          +aw_nwg(bw_nw((xr)Qcw_nw))+d

f(z)=e-0.5zzT

g(z) = (m-zzT)e-0.5zzT

Здесь,

  • f(z) является радиальной функцией, вызвал масштабирующуюся функцию, и z является входом к масштабирующейся функции. z является 1 q вектором - строкой. q является количеством компонентов x, используемого в функциях вейвлета и масштабировании.

  • g(z) является радиальной функцией, вызвал функцию вейвлета, и z является входом к функции вейвлета.

  • θ представляет следующие параметры средства оценки нелинейности:

    • P и Q — Матрицы проекции размера m-by-p и m-by-q, соответственно.

      P и Q определяются анализом главных компонентов данных об оценке. Обычно, p = m. Если компоненты x в данных об оценке линейно зависят, то p<m. Количеством столбцов Q является q. q является количеством компонентов x, используемого в функции вейвлета и масштабировании.

      Когда используется в нелинейной модели ARX, q равен размеру свойства NonlinearRegressors объекта idnlarx. Когда используется в модели Хаммерстайна-Винера, m=q=1 и Q скаляр.

    • r Среднее значение вектора регрессора вычисляется из данных об оценке, заданных как 1 m вектором.

    • as, bs, aw и bw — Масштабирование и параметры вейвлета, заданные как скаляры. Параметры с индексом s являются масштабными коэффициентами, и параметры с индексом w являются параметрами вейвлета.

    • L Заданный как p-by-1 вектор.

    • cs и cw – Заданный как 1 q векторами.

    • d Выведите смещение, заданное как скаляр.

F(x) значения вычисляется evaluate(NL,x), где NL является объектом wavenet.

Для свойств объектов wavenet смотрите Свойства.

Примеры

свернуть все

NL = wavenet;

Исключите линейный член из расширения вейвлета.

NL.LinearTerm = 'off';

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

load twotankdata;

Создайте объект iddata из данных об оценке.

z = iddata(y,u,0.2);

Создайте средство оценки нелинейности сети вейвлета с 5 модулями.

NL = wavenet('NumberOfUnits',5);

Оцените нелинейную модель ARX.

sys = nlarx(z,[4 4 1],NL);

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

load motorizedcamera;

Создайте объект iddata.

z = iddata(y,u,0.02,'Name','Motorized Camera','TimeUnit','s');

z является объектом iddata с 6 входными параметрами и 2 выходными параметрами.

Задайте порядки модели.

Orders = [ones(2,2),2*ones(2,6),ones(2,6)];

Задайте различные средства оценки нелинейности для каждого выходного канала.

NL = [wavenet('NumberOfUnits',2),linear];

Оцените нелинейную модель ARX.

sys = nlarx(z,Orders,NL);

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

load motorizedcamera;

Создайте объект iddata.

z = iddata(y,u,0.02,'Name','Motorized Camera','TimeUnit','s');

z является объектом iddata с 6 входными параметрами и 2 выходными параметрами.

Задайте порядки модели и задержки.

Orders = [ones(2,6),ones(2,6),ones(2,6)];

Задайте то же средство оценки нелинейности для каждого входного канала.

InputNL = saturation;

Задайте различные средства оценки нелинейности для каждого выходного канала.

 OutputNL = [deadzone,wavenet];

Оцените модель Хаммерстайна-Винера.

sys = nlhw(z,Orders,InputNL,OutputNL);

Чтобы видеть форму предполагаемой нелинейности ввода и вывода, постройте нелинейность.

plot(sys)

Нажмите на блоки нелинейности ввода и вывода на верхней части графика видеть нелинейность.

Входные параметры

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Используйте аргументы Name,Value, чтобы задать дополнительные свойства нелинейности wavenet. Например, NL= wavenet('NumberofUnits',5) создает объект средства оценки нелинейности вейвлета с пятью модулями нелинейности в расширении вейвлета.

Свойства

NumberofUnits

Количество модулей нелинейности в расширении вейвлета, заданном как положительное целое число или одно из следующих значений:

  • 'auto' Количество модулей автоматически определяется от данных об оценке.

  • 'Interactive' — Количество модулей определяется во время образцовой оценки.

Значение по умолчанию: 'Auto'

LinearTerm

Включение линейного члена, заданного как одно из следующих значений:

  • 'on' — Линейный член, (xr)PL, включен в расширение вейвлета.

  • 'off' Линейный член в не включенный в расширение вейвлета.

Значение по умолчанию: 'on'

Parameters

Параметры в расширении вейвлета, заданном как структура со следующими полями:

Имя поляОписаниеЗначение по умолчанию
RegressorMean

Средства регрессоров, r, заданного как 1 m вектором. m является количеством регрессоров, x.

Поскольку Хаммерстайн-Винер моделирует, m = 1.

[]
NonLinearSubspace

Матрица проекции, Q, заданный как m-by-q матрица.

[]
LinearSubspace

Матрица проекции, P, заданный как m-by-p матрица.

[]
LinearCoef

Линейные коэффициенты, L, заданный как p-by-1 вектор.

[]
ScalingDilation

Масштабируя функциональное расширение, bs_ns, заданный как ns-by-1 матрица.

[]
WaveletDilation

Расширение функции вейвлета, bw_nw, заданный как nw-by-1 матрица.

[]
ScalingTranslation

Масштабируя функциональный перевод, cs_ns, заданный как ns-by-q матрица.

[]
WaveletTranslation

Перевод функции вейвлета, cw_nw, заданный как nw-by-q матрица.

[]
ScalingCoef

Масштабируя функциональные коэффициенты, as_ns, заданный как ns-by-1 вектор.

[]
WaveletCoef

Коэффициенты функции вейвлета, aw_nw, заданный как nw-by-1 вектор.

[]
OutputOffset

Выведите смещение, d, заданный как скаляр.

[]

Параметры обычно не присваиваются непосредственно. Они оцениваются идентификационным алгоритмом (nlarx или nlhw), когда wavenet используется в Нелинейном ARX (idnlarx) или модель (idnlhw) Хаммерстайна-Винера.

Options

Опции, задающие начальную структуру нелинейности вейвлета, заданную как структура со следующими полями:

Имя поляОписаниеЗначение по умолчанию
FinestCell

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

'auto' Вычислите значение из данных.
MinCells

Минимальное количество ячеек в разделе, заданном как целое число.

16
MaxCells

Максимальное количество ячеек в разделе, заданном как целое число.

128
MaxLevels

Максимальное количество уровней вейвлета, заданных как целое число.

10
DilationStep

Размер шага расширения, заданный как действительный скаляр.

2
TranslationStep

Размер шага перевода, заданный как действительный скаляр.

1

Выходные аргументы

свернуть все

Объект средства оценки нелинейности вейвлета, возвращенный как объект wavenet.

Алгоритмы

wavenet может использоваться и в Нелинейном ARX и в моделях Хаммерстайна-Винера.

  • Когда используется в модели Nonlinear ARX:

    • Если опцией оценки Focus (см., nlarxOptions) является 'prediction', wavenet использует быстрый, неитеративный метод для оценки параметров [1]. Последовательные улучшения после первого использования оценки итеративный алгоритм.

    • Если Focus является 'simulation', wavenet использует итеративный метод для оценки параметров.

    Чтобы всегда использовать неитеративный или итеративный алгоритм, задайте опцию IterativeWavenet nlarxOptions.

  • Когда используется в модели Хаммерстайна-Винера, параметры wavenet определяются итеративной минимизацией.

Ссылки

[1] Чжан, Q. “Используя сеть вейвлета по непараметрической оценке”. Сделка IEEE на Нейронных сетях, Издании 8, Номере 2, март 1997, стр 227-236.

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

|

Представленный в R2007a