exponenta event banner

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

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

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

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

Обновление устаревшего кода с помощью новых методов подгонки

Существует несколько функций 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)

Получение статистических данных из свойств и методов LinearModel объект (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)

Получение статистических данных из свойств и методов LinearModel объект (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)

Получение статистических данных из свойств и методов LinearModel объект (mdl). Например, см. mdl.Diagnostics и mdl.Residuals свойства.

glmfit в fitglm

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

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

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

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

Получение статистических данных из свойств и методов GeneralizedLinearModel объект (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)