feval

Оцените обобщенный прогноз модели линейной регрессии

Синтаксис

ypred = feval(mdl,Xnew1,Xnew2,...,Xnewn)

Описание

ypred = feval(mdl,Xnew1,Xnew2,...,Xnewn) возвращает предсказанный ответ mdl к входу [Xnew1,Xnew_2,...,Xnewn].

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

mdl

Обобщенная линейная модель, заданная как полный объект GeneralizedLinearModel, созданный с помощью fitglm или stepwiseglm или уплотненного объекта CompactGeneralizedLinearModel, созданного с помощью compact.

Xnew1,Xnew2,...,Xnewn

Компоненты предиктора. Xnewi может быть одним из:

  • Скаляр

  • Вектор

  • Массив

Каждый нескалярный компонент должен иметь тот же размер (число элементов в каждой размерности).

Если вы передаете всего один массив Xnew, Xnew может быть таблицей, массивом набора данных, или массив удваивается, где каждый столбец массива представляет один предиктор.

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

ypred

Предсказанные средние значения в Xnew. ypred одного размера как каждый компонент Xnew.

Для биномиальных моделей feval использует 1 в качестве параметра BinomialSize, таким образом, ypred является предсказанными вероятностями.

Для моделей со смещением feval использует 0 в качестве значения смещения.

Примеры

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

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

Сгенерируйте искусственные данные для модели, случайных чисел Пуассона с двумя базовыми предикторами X(1) и X(2).

rng('default') % for reproducibility
rndvars = randn(100,2);
X = [2+rndvars(:,1),rndvars(:,2)];
mu = exp(1 + X*[1;2]);
y = poissrnd(mu);

Создайте обобщенную модель линейной регрессии данных Пуассона.

mdl = fitglm(X,y,'y ~ x1 + x2','distr','poisson');

Сгенерируйте область значений значений для X(1) и X(2), и постройте образцовые прогнозы в тех значениях.

[Xtest1 Xtest2] = meshgrid(-1:.5:3,-2:.5:2);
Z = feval(mdl,Xtest1,Xtest2);
surf(Xtest1,Xtest2,Z)

Советы

  • feval позволяет вам легко оценивать прогнозы модели, когда модель была адаптирована с помощью массива набора данных или таблицы. predict требует таблицы или массива набора данных с теми же именами предиктора, но можно использовать простые массивы скаляров с feval.

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

predict дает те же прогнозы, но использует один входной массив с одним наблюдением в каждой строке, а не одним компонентом в каждом входном параметре.

random предсказывает с добавленным шумом.