predict

Предскажите ответ Гауссовой модели регрессии процесса

Синтаксис

ypred = predict(gprMdl,Xnew)
[ypred,ysd] = predict(gprMdl,Xnew)
[ypred,ysd,yint] = predict(gprMdl,Xnew)
[ypred,ysd,yint] = predict(gprMdl,Xnew,Name,Value)

Описание

ypred = predict(gprMdl,Xnew) возвращает предсказанные ответы ypred для полной или компактной модели Gaussian process regression (GPR), gprMdl, и значения предиктора в Xnew.

[ypred,ysd] = predict(gprMdl,Xnew) также возвращает предполагаемые стандартные отклонения для новых ответов в значениях предиктора в Xnew из обученной модели GPR.

[ypred,ysd,yint] = predict(gprMdl,Xnew) также возвращает 95% интервалов предсказания, yint, для истинных ответов, соответствующих каждой строке Xnew.

[ypred,ysd,yint] = predict(gprMdl,Xnew,Name,Value) также возвращает интервалы предсказания с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Например, можно задать доверительный уровень интервала предсказания.

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

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

Гауссова модель регрессии процесса в виде RegressionGP (полный) или CompactRegressionGP (компактный) объект.

Новые значения для предикторов это fitrgp использование в обучении модель GPR в виде table или m-by-d матрица. m является количеством наблюдений, и d является количеством переменных предикторов в обучающих данных.

Если вы обучили gprMdl на table, затем Xnew должен быть table это содержит все переменные предикторы, используемые, чтобы обучить gprMdl.

Если вы обучили gprMdl на матрице, затем Xnew должна быть числовая матрица со столбцами d.

Типы данных: single | double | table

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

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

Уровень значения для интервалов предсказания в виде разделенной запятой пары, состоящей из 'Alpha' и скалярное значение в диапазоне от 0 до 1.

Пример: 'Alpha',0.01 задает 99% интервалов предсказания.

Типы данных: single | double

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

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

Предсказанные значения отклика, возвращенные как n-by-1 вектор.

Предполагаемое стандартное отклонение новых значений отклика, возвращенных как n-by-1 вектор, где ysd(i), i = 1, 2..., n, содержит предполагаемое стандартное отклонение нового ответа, соответствующего значениям предиктора в i th строка Xnew из обученной модели GPR.

Интервалы предсказания для истинных значений отклика, соответствующих каждой строке Xnew, возвращенный как n-by-2 матрица. Первый столбец yint содержит нижние пределы, и второй столбец содержит верхние пределы интервалов предсказания.

Примеры

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

Сгенерируйте выборочные данные.

n = 10000;
rng(1) % For reproducibility
x = linspace(0.5,2.5,n)';
y = sin(10*pi.*x) ./ (2.*x)+(x-1).^4 + 1.5*rand(n,1);

Подбирайте модель GPR с помощью Matern 3/2 функция ядра с отдельной шкалой расстояний для каждого предиктора и активного размера набора 100. Используйте подмножество метода приближения регрессоров для оценки параметра и полностью независимого условного метода для предсказания.

gprMdl = fitrgp(x,y,'KernelFunction','ardmatern32',...
'ActiveSetSize',100,'FitMethod','sr','PredictMethod','fic');

Вычислите предсказания.

[ypred,~,yci] = predict(gprMdl,x);

Отобразите данные на графике наряду с интервалами предсказания и предсказаниями.

plot(x,y,'r.');
hold on
plot(x,ypred);
plot(x,yci(:,1),'k--');
plot(x,yci(:,2),'k--');
xlabel('x');
ylabel('y');

Загрузите выборочные данные и хранилище в table.

load fisheriris
tbl = table(meas(:,1),meas(:,2),meas(:,3),meas(:,4),species,...
'VariableNames',{'meas1','meas2','meas3','meas4','species'});

Подбирайте модель GPR с помощью первого измерения в качестве ответа и других переменных как предикторы.

mdl = fitrgp(tbl,'meas1');

Вычислите предсказания и 99% доверительных интервалов.

[ypred,~,yci] = predict(mdl,tbl,'Alpha',0.01);

Постройте истинный ответ и предсказания наряду с интервалами предсказания.

figure();
plot(mdl.Y,'r.');
hold on;
plot(ypred);
plot(yci(:,1),'k:');
plot(yci(:,2),'k:');
legend('True response','GPR predictions',...
'Lower prediction limit','Upper prediction limit',...
'Location','Best');

Загрузите выборочные данные.

load('gprdata.mat');

Данные содержат обучение и тестовые данные. Существует 500 наблюдений в обучающих данных и 100 наблюдений в тестовых данных. Данные имеют 8 переменных предикторов. Это - симулированные данные.

Подбирайте модель GPR с помощью экспоненциальной функции ядра в квадрате с отдельной шкалой расстояний для каждого предиктора. Стандартизируйте предикторы в обучающих данных. Используйте точный подбор кривой и методы предсказания.

gprMdl = fitrgp(Xtrain,ytrain,'Basis','constant',...
'FitMethod','exact','PredictMethod','exact',...
'KernelFunction','ardsquaredexponential','Standardize',1);

Предскажите ответы для тестовых данных.

[ytestpred,~,ytestci] = predict(gprMdl,Xtest);

Постройте тестовый ответ наряду с предсказаниями.

figure;
plot(ytest,'r');
hold on;
plot(ytestpred,'b');
plot(ytestci(:,1),'k:');
plot(ytestci(:,2),'k:');
legend('Actual response','GPR predictions',...
'95% lower','95% upper','Location','Best');
hold off

Советы

  • Можно выбрать метод предсказания в то время как обучение модель GPR с помощью PredictMethod аргумент пары "имя-значение" в fitrgp. Методом предсказания по умолчанию является 'exact' для n ≤ 10000, где n является количеством наблюдений в обучающих данных и 'bcd' (блокируйте координатный спуск), в противном случае.

  • Расчет стандартных отклонений, ysd, и интервалы предсказания, yint, не поддерживается когда PredictMethod 'bcd'.

  • Если gprMdl CompactRegressionGP объект, вы не можете вычислить стандартные отклонения, ysd, или интервалы предсказания, yint, для PredictMethod равняйтесь 'sr' или 'fic'. Вычислить ysd и yint для PredictMethod равняйтесь 'sr' или 'fic', используйте полную регрессию (RegressionGPобъект.

Альтернативы

Можно использовать resubPredict вычислить предсказанные ответы для обученной модели GPR при наблюдениях в обучающих данных.

Расширенные возможности

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

| | | | |

Введенный в R2015b