主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

線形回帰

データの準備

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

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

mdl = fitlm(资源描述,“ResponseVar”“血压”);

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

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

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

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

    • 逻辑ベクトル

    • 直言ベクトル

    • 文字配列

    • 字符串配列

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

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

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

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

ds =数据集(“XLSFile”“hospital.xls”...“ReadObsNames”,真正的);

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

负载carsmallds =数据集(MPG、重量);ds。年=分类(Model_Year);

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

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

台= readtable (“hospital.xls”...“ReadRowNames”,真正的);

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

负载carsmall台=表(MPG、重量);资源描述。年=分类(Model_Year);

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

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

负载carsmallX =[重量马力汽缸Model_Year];y = MPG;

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

[X, Xnames] = xlsread(“hospital.xls”);y = X (:, 4);反应y为收缩压X (:, 4) = [];从X矩阵中去掉y

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

近似手法の選択

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

最小二乗近似

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

ロバスト近似

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

ステップワイズ近似

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

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

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

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

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

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

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

メモ

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

省略名

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

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

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

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

mdl2 = stepwiselm(资源描述,“不变”...“上”“线性”“ResponseVar”3);

項の行列

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

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

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

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

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

  • [2 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 = stepwiselm(资源描述,“y ~ 1”“上”'y ~ x1 + x2 + x3');

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

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

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

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

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

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

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

mdl = fitlm (X, y,“线性”...“RobustOpts”“上”“CategoricalVars”3);mdl2 = stepwiselm(资源描述,“不变”...“ResponseVar”“英里”“上”“二次”);

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

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

モデル表示

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

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

X = randn (100 5);y = X*[1;0; 0;-1] + randn(100,1); / /mdl = fitlm (X, y)
mdl =线性回归模型:y ~ 1 + x1 + x2 + x3 + x4 + x5Estimate SE tStat pValue _________ ________ ________ __________ (Intercept) 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-squared: 0.93,调整R-squared: 0.926 F-statistic vs. constant model: 248, p-value = 1.5e-52

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

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

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

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

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

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

分散分析

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

台=方差分析(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错误88.719 94 0.94382

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

診断プロット

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

负载carsmall台=表(重量,英里/加仑,缸);资源描述。气缸=分类(tbl.Cylinders);mdl = fitlm(资源描述,'MPG ~气缸*重量+重量^2');

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

plotDiagnostics (mdl)

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

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

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

plotDiagnostics (mdl“cookd”

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

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

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

残差——学習データのモデル品質

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

残差の検査

plotResiduals (mdl)

图中包含一个坐标轴。以残差直方图为标题的坐标轴包含一个patch类型的对象。

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

plotResiduals (mdl“概率”

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

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

次のように入力すると,2つの外れ値を特定してデータから削除することができます。

outl =找到(mdl.Residuals。生> 12)
outl =2×190 97

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

mdl3 = fitlm(资源描述,'MPG ~气缸*重量+重量^2'“排除”, outl);

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

plotResiduals (mdl3)

图中包含一个坐标轴。以残差直方图为标题的坐标轴包含一个patch类型的对象。

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

plotResiduals (mdl3“落后”

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

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

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

plotResiduals (mdl3“安装”

图中包含一个坐标轴。标题为残差与拟合值图的轴包含两个类型为line的对象。

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

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

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

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

plotSlice (mdl)

图预测切片图包含2个轴和其他类型的uimenu, uicontrol对象。axis 1包含5个类型为line的对象。axis 2包含5个类型为line的对象。

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

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

plotEffects (mdl)

图中包含一个坐标轴。轴包含4个线型对象。

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

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

plotInteraction (mdl“重量”“气缸”

图中包含一个坐标轴。标题为“重量与圆柱体的相互作用”的轴包含12个线型对象。

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

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

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

图中包含一个坐标轴。标题为“圆柱体与重量的相互作用”的轴包含4个线型对象。这些对象表示cylinder, 4,6,8。

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

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

图中包含一个坐标轴。标题为“重量与圆柱体的相互作用”的轴包含4个线型对象。这些对象代表Weight, 1795, 3263.5, 4732。

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

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

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

plotAdded (mdl“体重^ 2”

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

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

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

plotAdded (mdl)

图中包含一个坐标轴。标题为添加变量图的轴为整个模型包含3个类型为line的对象。这些对象表示调整后的数据,Fit: y=85.8376*x, 95% conf.bounds。

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

モデルの変更

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

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

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

负载carbig台=表(加速度、位移、马力、体重、MPG);mdl = fitlm(资源描述,“线性”“ResponseVar”“英里”
mdl =线性回归模型:MPG ~ 1 +加速度+位移+马力+重量Estimate SE tStat pValue __________ __________ ________ __________ (Intercept) 45.251 2.456 18.424 7.0721e-55加速度-0.023148 0.1256 -0.1843 0.5388位移-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-statistic vs. constant model: 233, p-value = 9.63 -102

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

mdl1 =步骤(mdl,“NSteps”, 10)
1.添加排量:马力,FStat = 87.4802, pValue = 7.05273e-19
mdl1 =线性回归模型:MPG ~ 1 +加速度+重量+位移*马力估计系数:Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 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-059.3531 7.0527e-19观测数:392,误差自由度:386均方根误差:3.84 R-squared: 0.761,校正R-squared: 0.758 F-statistic vs. constant model: 246, p-value = 1.32e-117

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

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

mdl2 = removeTerms (mdl1,“加速+重量”
mdl2 =线性回归模型:MPG ~ 1 +排量*马力估计系数:Estimate SE tStat pValue __________ _________ _______ ___________ (Intercept) 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位移:马力388均方根误差:3.94 r平方:0.747,调整r平方:0.745 f统计量与常数模型:381,p-value = 3e-115

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

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

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

预测

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

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

负载carbigX =(加速度、位移、马力、重量);mdl = fitlm (X, MPG);

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

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

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

[NewMPG, NewMPGCI] =预测(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データセットを読み込み,予測子加速度位移马力および重量に対する応答英里/加仑の既定の線形モデルを作成します。

负载carbig台=表(加速度、位移、马力、体重、MPG);mdl = fitlm(资源描述,“线性”“ResponseVar”“英里”);

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

NewMPG =函数宏指令(mdl,意味着(加速度,“omitnan”),意味着(位移,“omitnan”),意味着(马力,“omitnan”),意思是(重量,“omitnan”))
NewMPG = 23.4078

随机

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

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

负载carbigX =(加速度、位移、马力、重量);mdl = fitlm (X, MPG);

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

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

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

rng (“默认”%的再现性Xnew NewMPG =随机(mdl)
NewMPG =3×136.4178 31.1958 -4.8176

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

Xnew NewMPG =随机(mdl)
NewMPG =3×137.7959 24.7615 -0.7783
Xnew NewMPG =随机(mdl)
NewMPG =3×132.2931 24.8628 19.9715

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

近似モデルの共有

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

负载carbig台=表(加速度、位移、马力、体重、MPG);mdl = fitlm(资源描述,“线性”“ResponseVar”“英里”);

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

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

mdl
mdl =线性回归模型:MPG ~ 1 +加速度+位移+马力+重量Estimate SE tStat pValue __________ __________ ________ __________ (Intercept) 45.251 2.456 18.424 7.0721e-55加速度-0.023148 0.1256 -0.1843 0.5388位移-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-statistic vs. constant model: 233, p-value = 9.63 -102
  • モデル定義と係数を提供する。

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

参考

|||||||

関連するトピック