主要内容

線形回帰

デ,タの準備

回帰の近似を開始するには,デ,タを近似関数に望ましい形式にします。すべての回帰手法は,配列Xの入力デ,タと独立したベクトルyの応答デ,タか,テ,ブルまたはデ,タセット配列资源描述内の入力デ,タと资源描述の列としての応答デ,タで始まります。入力デタの各行が,1の観測値を表します。各列が1の予測子(変数)。

テ,ブルまたはデ,タセット配列资源描述では,次のように“ResponseVar”の名前と値のペアで応答変数を示します。

MDL = fitlm(tbl,“ResponseVar”“血压”);

応答変数は既定で最後の列です。

数値の“カテゴリカル”予測子を使用できます。カテゴリカル予測子は可能性のある固定セットからの値をとります。

  • 数値配列Xでは,“分类”の名前と値のペアでカテゴリカル予測子を示します。たとえば,6の予測子から23.が分类であることを示すには,次のようにします。

    mdl = fitlm(X,y,“分类”[2、3]);%或同等金额mdl = fitlm(X,y,“分类”,逻辑([0 1 1 0 0 0]));
  • テ,ブルまたはデ,タセット配列资源描述では,近似関数はこれらのデ,タ型が分类であることを想定しています。

    • 逻辑ベクトル

    • 分类ベクトル

    • 文字配列

    • 字符串配列

    数値予測値が分类であることを示すには,“分类”名前と値のペアを使用します。

欠損数値デ,タはで表されています。他のデ,タ型用の欠損デ,タを表すには,グル,プ化変数の欠損値を参照してください。

入力と応答デ,タのデ,タセット配列

Excel®スプレッドシ,トから数値配列を作成するには,次のようにします。

Ds = dataset(“XLSFile”“hospital.xls”...“ReadObsNames”,真正的);

ワ,クスペ,ス変数からデ,タセット配列を作成するには,次のようにします。

负载carsmallds = dataset(MPG,Weight);ds。Year = categorical(Model_Year);

入力および応答デ,タのテ,ブル

Excelスプレッドシ,トからテ,ブルを作成するには,次のようにします。

可读的(“hospital.xls”...“ReadRowNames”,真正的);

ワ,クスペ,ス変数からテ,ブルを作成するには,次のようにします。

负载carsmalltbl = table(MPG,Weight);资源描述。Year = categorical(Model_Year);

入力デ,タの数値配列,応答の数値ベクトル

たとえば,ワ,クスペ,ス変数から数値配列を作成するには,次のようにします。

负载carsmallX =[重量马力气缸型号_year];y = MPG;

Excelスプレッドシ,トから数値配列を作成するには,次のようにします。

[X, Xnames] = xlsread(“hospital.xls”);y = X(:,4);%反应y是收缩压X(:,4) = [];%从X矩阵中移除y

などの数値以外のエントリはXには表示されません。

近似手法の選択

モデルをデタにあてはめるには,以下の3の方法があります。

最小二乗近似

fitlmを使用して,モデルのデ,タへの最小二乗近似を作成します。この方法は,モデルの型を十分に把握し,パラメタを見けることが主な目的である場合に最適です。いくかのモデルを試す場合にも便利です。最小二乗近似を使う場合、外れ値を破棄するためにデータを手動で調べなければなりませんが、このタスクに役立つ方法もあります (品質の調査とあてはめたモデルの調整を参照)。

ロバスト近似

外れ値にほとんど影響されないモデルを作成するには,fitlmRobustOpts名前と値のペアと併用します。ロバスト近似は,外れ値を手動で破棄する手間が省けます。ただし、ロバスト近似では一步が使えません。そのため,ロバスト近似を使用する場合,適正なモデルでステップワesc escズを検索できません。

ステップワ@ @ズ近似

モデルを検索し,パラメ,タ,をそのモデルに適合させるには,stepwiselmを使用します。stepwiselmは,定数などの1つのモデルから開始し,一度に1つずつ項を増減する貪欲法で,それ以上改良できなくなるまで,最適な項を毎回選択します。ステップワ▪▪ズ近似を使用して,有効な項のみを含む適正なモデルを見▪▪けます。

