Нелинейная функция с разделением по дереву для нелинейных моделей ARX
A treepartition объект реализует древовидную нелинейную функцию и является нелинейной функцией отображения для оценки нелинейных моделей ARX. Функция отображения, которая также называется нелинейностью, использует комбинацию линейных весов, смещения и нелинейной функции для вычисления ее выходного сигнала. Нелинейная функция содержит treepartition функции блока, которые работают на радиальной комбинации входов.
![]()
Математически, treepartition - нелинейная функция (x), которая отображает m входов X (t) = [x (t1), x2 (t),..., xm (t)] T в скалярный выход y (t). F - кусочно-линейная (аффинная) функция x:
x] Ck + d
Здесь x принадлежит разделу Pk. L - вектор 1 на m, Ck - вектор 1 на -m+ 1 вектор, и Pk является разбиением x-пространства .
Дополнительные сведения о функции отображения F (x) см. в разделе Алгоритмы.
Использовать treepartition как значение OutputFcn свойство idnlarx модель. Например, укажите treepartition при оценке idnlarx с помощью следующей команды.
sys = nlarx(data,regressors,treepartition)
nlarx оценивает модель, по существу оценивает параметры treepartition функция.
Вы можете настроить treepartition функция для фиксации параметров. Чтобы опустить линейный компонент, задайте LinearFcn.Use кому false. Использовать evaluate вычисляют выходной сигнал функции для данного вектора входных сигналов.
создает T = treepartitiontreepartition объект t это объект нелинейного отображения двоичного дерева. Функция вычисляет количество узлов дерева J, представленных свойством NumberOfUnits, автоматически во время оценки. Дерево имеет количество листьев, равное 2^(J+1)-1.
определяет количество T = treepartition(numUnits)treepartition узлы numUnits.
Отображение F определяется диадическим разбиением P x-пространства, так что на каждом элементе Pk разбиения F является линейным отображением. Когда x принадлежит Pk, F (x) задается следующим образом:
x] Ck + d
где L - вектор 1 на m, а d - скаляр, общий для всех элементов разбиения. Ck является 1-по- (m + 1) вектором.
Отображение F и связанный раздел P пространства x вычисляются следующим образом:
При значении J инициализируется диадическое дерево с J уровнями и N = 2J-1 узлами.
Каждый узел на уровне 1 < j < J имеет два потомка на уровне j + 1 и один родитель на уровне j-1.
Корневой узел на уровне 1 имеет два потомка.
Узлы уровня J являются концевыми листьями дерева и имеют один родительский элемент.
Один элемент секционирования связан с каждым узлом k дерева.
Вектор коэффициентов Ck вычисляется с использованием наблюдений на соответствующем элементе разбиения Pk пенализованным алгоритмом наименьших квадратов.
Когда узел k не является концевым листом, элемент Pk разбиения разрезается на два элемента разбиения для получения элементов разбиения дочерних узлов. Разрез определяется половинными промежутками (1, x) Bk > 0 или < = 0 (перемещение к левому или правому потомку), где Bk выбирается для улучшения стабильности вычисления наименьших квадратов на секциях в дочерних узлах.
Когда значение отображения F, определенное treepartition объект, вычисляется в x, адаптивный алгоритм выбирает активный узел
k дерева на ветви разделов, которые содержат x.
Когда Focus опция в nlarxOptions является 'prediction', treepartition использует неидертеративный метод оценки параметров. Итеративные уточнения невозможны для моделей, содержащих этот оценщик нелинейности.
Вы не можете использовать treepartition когда Focus является 'simulation' поскольку этот нелинейный объект отображения не дифференцируется. Минимизация ошибки моделирования требует дифференцируемых нелинейных функций.
customnet | evaluate | idnlarx | linear | linearRegressor | neuralnet | nlarx | polynomialRegressor | sigmoidnet | wavenet