idGaussianProcess

Гауссова функция отображения регрессии процесса для нелинейных моделей ARX (требует Statistics and Machine Learning Toolbox),

Описание

idGaussianProcess возразите реализует Гауссову модель регрессии процесса и нелинейная функция отображения для оценки нелинейных моделей ARX. Этот объект отображения, который также упоминается как nonlinearity, включает RegressionGP (Statistics and Machine Learning Toolbox) возражает, что функция отображения создает использование Statistics and Machine Learning Toolbox™. Объект отображения содержит три компонента: линейный компонент, который использует комбинацию линейных весов, смещения и нелинейного компонента.

Diagram of an idGaussianProcess object, with an offset, nonlinear function, and linear function contributing to an output.

Математически, idGaussianProcess функция, которая сопоставляет входные параметры m X (t) = [x (t 1), x 2 (t), …, xm (t)]T к скалярному выходу y (t) с помощью следующего отношения:

y(t)=y0+(Χ(t)X¯)TPL+G(Χ(t),θ))

Здесь,

  • X (t) является m-by-1 вектор из входных параметров или regressors, со средним значением Χ¯.

  • y0 является выходным смещением, скаляром.

  • P является m-by-p матрица проекции, где m является количеством регрессоров, и p является количеством линейных весов. m должен быть больше или быть равен p.

  • L является p-by-1 вектор из весов.

  • G (X, θ) является регрессивным Гауссовым процессом, который составляет нелинейный компонент idGaussianProcess объект. G имеет среднее значение нуля и ковариации, которую пользователь задает путем выбора ядра и может обычно описываться как

    G(X)=GP(0,K(Xtest,Xtrain,θ))

Гауссов процесс G может быть задан более точно как ожидаемое значение тестового воздействия для данного значения θ. В этом случае отношение становится:

G(X)=K(Xtest,Xtrain)[K(Xtrain,Xtrain)+σn2I]1Ytrain

Здесь:

  • K (Xtest, Xtrain) является функцией ядра ковариации.

  • Xtrain является матрицей, представляющей набор учебных входных параметров.

  • Xtest является матрицей, представляющей набор тестовых воздействий.

  • Ytrain является вектором из выходных параметров от набора обучающих данных.

  • σn является стандартным отклонением аддитивного шума измерения.

Для получения дополнительной информации о создании Гауссовых моделей регрессии процесса, смотрите fitrgp (Statistics and Machine Learning Toolbox).

Используйте idGaussianProcess как значение OutputFcn свойство idnlarx модель. Например, задайте idGaussianProcess когда вы оцениваете idnlarx модель со следующей командой.

sys = nlarx(data,regressors,idGaussianProcess)
Когда nlarx оценивает модель, она по существу оценивает параметры idGaussianProcess функция.

Можно сконфигурировать idGaussianProcess функция, чтобы отключить компоненты и зафиксировать параметры. Не использовать линейный набор компонента LinearFcn.Use к false. Чтобы не использовать смещение, установите Offset.Use к false. Чтобы задать известные значения для линейной функции и смещения, установите их Value атрибуты непосредственно и набор соответствующий Free атрибуты к False. Чтобы изменить опции оценки, установите свойство опции в EstimationOptions. Например, чтобы изменить подходящий метод в 'exact', используйте G.EstimationOptions.FitMethod = 'exact'Использование evaluate вычислить выход функции для данного вектора из входных параметров.

Создание

Описание

G = idGaussianProcess создает idGaussianProcess объект G с ядром функционируют 'SquaredExponential' и параметры ядра по умолчанию. Количество входных параметров определяется во время оценки модели, и количество выходных параметров равняется 1.

пример

G = idGaussianProcess(kernel) задает определенное ядро.

G = idGaussianProcess(kernel,kernelParameters) инициализирует параметры заданного ядра к значениям в kernelParameters.

G = idGaussianProcess(kernel,kernelParameters,UseLinearFcn) задает, использует ли функция линейную функцию в качестве субкомпонента.

G = idGaussianProcess(kernel,kernelParameters,UseLinearFcn,UseOffset) задает, использует ли функция термин смещения параметр y0.

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

развернуть все

Ковариация ядра функционирует в виде символьного массива или строки. Для получения информации об опциях смотрите Ядро (Ковариация) Функция в fitrgp (Statistics and Machine Learning Toolbox).

Этот аргумент устанавливает G.NonlinearFcn.KernelFunction свойство.

Начальные значения для параметров ядра в виде вектора. Размер вектора и значений зависит от выбора kernel. Для получения дополнительной информации смотрите Параметры Ядра в fitrgp (Statistics and Machine Learning Toolbox).

