feval

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

Описание

пример

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

Примеры

свернуть все

Подбор модели пробега к carsmall набор данных, включая Year категориальный предиктор. Наложите подобранные кривые на график поля точек данных.

Загрузите набор данных и подгоните модель.

load carsmall
tbl = table(MPG,Weight);
tbl.Year = categorical(Model_Year);
mdl = fitlm(tbl,'MPG ~ Year + Weight^2');

Создайте график поля точек MPG от Weight, сгруппированный по Year.

gscatter(tbl.Weight,tbl.MPG,tbl.Year);

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 70, 76, 82.

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

w = linspace(min(tbl.Weight),max(tbl.Weight))';
line(w,feval(mdl,w,'70'),'Color','r')
line(w,feval(mdl,w,'76'),'Color','g')
line(w,feval(mdl,w,'82'),'Color','b')

Figure contains an axes. The axes contains 6 objects of type line. These objects represent 70, 76, 82.

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

свернуть все

Объект модели линейной регрессии, заданный как LinearModel объект, созданный при помощи fitlm или stepwiselm, или CompactLinearModel объект, созданный при помощи compact.

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

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

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

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

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

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

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

свернуть все

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

Совет

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

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

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

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

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

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

Введенный в R2012a