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 предсказывает с добавленным шумом.