この結果は,開始モデルに依存します。通常,定数モデルで開始すると,小さいモデルになります。さらに多くの項で開始すると,複雑なモデルになりますが,平均二乗誤差はより小さくなります。大小のステップワ@ @ズモデルの比較を参照してください。

ロバストオプションはステップワ@ @ズ近似では使用できません。ステップワ@ @ズ近似の実行後に、モデルで外れ値を探してください (品質の調査とあてはめたモデルの調整を参照)。

単一モデルまたはモデル範囲の選択

線形回帰のモデルを指定する方法はいくかあります。最も便利だと思う方法を使用してください。

fitlmで指定するのは近似のモデルです。モデル仕様を指定しない場合の既定値は“线性”です。

stepwiselmでは,指定するモデルの仕様は,ステップワesc escズ手順で改善を試みる最初のモデルです。モデルの仕様を指定しない場合の既定の最初のモデルは“不变”で,既定の上限モデルは“互动”です。上限のモデルを変更するには,名前と値のペアを使用します。

メモ

関数套索lassoglmsequentialfsplsregressなどを使用するモデルの選択方法もあります。

省略名

名前 モデルタ@ @プ
“不变” モデルは定数(切片)項だけを含みます。
“线性” モデルは各予測子に対して切片と線形項を含みます。
“互动” モデルは,切片,線形項,異なる予測子のペアのすべての積(二乗項なし)を含みます。
“purequadratic” モデルは,切片,線形項,二乗項を含みます
“二次” モデルは,切片,線形項,交互作用,二乗項を含みます
“聚ijk モデルは多項式であり,最初の予測子は次数まで,2番目の予測子は次数jまで,3番目以降も同様です。0から9までの数値を使用します。たとえば,“poly2111”には,1个の定数のほかにすべての線形項と積項があり,また,予測子1个の二乗の項を含んでいます。

たとえば,行列予測子をもfitlmを使って交互作用モデルを指定するには,次のようにします。

mdl = fitlm(X,y,“互动”);

stepwiselmと予測子のテ,ブルまたはデ,タセット配列资源描述を使ってモデルを指定するには,1の定数から始め,線形モデル上限があると想定します。资源描述内の応答変数が3番目の列にあるとします。

Mdl2 = stepwism (tbl,“不变”...“上”“线性”“ResponseVar”3);

項の行列

項行列Tは,モデル内の項を指定するt行(p + 1)列の行列です。tは項の数、p は予測子変数の数であり、+1 は応答変数に相当します。T (i, j)の値は,項の変数jの指数です。

たとえば,3の予測子変数x1x2x3と応答変数yx1x2x3yという順序で入力に含まれていると仮定します。Tの各行は1の項を表します。

  • [0 0 0 0]-定数項(切片)

  • [0 1 0 0]- - - - - -x2X1 ^0 * x2^1 * x3^0と等価)

  • [1 0 10 0]- - - - - -x1 * x3

  • [2 0 0 0]- - - - - -x1 ^ 2

  • [0 1 2 0]- - - - - -x2 * (x3 ^ 2)

各項の最後の0は,応答変数を表します。一般に,項行列内のゼロの列ベクトルは,応答変数の位置を表します。行列と列ベクトルに予測子と応答変数がある場合,各行の最後の列に応答変数を示す0を含めなければなりません。

モデル仕様の式は,次のような形式の文字ベクトルまたは字符串スカラ,です。

y条款

  • yは応答名です。

  • 条款次が含まれます

    • 変数名

    • +次の変数を含みます

    • -次の変数を除外します

    • 項の積である交互作用を定義します

    • 交互作用とすべての次数の低い項を定義します

    • で繰り返されるとおり,は予測子をべき乗にし,は低い次数の項も含みます

    • ()項をグル,プ化します

ヒント

式には既定で定数(切片)項が含まれます。モデルから定数項を除外するには,式に-1を含めます。

次に例を示します。

