線形回帰
デ,タの準備
回帰の近似を開始するには,デ,タを近似関数に望ましい形式にします。すべての回帰手法は,配列X
の入力デ,タと独立したベクトルy
の応答デ,タか,テ,ブルまたはデ,タセット配列资源描述
内の入力デ,タと资源描述
の列としての応答デ,タで始まります。入力デタの各行が,1の観測値を表します。各列が1の予測子(変数)。
テ,ブルまたはデ,タセット配列资源描述
では,次のように“ResponseVar”
の名前と値のペアで応答変数を示します。
MDL = fitlm(tbl,“ResponseVar”,“血压”);
応答変数は既定で最後の列です。
数値の“カテゴリカル”予測子を使用できます。カテゴリカル予測子は可能性のある固定セットからの値をとります。
数値配列
X
では,“分类”
の名前と値のペアでカテゴリカル予測子を示します。たとえば,6の予測子から2
と3.
が分类であることを示すには,次のようにします。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
を使用して,モデルのデ,タへの最小二乗近似を作成します。この方法は,モデルの型を十分に把握し,パラメタを見けることが主な目的である場合に最適です。いくかのモデルを試す場合にも便利です。最小二乗近似を使う場合、外れ値を破棄するためにデータを手動で調べなければなりませんが、このタスクに役立つ方法もあります (品質の調査とあてはめたモデルの調整を参照)。
ロバスト近似
外れ値にほとんど影響されないモデルを作成するには,fitlm
をRobustOpts
名前と値のペアと併用します。ロバスト近似は,外れ値を手動で破棄する手間が省けます。ただし、ロバスト近似では一步
が使えません。そのため,ロバスト近似を使用する場合,適正なモデルでステップワesc escズを検索できません。
ステップワ@ @ズ近似
モデルを検索し,パラメ,タ,をそのモデルに適合させるには,stepwiselm
を使用します。stepwiselm
は,定数などの1つのモデルから開始し,一度に1つずつ項を増減する貪欲法で,それ以上改良できなくなるまで,最適な項を毎回選択します。ステップワ▪▪ズ近似を使用して,有効な項のみを含む適正なモデルを見▪▪けます。
この結果は,開始モデルに依存します。通常,定数モデルで開始すると,小さいモデルになります。さらに多くの項で開始すると,複雑なモデルになりますが,平均二乗誤差はより小さくなります。大小のステップワ@ @ズモデルの比較を参照してください。
ロバストオプションはステップワ@ @ズ近似では使用できません。ステップワ@ @ズ近似の実行後に、モデルで外れ値を探してください (品質の調査とあてはめたモデルの調整を参照)。
単一モデルまたはモデル範囲の選択
線形回帰のモデルを指定する方法はいくかあります。最も便利だと思う方法を使用してください。
fitlm
で指定するのは近似のモデルです。モデル仕様を指定しない場合の既定値は“线性”
です。
stepwiselm
では,指定するモデルの仕様は,ステップワesc escズ手順で改善を試みる最初のモデルです。モデルの仕様を指定しない場合の既定の最初のモデルは“不变”
で,既定の上限モデルは“互动”
です。上限のモデルを変更するには,上
名前と値のペアを使用します。
メモ
関数套索
、lassoglm
、sequentialfs
、plsregress
などを使用するモデルの選択方法もあります。
省略名
名前 | モデルタ@ @プ |
---|---|
“不变” |
モデルは定数(切片)項だけを含みます。 |
“线性” |
モデルは各予測子に対して切片と線形項を含みます。 |
“互动” |
モデルは,切片,線形項,異なる予測子のペアのすべての積(二乗項なし)を含みます。 |
“purequadratic” |
モデルは,切片,線形項,二乗項を含みます |
“二次” |
モデルは,切片,線形項,交互作用,二乗項を含みます |
“聚 |
モデルは多項式であり,最初の予測子は次数我 まで,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の予測子変数x1
、x2
、x3
と応答変数y
がx1
、x2
、x3
、y
という順序で入力に含まれていると仮定します。T
の各行は1の項を表します。
[0 0 0 0]
-定数項(切片)[0 1 0 0]
- - - - - -x2
(X1 ^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 ^ 2
にx2
項が含まれるので,前の例と同じです。'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次交互作用を除くx1
、x2
、x3
間の交互作用がすべてあります。'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 .の予測子があり,予測子1
と6
が分类である場合,逻辑([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
を作成するためには使われませんでした。表示には, ,自由度調整済み ,および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
この表には,モデルの表示と少し異なる結果が含まれています。x2
とx4
の効果が重要でないことが,この表で明確にわかります。目的によってはこのモデルからx2
とx4
を削除することを検討してください。
診断プロット
診断プロットによって外れ値を特定でき,モデルやあてはめで他の問題を確認できます。たとえば,carsmall
デ,タを読み込み,气缸
(分类)と重量
の関数として英里/加仑
のモデルを作成します。
负载carsmalltbl = table(重量,MPG,气缸);资源描述。圆柱=分类(tb .Cylinders);MDL = fitlm(tbl,'MPG ~气缸*重量+重量^2');
デ,タとモデルのてこ比のプロットを作成します。
plotDiagnostics (mdl)
てこ比の高い点がいくかあります。ただし,てこ比の高い点が外れ値かどうかはこのプロットではわかりません。
クックの距離が大きい点を探します。
plotDiagnostics (mdl“cookd”)
クックの距離が大きい点が1あります。この点を特定してモデルから削除します。データカーソルを使用して,外れ値をクリックして特定するか,プログラムを使用して次のように外れ値を特定します。
[~,larg] = max(mdl.Diagnostics.CooksDistance);Mdl2 = fitlm(tbl,'MPG ~气缸*重量+重量^2',“排除”, larg);
残差-学習デタのモデル品質
モデルまたはデ、タ内の誤差、外れ値または相関を検出できるいく、かの残差プロットが存在します。最もシンプルな残差プロットは既定のヒストグラムプロットであり,これは残差の範囲と頻度を示します。また,確率プロットは残差の分布が正規分布と一致する分散を比較する方法を示します。
残差の検査
plotResiduals (mdl)
12を超える観測は外れ値の可能性があります。
plotResiduals (mdl“概率”)
外れ値の可能性がある2の値もこのプロットに表示されます。それ以外の場合は,確率プロットはかなり直線に見え,これは正規分布している残差に適切に近似していることを意味します。
次のように入力すると,2の外れ値を特定してデ。
outl = find(mll .残差。12)
outl =2×190 97
外れ値を削除するには,次の排除
名前と値のペアを使用します。
Mdl3 = fitlm(tbl,'MPG ~气缸*重量+重量^2',“排除”, outl);
Mdl2の残差プロットを調べます。
plotResiduals (mdl3)
新しい残差プロットはかなり左右対称で,目立った問題はないように見えます。しかし,残差の間にいくらか系列相関が見られます。新しいプロットを作成して,そのような効果が存在するかどうかを確認します。
plotResiduals (mdl3“落后”)
散布図は第1象限と第3象限に他の2つの象限より多くのプロットが表示され,残差の間に正の系列相関があることを示しています。
可能性のある別の問題は,広範囲の観測で残差が大きい場合です。現在のモデルにこの問題がないか確認してください。
plotResiduals (mdl3“安装”)
近似値が比較的大きい場合に残差が大きくなる傾向があります。モデルの誤差はおそらく測定値に比例します。
予測子の効果を理解するためのプロット
次の例では,さまざまなプロットを使用して各予測子が回帰モデルに与える影響を理解する方法について説明します。
応答のスラ@ @スプロットを調査します。これは,各予測子の効果を個別に表示します。
plotSlice (mdl)
青い縦の破線によって表される個々の予測子値をドラッグできます。また,赤い破線の曲線で表されている,同時信頼限界と非同時信頼限界を選択することもできます。
効果のプロットを使用して,応答に対する予測子の効果を別に画面に表示します。
plotEffects (mdl)
このプロットで,重量
が約2500から4732に変わると英里/加仑
が約30低下する(上の青い円の位置)ことがわかります。また,気筒の数が8から4に変化すると,英里/加仑
は約10増加します(下の青い円の位置)。青い水平ラ@ @ンはこれらの予測子の信頼区間を表しています。この予測は,別の予測子が変化したときの1の予測子の平均をもとにしています。このように2の予測子が相関関係にある場合,結果の解釈を慎重に行ってください。
別の予測子が変化したときの1つの予測子の平均の効果を表示するのではなく,交互作用プロットの結合部の交互作用を調べます。
plotInteraction (mdl“重量”,“气缸”)
交互作用プロットは,別の予測子を固定して,1の予測子を変化させたときの効果を表します。このプロットのほうがはるかに多くの情報を提供します。たとえば、比較的軽量の自動車(重量
= 1795)では,気筒の数が減少すると燃費は向上しますが,比較的重い自動車(重量
= 4732)の場合は,気筒の数が減少すると燃費も低下します。
交互作用にいてさらに詳しく理解するには,予測子を含む交互作用プロットを調べます。1つの予測子を固定し、別の予測子を変化させたこのプロットでは、その効果が曲線で示されます。気筒をさまざまな数に固定して、交互作用を調べます。
plotInteraction (mdl“气缸”,“重量”,“预测”)
次に,重量のさまざまな固定レベルで交互作用を調べます。
plotInteraction (mdl“重量”,“气缸”,“预测”)
項の効果を理解するためのプロット
次の例では,回帰モデルにおける各項の影響を理解する方法について,さまざまなプロットを使用して説明します。
追加変数としての体重^ 2
で,追加変数プロットを作成します。
plotAdded (mdl“体重^ 2”)
このプロットは,体重^ 2
と英里/加仑
の両方を体重^ 2
以外の項に近似した結果を示します。plotAdded
を使用する理由は,体重^ 2
を追加することによって,どのような追加の改善がモデルに期待できるかを理解するためです。これらの点を近似する線の係数は,完全なモデルの体重^ 2
の係数です。係数表の表示から理解できるように,体重^ 2
予測子は有意性(pValue
< 0.05)の境目を超えたあたりにあります。これはプロットでも確認できます。水平線 (定数y
)を信頼限界に含めることはできないように見えるので,ゼロ勾配のモデルはデ,タと整合しません。
モデルの追加変数プロットを全体として作成します。
plotAdded (mdl)
モデル全体は非常に有意性が高いため,信頼限界は水平ラ。そのラインの勾配は,最良近似の方向に投影された予測子への近似の勾配,すなわち,係数ベクトルのノルムです。
モデルの変更
モデルを変更するには,次の2の方法があります。
一步
-一度に1ず。一步
は,追加または削除する最も重要な項を選択します。addTerms
およびremoveTerms
-指定された項を追加または削除します。単一モデルまたはモデル範囲の選択で説明したいずれかの型を使用して,項を指定します。
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
参考
fitlm
|方差分析
|stepwiselm
|预测
|LinearModel
|plotResiduals
|套索
|sequentialfs