Разделенная древовидная нелинейная функция для нелинейных моделей ARX
idTreePartition
возразите реализует разделенную деревом нелинейную функцию и нелинейная функция отображения для оценки нелинейных моделей ARX. Функция отображения, которая также упоминается как nonlinearity, использует комбинацию линейных весов, смещения и нелинейной функции, чтобы вычислить ее выход. Нелинейная функция содержит idTreePartition
модульные функции, которые работают с радиальной комбинацией входных параметров.
Математически, idTreePartition
нелинейная функция это сопоставляет входные параметры m X (t) = [x (t 1), x 2 (t), …, xm (t)]T к скалярному выходу y (t). F является кусочно-линейной (аффинной) функцией x:
Здесь, x принадлежит разделу Pk. L является 1 m вектором, Ck является 1 m
+1 вектор и Pk являются разделом x - пробел.
Для получения дополнительной информации о функции отображения F (x) см. Алгоритмы.
Используйте idTreePartition
как значение OutputFcn
свойство idnlarx
модель. Например, задайте idTreePartition
когда вы оцениваете idnlarx
модель со следующей командой.
sys = nlarx(data,regressors,idTreePartition)
nlarx
оценивает модель, она по существу оценивает параметры idTreePartition
функция.
Можно сконфигурировать idTreePartition
функционируйте, чтобы зафиксировать параметры. Не использовать линейный набор компонента LinearFcn.Use
к false
Использование evaluate
вычислить выход функции для данного вектора из входных параметров.
создает T
= idTreePartitionidTreePartition
объект t
это - двоичное дерево нелинейный объект отображения. Функция вычисляет количество древовидных узлов J, представленный свойством NumberOfUnits
, автоматически во время оценки. Дерево имеет количество листов, равных 2^(J+1)-1
.
задает количество T
= idTreePartition(numUnits
)idTreePartition
узлы numUnits
.
F отображения задан двухместным разделом P x - пробел, такой, что на каждом элементе раздела Pk, F является линейным отображением. Когда x принадлежит Pk, F (x) дают:
где L 1 m вектором, и d является скаляром, характерным для всех элементов раздела. C k является 1 на (m +1) вектор.
Отображение F и сопоставленный раздел P x - пробел вычисляется можно следующим образом:
Учитывая значение J, двухместного дерева с уровнями J и N = 2J–1 узлы инициализируются.
Каждый узел на уровне 1 <j <J имеет двух потомков на уровне j + 1 и один родительский элемент на уровне j – 1.
Корневой узел на уровне 1 имеет двух потомков.
Узлы на уровне J отключает листы дерева и имеет один родительский элемент.
Один элемент раздела сопоставлен к каждому узлу k дерева.
Вектор из коэффициентов Ck вычисляется с помощью наблюдений относительно соответствующего элемента раздела Pk оштрафованным алгоритмом наименьших квадратов.
Когда узел, k не является завершающим работу листом, элемент раздела P k, сокращается в два, чтобы получить элементы раздела порожденных узлов. Сокращение задано полупространствами (1, x) Bk > 0 или <=0 (переместитесь к левому или правому потомку), где Bk выбран, чтобы улучшить устойчивость расчета наименьшего квадрата на разделах в порожденных узлах.
Когда значение отображения F, заданный idTreePartition
возразите, вычисляется в x, адаптивный алгоритм выбирает активный узел
k дерева на ветви разделов, которые содержат x.
Когда Focus
опция в nlarxOptions
'prediction'
, idTreePartition
использует неитеративный метод для оценки параметров. Итеративные улучшения не возможны для моделей, содержащих это средство оценки нелинейности.
Вы не можете использовать idTreePartition
когда Focus
'simulation'
потому что этот нелинейный объект отображения не дифференцируем. Минимизация ошибки симуляции требует дифференцируемых нелинейных функций.
nlarx
| idLinear
| idSigmoidNetwork
| idWaveletNetwork
| idFeedforwardNetwork
| idCustomNetwork
| idnlarx
| evaluate
| linearRegressor
| polynomialRegressor