'y ~ x1 + x2 + x3'は,切片がある3変数線形モデルです。
'y ~ x1 + x2 + x3 - 1'は,切片がない3変数線形モデルです。
'y ~ x1 + x2 + x3 + x2^2'は,切片とx2 ^ 2項がある3変数モデルです。
'y ~ x1 + x2^2 + x3'は,x2 ^ 2x2項が含まれるので,前の例と同じです。
'y ~ x1 + x2 + x3 + x1:x2'にはx1 * x2項が含まれています。
'y ~ x1*x2 + x3'は,X1 *x2 = X1 + x2 + X1:x2なので,前の例と同じです。
'y ~ x1*x2*x3 - x1:x2:x3'には,3次交互作用を除くx1x2x3間の交互作用がすべてあります。
'y ~ x1*(x2 + x3 + x4)'には,すべての線形項,およびx1と他の各変数の積があります。

たとえば,行列予測子をもfitlmを使って交互作用モデルを指定するには,次のようにします。

mdl = fitlm(X,y,'y ~ x1*x2*x3 - x1:x2:x3');

stepwiselmと予測子のテ,ブルまたはデ,タセット配列资源描述を使ってモデルを指定するには,1の定数から始め,線形モデル上限があると想定します。资源描述の応答変数が“y”,予測子変数がx1的“x2”および“x3”という名前であるとします。

Mdl2 = stepwism (tbl,'y ~ 1'“上”'y ~ x1 + x2 + x3');

モデルのデ,タへのあてはめ

最も一般的な近似のオプション引数は次のとおりです。

  • fitlmのロバスト回帰で“RobustOpts”名前と値のペアを“上”にします。

  • stepwiselmで適切な上限モデルを指定します。たとえば,“上”“线性”に設定します。

  • “CategoricalVars”名前と値のペアを使用してどの変数が分类であるか指定します。予測子1および6がカテゴリカル変数であることを指定するには,(1 - 6)などの列番号をもベクトルを入力します。または,変数が分类であることを示す1のエントリをも,デタ列と同じ長さのlogicalベクトルを入力します。7 .の予測子があり,予測子16が分类である場合,逻辑([1,0,0,0,0,1,0])と指定します。

  • テ,ブルまたはデ,タセット配列では“ResponseVar”名前と値のペアで応答変数を示します。既定の設定は,配列の最後の列です。

たとえば,以下のようにします。

mdl = fitlm(X,y,“线性”...“RobustOpts”“上”“CategoricalVars”3);Mdl2 = stepwism (tbl,“不变”...“ResponseVar”“英里”“上”“二次”);

品質の調査とあてはめたモデルの調整

モデルをあてはめた後で,結果を確認して調整を行います。

モデル表示

線形回帰モデルの名前またはdisp (mdl)を入力すると,いくかの診断情報が表示されます。この表示は,近似モデルがデータを適切にあらわすかどうかを確認するために基本情報のいくつかを提供します。

たとえば,線形モデルを5つの予測子のうち2つが存在せず,切片の項がないデータをモデルにあてはめるには,次のようにします。

X = randn(100,5);y = X*[1;0;3;0;-1] + randn(100,1);mdl = fitlm(X,y)
mdl =线性回归模型:y ~ 1 + x1 + x2 + x3 + x4 + x5估计系数:估计SE tStat pValue _________ ________ ________ __________(截距)0.038164 0.099458 0.38372 0.70205 x1 0.92794 0.087307 10.628 8.5494e-18 x2 -0.075593 0.10044 -0.75264 0.45355 x3 2.8965 0.099879 29 1.1117e-48 x4 0.045311 0.10832 0.41831 0.67667 x5 -0.99708 0.11799 -8.4504 3.593e-13观测数:100,误差自由度:94均方根误差:0.972 r平方:0.93,调整后的r平方:0.926 f统计量vs常数模型:248,p值= 1.5e-52

次の点に注意してください。

  • 表示には估计列に各係数の推定値が含まれます。これらは真の値[0, 1, 0; 3, 0, 1]にかなり近い値です。

  • 係数推定には標準誤差列があります。

  • 予測子1、3および5に対してレポトされた(標準誤差の仮定により.t統計量tStatから導出された)pValueは極端に小さい値です。これらは,応答デ,タyを作成するために使われた3の予測子です。

  • (拦截)x2およびx4に対するpValueは0.01よりはるかに大きい値です。これらの3の予測子は,yを作成するためには使われませんでした。

  • 表示には, R 2 ,自由度調整済み R 2 ,およびF統計量が含まれています。

