Регрессия - это процесс подбора моделей к данным. Модели должны иметь числовые отклики. Для моделей с категориальными откликами см. Parametric Classification или Supervised Learning Workflow и Алгоритмы. Процесс регрессии зависит от модели. Если модель параметрическая, регрессия оценивает параметры из данных. Если модель линейна в параметрах, оценка основана на методах из линейной алгебры, которые минимизируют норму невязки вектора. Если модель нелинейна в параметрах, оценка основана на методах поиска от оптимизации, которые минимизируют норму невязки вектора.
Эта таблица описывает, какую функцию использовать в зависимости от типа задачи регрессии.
Моделируйте компоненты | Результат регрессии | Функция для использования |
---|---|---|
Непрерывные или категориальные предикторы, непрерывная реакция, линейная модель | Подобранные модели | 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
.
Эквивалентные значения предыдущих выходов:
b
— mdl.Coefficients.Estimate
bint
— coefCI
(mdl)
r
— mdl.Residuals.Raw
rint
- Точного эквивалента нет. Попробуйте изучить mdl.Residuals.Studentized
найти выбросы.
stats
— mdl
содержит различные свойства, которые заменяют компоненты 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)
Эквивалентные значения предыдущих выходов:
beta
— mdl.Coefficients.Estimate
r
— mdl.Residuals.Raw
covb
— mdl.CoefficientCovariance
mse
— mdl.mse
mdl
не обеспечивает якобиан (J
) выход. Основная цель J
должен был передать его в nlparci
или nlpredci
для получения доверительных интервалов для оцененных коэффициентов (параметров) или предсказаний. Получите эти доверительные интервалы как:
parci = coefCI(mdl) [pred,predci] = predict(mdl)