Выберите функцию регрессии

Регрессия является процессом подходящих моделей к данным. Модели должны иметь числовые ответы. Для моделей с категориальными ответами смотрите Параметрическую Классификацию или Контролируемое Изучение Рабочего процесса и Алгоритмов. Процесс регрессии зависит от модели. Если модель является параметрической, регрессия оценивает параметры от данных. Если модель линейна в параметрах, оценка основана на методах от линейной алгебры, которые минимизируют норму вектора невязок. Если модель нелинейна в параметрах, оценка основана на методах поиска от оптимизации, которые минимизируют норму вектора невязок.

Эта таблица описывает который функция использовать в зависимости от типа проблемы регрессии.

Компоненты моделиРезультат регрессииФункция, чтобы использовать
Непрерывные или категориальные предикторы, непрерывный ответ, линейная модельКоэффициенты подобранной моделиfitlm. Смотрите линейную регрессию.
Непрерывные или категориальные предикторы, непрерывный ответ, линейная модель неизвестной сложностиПодобранная модель и адаптированные коэффициентыstepwiselm. Смотрите пошаговую регрессию.
Непрерывные или категориальные предикторы, ответ возможно с ограничениями такой как неотрицательные или с целочисленным знаком, обобщили линейную модельАдаптированный обобщил линейные коэффициенты моделиfitglm или stepwiseglm. См. обобщенные линейные модели.
Непрерывные предикторы с непрерывным нелинейным ответом, параметризованной нелинейной модельюПодходящие нелинейные коэффициенты моделиfitnlm. Смотрите нелинейную регрессию.
Непрерывные предикторы, непрерывный ответ, линейная модельНабор моделей от гребня, лассо или эластичной сетевой регрессииlasso или ridge. Смотрите лассо и эластичную сетевую или гребенчатую регрессию.
Коррелированые непрерывные предикторы, непрерывный ответ, линейная модельПодобранная модель и адаптированные коэффициентыplsregress. Смотрите частичные наименьшие квадраты.
Непрерывные или категориальные предикторы, непрерывный ответ, неизвестная модельНепараметрическая модельfitrtree или fitrensemble.
Категориальные предикторы толькоАНОВАanova, anova1, anova2, anovan.
Непрерывные предикторы, многомерный ответ, линейная модельПодходящие многомерные коэффициенты модели регрессииmvregress
Непрерывные предикторы, непрерывный ответ, модель смешанных эффектовПодходящие коэффициенты модели смешанных эффектовnlmefit или nlmefitsa. См. модели Смешанных Эффектов.

Обновите унаследованный код с новыми подходящими методами

Существует несколько функций Statistics and Machine Learning Toolbox™ для выполнения регрессии. Следующие разделы описывают, как заменить вызовы более старых функций к новым версиям:

регрессируйте в fitlm

Предыдущий синтаксис:

[b,bint,r,rint,stats] = regress(y,X)

где X содержит столбец из единиц.

Текущий синтаксис:

mdl = fitlm(X,y)

где вы не добавляете столбец из единиц к X.

Эквивалентные стоимости предыдущих выходных параметров:

  • b mdl.Coefficients.Estimate

  • bintcoefCI (mdl)

  • r mdl.Residuals.Raw

  • rint — Нет никакого точного эквивалента. Попытайтесь исследовать mdl.Residuals.Studentized, чтобы найти выбросы.

  • статистика mdl содержит различные свойства, которые заменяют компоненты stats.

regstats в fitlm

Предыдущий синтаксис:

stats = regstats(y,X,model,whichstats)

Текущий синтаксис:

mdl = fitlm(X,y,model)

Получите статистику из свойств и методов mdl. Например, смотрите свойства mdl.Diagnostics и mdl.Residuals.

robustfit в fitlm

Предыдущий синтаксис:

[b,stats] = robustfit(X,y,wfun,tune,const)

Текущий синтаксис:

mdl = fitlm(X,y,'robust','on') % bisquare

Или использовать вес wfun и настраивающий параметр tune:

opt.RobustWgtFun = 'wfun';
opt.Tune = tune; % optional
mdl = fitlm(X,y,'robust',opt)

Получите статистику из свойств и методов mdl. Например, смотрите свойства mdl.Diagnostics и mdl.Residuals.

stepwisefit в stepwiselm

Предыдущий синтаксис:

[b,se,pval,inmodel,stats,nextstep,history] = stepwisefit(X,y,Name,Value)

Текущий синтаксис:

mdl = stepwiselm(ds,modelspec,Name,Value)

или

mdl = stepwiselm(X,y,modelspec,Name,Value)

Получите статистику из свойств и методов mdl. Например, смотрите свойства mdl.Diagnostics и mdl.Residuals.

glmfit в fitglm

Предыдущий синтаксис:

[b,dev,stats] = glmfit(X,y,distr,param1,val1,...)

Текущий синтаксис:

mdl = fitglm(X,y,distr,...)

Получите статистику из свойств и методов mdl. Например, отклонением является mdl.Deviance, и сравнить mdl с постоянной моделью, использовать devianceTest (mdl).

nlinfit в fitnlm

Предыдущий синтаксис:

[beta,r,J,COVB,mse] = nlinfit(X,y,fun,beta0,options)

Текущий синтаксис:

mdl = fitnlm(X,y,fun,beta0,'Options',options)

Эквивалентные стоимости предыдущих выходных параметров:

  • \beta mdl.Coefficients.Estimate

  • r mdl.Residuals.Raw

  • covbmdl.CoefficientCovariance

  • msemdl.mse

mdl не предоставляет якобиевскому (J) вывод. Основная цель J должна была передать его в nlparci или nlpredci, чтобы получить доверительные интервалы для предполагаемых коэффициентов (параметры) или прогнозы. Получите те доверительные интервалы как:

parci = coefCI(mdl)
[pred,predci] = predict(mdl)