分散分析

近似されたモデルの品質を確認するには,anova表を調べます。たとえば,5の予測子をも方差分析を次のように使用します。

TBL =方差(mdl)
台=6×5表SumSq DF MeanSq F pValue _________ _______ _______ __________ x1 106.62 1 106.62 112.96 8.5494e-18 x2 0.53464 1 0.53464 0.56646 0.45355 x3 793.74 1 793.74 840.98 1.1117e-48 x4 0.16515 1 0.16515 0.17498 0.67667 x5 67.398 1 67.398 71.41 3.593e-13 Error 88.719 94 0.94382

この表には,モデルの表示と少し異なる結果が含まれています。x2x4の効果が重要でないことが,この表で明確にわかります。目的によってはこのモデルからx2x4を削除することを検討してください。

診断プロット

診断プロットによって外れ値を特定でき,モデルやあてはめで他の問題を確認できます。たとえば,carsmallデ,タを読み込み,气缸(分类)と重量の関数として英里/加仑のモデルを作成します。

负载carsmalltbl = table(重量,MPG,气缸);资源描述。圆柱=分类(tb .Cylinders);MDL = fitlm(tbl,'MPG ~气缸*重量+重量^2');

デ,タとモデルのてこ比のプロットを作成します。

plotDiagnostics (mdl)

图中包含一个轴对象。标题为Case order plot的axis对象包含2个类型为line的对象。这些对象代表杠杆,参考线。

てこ比の高い点がいくかあります。ただし,てこ比の高い点が外れ値かどうかはこのプロットではわかりません。

クックの距離が大きい点を探します。