Этот аргумент устанавливает G.NonlinearFcn.Parameters свойство.

Опция, чтобы использовать субкомпонент линейной функции в виде true или false. Этот аргумент устанавливает значение G.LinearFcn.Use свойство.

Опция, чтобы использовать термин смещения в виде true или false. Этот аргумент устанавливает значение G.Offset.Use свойство.

Свойства

развернуть все

Информация о входном сигнале для сигналов использовала для оценки в виде векторов из m специфичные для свойства значения, где m является количеством входных сигналов. Input свойства для каждого входного сигнала следующие:

  • Name — Имена входных сигналов в виде 1 строкой m или символьным массивом, где m является количеством входных параметров

  • Mean — Среднее значение входных сигналов в виде числового скаляра

  • Range — Области значений входных сигналов в виде 2 m числовым массивом, который содержит минимальные и максимальные значения

Информация о выходном сигнале в виде специфичных для свойства значений. Output свойства следующие:

  • Name — Имя выходного сигнала в виде строки или символьного массива

  • Mean — Среднее значение выходного сигнала в виде числового скаляра

  • Range — Область значений выходного сигнала в виде 2 1 числового массива, который содержит минимальные и максимальные значения

Параметры линейной функции в виде следуют:

  • Use — Опция, чтобы использовать линейную функцию в idGaussianProduct модель в виде логического скаляра. Значением по умолчанию является true.

  • Value — Линейные веса, которые составляют L' в виде 1 p вектором.

  • InputProjection — Введите матрицу проекции P в виде m-by-p матрица, которая преобразовывает детрендированный входной вектор длины m в вектор из длины p.

  • Free — Опция, чтобы обновить записи Value во время оценки в виде 1 p логическим вектором. Программное обеспечение соблюдает Free спецификация, только если начальное значение Value isfinite. Значением по умолчанию является true.

  • Minimum — Минимум привязал ValueВ виде 1 p вектором. Если Minimum задан с конечным значением и начальным значением Value конечно, затем программное обеспечение осуществляет тот минимум, связанный во время оценки модели.

  • Maximum — Максимум привязал ValueВ виде 1 p вектором. Если Maximum задан с конечным значением и начальным значением Value конечно, затем программное обеспечение осуществляет тот максимум, связанный во время оценки модели.

  • SelectedInputIndex — Индексы idGaussianProcess входные параметры (см. Input.Name) это используется в качестве входных параметров к линейной функции в виде 1 nr целочисленным вектором, где nr является количеством входных параметров. Для нелинейных моделей ARX, RegressorUsage свойство определяет эти индексы..

Параметры термина смещения в виде следуют:

  • Use — Опция, чтобы использовать смещение в idGaussianProcess модель в виде логического скаляра. Значением по умолчанию является true.

  • Value — Возместите значение в виде скаляра.

  • Free — Опция, чтобы обновить Value во время оценки в виде логического скаляра. Программное обеспечение соблюдает Free спецификация false только если значение Value isfinite. Значением по умолчанию является true.

  • Minimum — Минимум привязал ValueВ виде числового скаляра или –Inf. Если Minimum задан с конечным значением и значением Value конечно, затем программное обеспечение осуществляет тот минимум, связанный во время оценки модели. Значением по умолчанию является -Inf.

  • Maximum — Максимум привязал ValueВ виде числового скаляра или Inf. Если Maximum задан с конечным значением и начальным значением Value конечно, затем программное обеспечение осуществляет тот максимум, связанный во время оценки модели. Значением по умолчанию является Inf.

Параметры нелинейной функции в виде следуют:

  • KernelFunction — Ядро ковариации ядра функционирует в виде одного из значений, перечисленных в kernel описание аргумента. Для получения дополнительной информации об этих опциях, смотрите Ядро (Ковариация) Функция в fitrgp (Statistics and Machine Learning Toolbox).

  • Parameters — Параметры idGaussianProcess функция ядра в виде вектора. Размер вектора и значений зависит от выбора KernelFunction. Для получения дополнительной информации смотрите Параметры Ядра в fitrgp (Statistics and Machine Learning Toolbox).

  • Free — Опция, чтобы оценить параметры в виде логического скаляра. Если все параметры имеют конечные значения, такой как тогда, когда idGaussianProcess объект соответствует ранее предполагаемой модели, затем установка Free к false заставляет параметры нелинейного функционального S (X) оставаться неизменными во время оценки. Значением по умолчанию является true.

  • SelectedInputIndex — Индексы idGaussianProcess входные параметры (см. Input.Name) это используется в качестве входных параметров к нелинейной функции в виде 1 nr целочисленным вектором, где nr является количеством входных параметров. Для нелинейных моделей ARX, RegressorUsage свойство определяет эти индексы.

