Main Content

回帰関数の選択

回帰は、モデルをデータに当てはめる過程です。モデルには数値応答がなければなりません。カテゴリカル応答をもつモデルについては、パラメトリックな分類または教師あり学習のワークフローとアルゴリズムを参照してください。回帰プロセスはモデルに依存します。モデルがパラメトリックである場合、回帰はデータからパラメーターを推定します。モデルのパラメーターが線形である場合、推定は線形代数の方法に基づきます。これは残差のベクトルのノルムを最小化します。モデルのパラメーターが非線形である場合、推定は最適化から検索方法に基づきます。これは残差のベクトルのノルムを最小化します。

回帰問題のタイプに基づいて使用する関数を、次の表で説明します。

モデル コンポーネント回帰の結果使用する関数
連続予測子またはカテゴリカル予測子、連続応答、線形モデルモデル近似係数fitlm.線形回帰を参照してください。
連続予測子またはカテゴリカル予測子、連続応答、複雑度の不明な線形モデル近似モデルと近似係数stepwiselm.ステップワイズ回帰を参照してください。
連続予測子またはカテゴリカル予測子、非負または整数値の一般化線形モデルのように制限がある応答一般化線形モデル近似係数fitglm または stepwiseglm一般化線形モデルを参照してください。
連続する非線形応答をもつ連続予測子、パラメトリック化された非線形モデル非線形モデル近似係数fitnlm.非線形回帰を参照してください。
連続予測子、連続応答、線形モデルリッジ、LASSO または Elastic Net 回帰のモデル集合lasso または ridgeLASSO および Elastic Netまたはリッジ回帰を参照してください。
相関性のある連続予測子、連続応答、線形モデル近似モデルと近似係数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 には値が 1 の列が含まれます。

現在の構文:

mdl = fitlm(X,y)

この X に値が 1 の列を追加しません。

以前の出力と同等の値:

  • bmdl.Coefficients.Estimate

  • bintcoefCI(mdl)

  • rmdl.Residuals.Raw

  • rint — 厳密に等価なものはありません。mdl.Residuals.Studentized を調べて、外れ値の検索を試してください。

  • statsmdlstats の成分を置き換えるさまざまなプロパティを含みます。

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

また、重み関数 wfuntune 調整パラメーターを使用するには次の手順に従います。

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)