feval

Спрогнозируйте отклики обобщенной линейной регрессионой модели, используя один вход для каждого предиктора

Описание

пример

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

Примеры

свернуть все

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

Сгенерируйте выборочные данные с помощью случайных чисел Пуассона с двумя базовыми предикторами 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','Distribution','poisson');

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

[Xtest1,Xtest2] = meshgrid(min(X(:,1)):.5:max(X(:,1)),min(X(:,2)):.5:max(X(:,2)));
Z = feval(mdl,Xtest1,Xtest2);
surf(Xtest1,Xtest2,Z)

Figure contains an axes. The axes contains an object of type surface.

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

свернуть все

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

Новые значения предиктора, заданные как вектор, матрица, таблица или массив набора данных.

  • Если вы передаете несколько входов Xnew1,Xnew2,...,Xnewn и каждый включает наблюдения для одной переменной предиктора, тогда каждый вход должен быть вектором. Каждый вектор должен иметь одинаковый размер. Если вы задаете переменную предиктора в качестве скаляра, то feval расширяет скалярный аргумент в постоянный вектор того же размера, что и другие аргументы.

  • Если вы передаете один вход Xnew1, затем Xnew1 должна быть таблицей, массивом набора данных или матрицей.

    • Если Xnew1 является таблицей или массивом набора данных, он должен содержать предикторы, которые имеют те же имена предикторов, что и в PredictorNames свойство mdl.

    • Если Xnew1 является матрицей, она должна иметь такое же количество переменных (столбцов) в том же порядке, как вход, используемый для создания mdl. Обратите внимание, что Xnew1 должны также содержать любые переменные предиктора, которые не используются в качестве предикторов в подобранную модель. Кроме того, все переменные, используемые при создании mdl должен быть числовым. Чтобы рассматривать числовые предикторы как категориальные, идентифицируйте предикторы, используя 'CategoricalVars' аргумент пары "имя-значение" при создании mdl.

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

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

свернуть все

Предсказанные значения отклика в Xnew1,Xnew2,...,Xnewn, возвращенный как числовой вектор.

Для биномиальной модели, feval использует 1 в качестве BinomialSize параметр, поэтому значения в ypred предсказаны вероятности. Чтобы вернуть количество успехов в испытаниях, используйте predict функция и укажите количество испытаний при помощи 'BinomialSize' аргумент пары "имя-значение".

Для модели со смещением, feval использует 0 в качестве значения смещения. Чтобы задать значение смещения, используемое при подборе модели, используйте predict функции и 'Offset' аргумент пары "имя-значение".

Совет

  • Объект регрессии является, математически, функцией, которая оценивает связь между ответом и предикторами. feval функция позволяет объекту вести себя как функция в MATLAB®. Вы можете пройти feval к другой функции, которая принимает входной параметр функции, такой как fminsearch и integral.

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

Альтернативная функциональность

  • predict дает те же предсказания, что и feval если вы используете значения по умолчанию для 'Offset' и 'BinomialSize' Аргументы пары "имя-значение" из predict. Значения предсказания могут быть различными, если вы задаете другие значения для этих аргументов. predict функция также возвращает доверительные интервалы на своих предсказаниях. Обратите внимание, что predict функция принимает один входной параметр, содержащий все переменные предиктора, а не несколько входные параметры с одним входом для каждой переменной предиктора.

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

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

Введенный в R2012a