Опции оценки для нелинейного блока idGaussianProcess модель в виде следует. Для получения дополнительной информации о любой из этих опций смотрите fitrgp (Statistics and Machine Learning Toolbox).

  • FitMethod — Метод, чтобы использовать для оценки параметров idGaussianProcess нелинейная модель в виде одного из элементов в следующей таблице.

    Опция Описание
    'auto'

    Программное обеспечение выбирает метод, автоматически (по умолчанию)

    'exact'

    Точная Гауссова регрессия процесса

    'sd'

    Подмножество приближения точек данных

    'sr'

    Подмножество приближения регрессоров

    'fic'

    Полностью независимое условное приближение

  • ActiveSetMethod — Активный метод выбора набора в виде одного из элементов в следующей таблице.

    Опция Описание
    'random'

    Случайный выбор (значение по умолчанию)

    'sgma'

    Разреженное жадное матричное приближение

    'entropy'Дифференциальный основанный на энтропии выбор
    'likelihood'

    Подмножество регрессоров регистрирует основанный на вероятности выбор

  • SparseFitRegularization — Стандартное отклонение регуляризации для разреженного подмножества методов регрессоров ('sr') и полностью независимое условное приближение ('fic') в виде значения положительной скалярной величины.

  • Optimizer — Оптимизатор, чтобы использовать для оценки параметра в виде одного из элементов в следующей таблице.

    Опция Описание
    'quasinewton'Плотный, симметричный rank-1-based, приближение квазиньютона к Гессиану (значение по умолчанию)
    'lbfgs'Основанное на LBFGS приближение квазиньютона к Гессиану
    'fminsearch'Неограниченная нелинейная оптимизация с помощью симплексного метода поиска Lagarias и др. [видит fitrgp (Statistics and Machine Learning Toolbox)]
    'fminunc'Неограниченная нелинейная оптимизация (требует лицензии Optimization Toolbox™),
    'fmincon'Ограниченная нелинейная оптимизация (требует лицензии Optimization Toolbox),
  • OptimizerOptions — Опции для оптимизатора в виде структуры или объекта. Когда Optimizer установлен или изменен, программное обеспечение автоматически обновляет значение OptimizerOptions совпадать со значениями по умолчанию для соответствующего оптимизатора. Используйте свойства OptimizerOptions набор опции, чтобы изменить значения от их значений по умолчанию.

Примеры

свернуть все

Загрузите данные о вводе/выводе из twotankdata и создайте iddata объект z.

load twotankdata u y
z = iddata(y,u,0.8,'timeunit','hours');

Создайте idGaussianProduct отображение объекта g это использует ядро Matern параметром 3/2.

g = idGaussianProcess('Matern32');

Оцените нелинейную модель ARX, которая использует g как выходная функция.

sys = nlarx(z,[4 4 1],g)
sys = 
Nonlinear ARX model with 1 output and 1 input
  Inputs: u1
  Outputs: y1

Regressors:
  Linear regressors in variables y1, u1
  List of all regressors

Output function: Gaussian process function using a Matern32 kernel.
Sample time: 0.8 hours

Status:                                          
Estimated using NLARX on time domain data "z".   
Fit to estimation data: 97.08% (prediction focus)
FPE: 2.945e-05, MSE: 2.92e-05

Отобразите свойства постоценки g.

disp(sys.OutputFcn.Input)
Function inputs

     Name: {1x8 cell}
     Mean: [0.2700 0.2699 0.2697 0.2696 6.4286 6.4286 6.4286 6.4286]
    Range: [2x8 double]
disp(sys.outputFcn.Offset)
Output Offset: initialized to 0.27
      Use: 1
    Value: 0.2702
     Free: 1
disp(sys.outputFcn.NonlinearFcn)
GP kernel and its parameters

        KernelFunction: 'Matern32'
            Parameters: '<Kernel parameters>'
                  Free: 1
    SelectedInputIndex: [1 2 3 4 5 6 7 8]

Сравните выход sys с измеренным выходом z.

compare(z,sys)

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent z (y1), sys: 92.49%.

Нелинейная модель показывает хорошую подгонку к данным об оценке.

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

| (Statistics and Machine Learning Toolbox) | (Statistics and Machine Learning Toolbox) | | | | | | | |

Темы

Введенный в R2021b