plotDiagnostics (mdl“cookd”

图中包含一个轴对象。Cook’s distance Case order plot的坐标轴对象包含2个类型为line的对象。这些物体代表库克的距离,参考线。

クックの距離が大きい点が1あります。この点を特定してモデルから削除します。データカーソルを使用して,外れ値をクリックして特定するか,プログラムを使用して次のように外れ値を特定します。

[~,larg] = max(mdl.Diagnostics.CooksDistance);Mdl2 = fitlm(tbl,'MPG ~气缸*重量+重量^2'“排除”, larg);

残差-学習デタのモデル品質

モデルまたはデ、タ内の誤差、外れ値または相関を検出できるいく、かの残差プロットが存在します。最もシンプルな残差プロットは既定のヒストグラムプロットであり,これは残差の範囲と頻度を示します。また,確率プロットは残差の分布が正規分布と一致する分散を比較する方法を示します。

残差の検査

plotResiduals (mdl)

图中包含一个轴对象。带有残差直方图标题的axes对象包含一个patch类型的对象。

12を超える観測は外れ値の可能性があります。

plotResiduals (mdl“概率”

图中包含一个轴对象。标题为残差正态概率图的坐标轴对象包含2个类型为直线的对象。

外れ値の可能性がある2の値もこのプロットに表示されます。それ以外の場合は,確率プロットはかなり直線に見え,これは正規分布している残差に適切に近似していることを意味します。

次のように入力すると,2の外れ値を特定してデ。

outl = find(mll .残差。12)
outl =2×190 97

外れ値を削除するには,次の排除名前と値のペアを使用します。

Mdl3 = fitlm(tbl,'MPG ~气缸*重量+重量^2'“排除”, outl);

Mdl2の残差プロットを調べます。

plotResiduals (mdl3)

图中包含一个轴对象。带有残差直方图标题的axes对象包含一个patch类型的对象。

新しい残差プロットはかなり左右対称で,目立った問題はないように見えます。しかし,残差の間にいくらか系列相関が見られます。新しいプロットを作成して,そのような効果が存在するかどうかを確認します。

plotResiduals (mdl3“落后”

图中包含一个轴对象。带有残差与滞后残差图标题的坐标轴对象包含3个类型线的对象。

散布図は第1象限と第3象限に他の2つの象限より多くのプロットが表示され,残差の間に正の系列相関があることを示しています。

可能性のある別の問題は,広範囲の観測で残差が大きい場合です。現在のモデルにこの問題がないか確認してください。

plotResiduals (mdl3“安装”

图中包含一个轴对象。标题为残差与拟合值的Plot的坐标轴对象包含2个类型为直线的对象。

近似値が比較的大きい場合に残差が大きくなる傾向があります。モデルの誤差はおそらく測定値に比例します。

予測子の効果を理解するためのプロット

次の例では,さまざまなプロットを使用して各予測子が回帰モデルに与える影響を理解する方法について説明します。

応答のスラ@ @スプロットを調査します。これは,各予測子の効果を個別に表示します。

plotSlice (mdl)

图预测切片图包含2轴对象和uimenu、uicontrol类型的其他对象。Axes对象1包含5个line类型的对象。坐标轴对象2包含5个line类型的对象。

青い縦の破線によって表される個々の予測子値をドラッグできます。また,赤い破線の曲線で表されている,同時信頼限界と非同時信頼限界を選択することもできます。

効果のプロットを使用して,応答に対する予測子の効果を別に画面に表示します。

plotEffects (mdl)

图中包含一个轴对象。axis对象包含4个line类型的对象。

このプロットで,重量が約2500から4732に変わると英里/加仑が約30低下する(上の青い円の位置)ことがわかります。また,気筒の数が8から4に変化すると,英里/加仑は約10増加します(下の青い円の位置)。青い水平ラ@ @ンはこれらの予測子の信頼区間を表しています。この予測は,別の予測子が変化したときの1の予測子の平均をもとにしています。このように2の予測子が相関関係にある場合,結果の解釈を慎重に行ってください。

別の予測子が変化したときの1つの予測子の平均の効果を表示するのではなく,交互作用プロットの結合部の交互作用を調べます。

plotInteraction (mdl“重量”“气缸”

图中包含一个轴对象。标题为Interaction of Weight and Cylinders的axis对象包含12个类型为line的对象。

交互作用プロットは,別の予測子を固定して,1の予測子を変化させたときの効果を表します。このプロットのほうがはるかに多くの情報を提供します。たとえば、比較的軽量の自動車(重量= 1795)では,気筒の数が減少すると燃費は向上しますが,比較的重い自動車(重量= 4732)の場合は,気筒の数が減少すると燃費も低下します。

交互作用にいてさらに詳しく理解するには,予測子を含む交互作用プロットを調べます。1つの予測子を固定し、別の予測子を変化させたこのプロットでは、その効果が曲線で示されます。気筒をさまざまな数に固定して、交互作用を調べます。

plotInteraction (mdl“气缸”“重量”“预测”

图中包含一个轴对象。标题为Interaction of Cylinders and Weight的axis对象包含4个类型为line的对象。这些物体分别代表圆柱体、4、6、8。

次に,重量のさまざまな固定レベルで交互作用を調べます。

plotInteraction (mdl“重量”“气缸”“预测”

图中包含一个轴对象。标题为Interaction of Weight and Cylinders的axis对象包含4个类型为line的对象。这些对象代表Weight, 1795, 3263.5, 4732。

項の効果を理解するためのプロット

次の例では,回帰モデルにおける各項の影響を理解する方法について,さまざまなプロットを使用して説明します。

追加変数としての体重^ 2で,追加変数プロットを作成します。

plotAdded (mdl“体重^ 2”

图中包含一个轴对象。带有标题的axes对象为Weight^2添加变量plot,包含3个类型为line的对象。这些对象表示调整后的数据,Fit: y=-5.62168e-06*x, 95% conf. bounds。

このプロットは,体重^ 2英里/加仑の両方を体重^ 2以外の項に近似した結果を示します。plotAddedを使用する理由は,体重^ 2を追加することによって,どのような追加の改善がモデルに期待できるかを理解するためです。これらの点を近似する線の係数は,完全なモデルの体重^ 2の係数です。係数表の表示から理解できるように,体重^ 2予測子は有意性(pValue< 0.05)の境目を超えたあたりにあります。これはプロットでも確認できます。水平線 (定数y)を信頼限界に含めることはできないように見えるので,ゼロ勾配のモデルはデ,タと整合しません。

モデルの追加変数プロットを全体として作成します。

plotAdded (mdl)

图中包含一个轴对象。标题为“Added variable plot for whole model”的坐标轴对象包含3个类型为line的对象。这些对象表示调整后的数据,Fit: y=85.8376*x, 95% conf. bounds。

モデル全体は非常に有意性が高いため,信頼限界は水平ラ。そのラインの勾配は,最良近似の方向に投影された予測子への近似の勾配,すなわち,係数ベクトルのノルムです。

モデルの変更

モデルを変更するには,次の2の方法があります。

stepwiselmを使用してモデルを作成した場合,異なる上位モデルまたは下位モデルを指定した場合のみ一步の効果があります。RobustOptsを使用してモデルをあてはめた場合,一步は機能しません。

たとえば,carbigデ,タをもとに燃費の線形モデルから開始します。

负载carbigtbl = table(加速度,排量,马力,重量,MPG);MDL = fitlm(tbl,“线性”“ResponseVar”“英里”
mdl =线性回归模型:MPG ~ 1 +加速度+位移+马力+重量估计系数:估计SE tStat pValue __________ __________ ________ __________(截距)45.251 2.456 18.424 7.0721e-55加速度-0.023148 0.1256 -0.1843 0.85388位移-0.0060009 0.0067093 -0.89441 0.37166马力-0.043608 0.016573 -2.6312 0.008849重量-0.0052805 0.00081085 -6.5123 2.3025e-10观测数:392,误差自由度:387均方根误差:4.25 r平方:0.707,调整r平方:0.704 f统计量vs常量模型:233,p值= 9.63e-102

最大10ステップに対して步骤を使用して,モデルの改良を試みます。

Mdl1 =步骤(mdl,“NSteps”, 10)
1.增加排量:马力,FStat = 87.4802, pValue = 7.05273e-19
mdl1 =线性回归模型:MPG ~ 1 +加速度+重量+排量*马力估计SE tStat pValue __________ __________ _______ __________(拦截)61.285 2.8052 21.847 1.8593e-69加速度-0.34401 0.11862 -2.9 0.0039445位移-0.081198 0.010071 -8.0623 9.5014e-15马力-0.24313 0.026068 -9.3265 8.6556e-19重量-0.0014367 0.00084041 -1.7095 0.088166位移:马力0.00054236 5.7987e-05 9.3531 7.0527e-19观测数量:392,误差自由度:386均方根误差:3.84 r平方:0.761,调整r平方:0.758 f统计量vs常数模型:246,p值= 1.32e-117

1回のみの変更後に一步が停止しました。

モデルの単純化を試みるには,加速度および重量の項をmdl1から削除します。

mdl2 = removeTerms(mdl1,“加速度+重量”
mdl2 =线性回归模型:MPG ~ 1 +排量*马力估计系数:估计SE tStat pValue __________ _________ _______ ___________(截距)53.051 1.526 34.765 3.0201e-121排量-0.098046 0.0066817 -14.674 4.3203e-39马力-0.23434 0.019593 -11.96 2.8024e-28排量:马力0.00058278 5.193e-05 11.222 1.6816e-25观测数:392,误差自由度:388均方根误差:3.94 r平方:0.747,调整后r平方:0.745 f统计量vs常数模型:381,p值= 3e-115

mdl2位移马力のみを使用し,调整后的平方メトリックのmdl1とほぼ同じくらい良好なデ,タの近似を得ます。

新しいデ,タに対する応答を予測またはシミュレ,ト

LinearModelオブジェクトには,新しいデ,タに対する応答を予測またはシミュレ,トする,预测函数宏指令および随机という3の関数があります。

预测

予測に対する信頼区間を予測および取得するには,関数预测を使用します。

carbigデ,タを読み込み,予測子加速度位移马力および重量に対する応答英里/加仑の既定の線形モデルを作成します。

负载carbigX =[加速度,排水量,马力,重量];mdl = fitlm(X,MPG);

最小値,平均値,最大値から3行の予測子の配列を作成します。Xには値が含まれているので,関数的意思是“omitnan”オプションを指定します。既定では,関数最小值および马克斯は計算で値を省略します。

Xnew = [min(X);mean(X,“omitnan”)、马克斯(X)];

予測モデル応答と予測子の信頼区間を求めます。

[NewMPG, NewMPGCI] = predict(mdl,Xnew)
NewMPG =3×134.1345 23.4078 4.7751
NewMPGCI =3×231.6115 36.6575 22.9859 23.8298 0.6134 8.9367

平均応答の信頼限界は,最大応答または最小応答の信頼限界よりも範囲が狭くなっています。

函数宏指令

応答を予測するには,関数函数宏指令を使用します。table またはデータセット配列からのモデルの作成では、多くの場合に函数宏指令の方が预测よりも応答の予測に便利です。新しい予測子デ,タがある場合,表または行列を作成せずに,その予測子デ,タを函数宏指令に渡すことができます。ただし,函数宏指令は信頼限界を提供しません。

carbigデ,タセットを読み込み,予測子加速度位移马力および重量に対する応答英里/加仑の既定の線形モデルを作成します。

负载carbigtbl = table(加速度,排量,马力,重量,MPG);MDL = fitlm(tbl,“线性”“ResponseVar”“英里”);

予測子の平均値にいてモデルの応答を予測します。

NewMPG = feval(mdl,mean(加速度,“omitnan”),意味着(位移,“omitnan”),意味着(马力,“omitnan”),意思是(重量,“omitnan”))
NewMPG = 23.4078

随机

応答をシミュレ,トするには,関数随机を使用します。関数随机は,新しいランダム応答値をシミュレ,トします。これは,学習デ,タと同じ分散のランダム外乱を平均予測に加算したものと同じです。

carbigデ,タを読み込み,予測子加速度位移马力および重量に対する応答英里/加仑の既定の線形モデルを作成します。

负载carbigX =[加速度,排水量,马力,重量];mdl = fitlm(X,MPG);

最小値,平均値,最大値から予測子の3行の配列を作成します

Xnew = [min(X);mean(X,“omitnan”)、马克斯(X)];

ランダム性を含む新しい予測モデル応答を生成します。

rng (“默认”再现率%NewMPG = random(mdl,Xnew)
NewMPG =3×136.4178 31.1958 -4.8176

負の値の英里/加仑は妥当ではないと思われるため,予測を2回試行してください。

NewMPG = random(mdl,Xnew)
NewMPG =3×137.7959 24.7615 -0.7783
NewMPG = random(mdl,Xnew)
NewMPG =3×132.2931 24.8628 19.9715

Xnewの3行目の予測(最大)は明らかに信頼できません。

近似モデルの共有

以下のコマンドを使用して線形回帰モデル(たとえばmdl)を生成したとします。

负载carbigtbl = table(加速度,排量,马力,重量,MPG);MDL = fitlm(tbl,“线性”“ResponseVar”“英里”);

このモデルを他のユ,ザ,と共有するには,以下の手順が可能です。

  • モデルの表示を提供する。

mdl
mdl =线性回归模型:MPG ~ 1 +加速度+位移+马力+重量估计系数:估计SE tStat pValue __________ __________ ________ __________(截距)45.251 2.456 18.424 7.0721e-55加速度-0.023148 0.1256 -0.1843 0.85388位移-0.0060009 0.0067093 -0.89441 0.37166马力-0.043608 0.016573 -2.6312 0.008849重量-0.0052805 0.00081085 -6.5123 2.3025e-10观测数:392,误差自由度:387均方根误差:4.25 r平方:0.707,调整r平方:0.704 f统计量vs常量模型:233,p值= 9.63e-102
  • モデル定義と係数を提供する。

mdl。Formula
ans = MPG ~ 1 +加速度+排水量+马力+重量
mdl。CoefficientNames
ans =1 x5单元格第1至4列{'(截距)'}{'加速度'}{'位移'}{'马力'}第5列{'重量'}
mdl.Coefficients.Estimate
ans =5×145.2511 -0.0231 -0.0060 -0.0436 -0.0053

参考

|||||||

関連するトピック