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

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

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

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

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

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

regress в fitlm

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

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

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

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

mdl = fitlm(X,y)

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

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

  • bmdl.Coefficients.Estimate

  • bintcoefCI(mdl)

  • rmdl.Residuals.Raw

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

  • statsmdl содержит различные свойства, которые заменяют компоненты 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)

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

  • betamdl.Coefficients.Estimate

  • rmdl.Residuals.Raw

  • covbmdl.CoefficientCovariance

  • msemdl.mse

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

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