Регрессия - это процесс подбора моделей к данным. Модели должны иметь числовые отклики. Для моделей с категориальными откликами см. 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)