predict

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

Синтаксис

ypred = predict(gprMdl,Xnew)
[ypred,ysd,yint] = predict(gprMdl,Xnew)
[ypred,ysd,yint] = predict(gprMdl,Xnew,'Alpha',alpha)

Описание

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

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

[ypred,ysd,yint] = predict(gprMdl,Xnew,'Alpha',alpha) задает уровень значения для доверительного уровня интервалов предсказания yint. Доверительный уровень yint равно   100(1 – Alpha)%.

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

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

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

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

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

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

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

Уровень значения для доверительного уровня интервалов предсказания yintВ виде числового скаляра в области значений [0,1]. Доверительный уровень yint равно   100(1 – Alpha)%.

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

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

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

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

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

Стандартные отклонения переменной отклика, оцененной при каждом наблюдении в данных о предикторе Xnew, возвращенный как вектор-столбец длины n, где n является количеством наблюдений в Xnew. iэлемент th ysd(i) содержит стандартное отклонение iответ th для iнаблюдение th Xnewi, предполагаемое использование обученной модели GPR gprMdl.

Интервалы предсказания переменной отклика, оцененной при каждом наблюдении в данных о предикторе Xnew, возвращенный как n-by-2 матрица, где n является количеством наблюдений в Xnew. iстрока th yint(i,:) содержит 100 (1 – Alpha)% интервал предсказания iответ th для iнаблюдение th Xnewi. Alpha значение является вероятностью, что интервал предсказания не содержит истинное значение отклика для Xnewi. Первый столбец 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,'b-')
plot(x,yci(:,1),'k--')
plot(x,yci(:,2),'k--')
xlabel('x')
ylabel('y')
legend('True responses','GPR predictions', ...
    'Prediction interval limits','Location','best')

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent True responses, GPR predictions, Prediction interval limits.

Загрузите выборочные данные и хранилище в 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');

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent True response, GPR predictions, Lower prediction limit, Upper prediction limit.

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

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

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Actual response, GPR predictions, 95% lower, 95% upper.

Советы

  • Можно выбрать метод предсказания в то время как обучение модель 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