回帰関数の選択
回帰は、モデルをデータに当てはめる過程です。モデルには数値応答がなければなりません。カテゴリカル応答をもつモデルについては、パラメトリックな分類または教師あり学習のワークフローとアルゴリズムを参照してください。回帰プロセスはモデルに依存します。モデルがパラメトリックである場合、回帰はデータからパラメーターを推定します。モデルのパラメーターが線形である場合、推定は線形代数の方法に基づきます。これは残差のベクトルのノルムを最小化します。モデルのパラメーターが非線形である場合、推定は最適化から検索方法に基づきます。これは残差のベクトルのノルムを最小化します。
回帰問題のタイプに基づいて使用する関数を、次の表で説明します。
モデル コンポーネント | 回帰の結果 | 使用する関数 |
---|---|---|
連続予測子またはカテゴリカル予測子、連続応答、線形モデル | モデル近似係数 | fitlm .線形回帰を参照してください。 |
連続予測子またはカテゴリカル予測子、連続応答、複雑度の不明な線形モデル | 近似モデルと近似係数 | stepwiselm .ステップワイズ回帰を参照してください。 |
連続予測子またはカテゴリカル予測子、非負または整数値の一般化線形モデルのように制限がある応答 | 一般化線形モデル近似係数 | fitglm または stepwiseglm 。一般化線形モデルを参照してください。 |
連続する非線形応答をもつ連続予測子、パラメトリック化された非線形モデル | 非線形モデル近似係数 | fitnlm .非線形回帰を参照してください。 |
連続予測子、連続応答、線形モデル | リッジ、LASSO または Elastic Net 回帰のモデル集合 | lasso または ridge 。LASSO および 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 の列を追加しません。
以前の出力と同等の値:
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)