主要内容

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

一般化線形モデル

一般化線形モデルとは

線形回帰モデルは,応答と1つまたは複数の予測項間の線形関係を記述します。しかし,非線形関係が存在します。非線形回帰では,一般の非線形モデルを説明します。“一般化線形モデル”と呼ばれる非線形モデルの特別なクラスは,線形手法を使用します。

線形モデルが次の特性をもつことを思い出してください。

  • 予測子の値のセットごとに,応答は平均がμの正規分布になります。

  • 係数ベクトルbは,予測子Xの線形結合Xbを定義します。

  • モデルはμ= Xbです。

一般化線形モデルでは,これらの特性は次のように一般化されます。

  • 予測子の値のセットごとに,応答には分布が含まれます。これは,正規二項ポアソンガンマ逆ガウス分布のいずれかで,平均μを含むパラメーターをもちます。

  • 係数ベクトルbは,予測子Xの線形結合Xbを定義します。

  • “リンク関数”fはモデルをf(μ)= Xbとして定義します。

データの準備

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

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

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

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

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

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

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

    • 逻辑ベクトル

    • 直言ベクトル

    • 文字配列

    • 字符串配列

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

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

  • データ行列Xをもつ“二”モデルの応答yは,次のいずれかです。

    • バイナリ列ベクトル——各エントリは成功(1)または失敗(0)を示します。

    • 整数の2列行列- 1列目は各観測での成功回数,2列目はその観測での試行回数を示します。

  • 资源描述テーブルまたはデータセットをもつ“二”モデルの場合,次の手順を実行します。

    • ResponseVar名前と値のペアを使用して,各観測での成功回数を示す资源描述の列を指定します。

    • BinomialSize名前と値のペアを使用して,各観測での試行回数を示す资源描述の列を指定します。

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

たとえば,Excel®スプレッドシートからデータセット配列を作成するには,次のようにします。

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

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

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

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

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

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

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

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

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

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

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

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

一般化線形モデルとリンク関数の選択

データから一般化線形モデルの分布タイプがわかる場合がよくあります。

応答データのタイプ 推奨されるモデルの分布タイプ
任意の実数 “正常”
任意の正の数 “伽马”または逆高斯分布的
任意の非負の整数 “泊松”
ゼロからnまでの整数(nは正の固定値) “二”

分布名前と値のペアを使用してモデル分布タイプを設定します。モデルタイプを選択した後、平均 µ と線形予測子 Xb 間でマップするためのリンク関数を選択します。

説明
“comploglog”

log(- log((1 - law))) = Xb

“身份”,分布の既定の設定“正常”

µ= Xb

“日志”,分布の既定の設定“泊松”

日志(µ)= Xb

分对数的,分布の既定の設定“二”

log(log /(1 - log)) = Xb

“重对数”

日志(日志(µ))作为Xb =

“probit”

Φ1(µ)= Xb,Φは正規(ガウス)累積分布関数

“互惠”,分布の既定の設定“伽马”

µ1= Xb

p(数値)、分布逆高斯分布的の既定の設定(p = 2の場合)

µp= Xb

リンク(FL),リンクの導関数(FD),逆リンク(FI3)を定義するつの関数ハンドル(を使用して作成)が含まれている,{FL FD FI}という形式の细胞配列。または,FLを含むフィールド链接FDを含むフィールド导数,およびFIを含むフィールドをもつ,関数ハンドルの構造体。

ユーザー指定のリンク関数(カスタムリンク関数を参照)

既定ではないリンク関数は,主に二項モデルで使用すると便利です。これらの既定ではないリンク関数は“comploglog”“重对数”および“probit”です。

カスタムリンク関数

リンク関数は,平均応答µと予測子の線形結合であるXb = X * bの関係f(µ)= Xbを定義します。組み込みリンク関数の1つを選択するか,リンク関数FL,リンク関数の導関数FDおよびリンク関数の逆関数FIを指定してユーザーが独自に定義することができます。

  • リンク関数FLはf(µ)を計算します。

  • リンク関数FDの導関数はdf(µ)/ dµを計算します。

  • リンク関数FIの逆関数はg (Xb) =µを計算します。

カスタムリンク関数は次の2つの方法のいずれかで指定できます。どちらの方法にも,µまたはXbを表す値の単一の配列を受け入れて同じサイズの配列を返す,関数ハンドルが含まれています。この関数ハンドルは,以下の细胞配列または構造体のいずれかです。

  • リンク(FL),リンクの微分(FD),逆リンク(FI)を定義するを使用して作成される3つの関数ハンドルを含んでいる形式{FL FD FI}の细胞配列です。

  • 3つのフィールドをもつ構造体年代で,各フィールドにはを使用して作成された関数ハンドルが含まれます。

    • 年代link——リンク関数

    • 年代.Derivative——リンク関数の導関数

    • 年代.Inverse——リンク関数の逆関数

たとえば,“probit”リンク関数を使用してモデルをあてはめるには,以下の手順に従います。

X = [2100 2300 2500 2700 2900...3100 3300 3500 3700 3900 4100 4300]';N = [48 42 31 34 31 21 23 23 21 16 17 21]';Y = [1 2 0 3 8 8 14 17 19 15 17 21];(x,[y n],...“线性”“分配”“二”“链接”“probit”
g =广义线性回归模型:probit(y) ~ 1 + x1分布=二项式估计系数:估计SE tStat pValue(截距)-7.3628 0.66815 -11.02 3.0701e-28 x1 0.0023039 0.00021352 10.79 3.8274e-27 12个观测值,10个误差自由度

リンク関数“probit”と同一の機能のカスタムリンク関数を使用して,同じあてはめを実行できます。

s = {@norminv, @ (x) 1. / normpdf (norminv (x)), @normcdf};(x,[y n],...“线性”“分配”“二”“链接”,年代)
g =广义线性回归模型:链接(y) ~ 1 + x1分布=二项式估计系数:估计SE tStat pValue(截距)-7.3628 0.66815 -11.02 3.0701e-28 x1 0.0023039 0.00021352 10.79 3.8274e-27 12个观测值,10个误差自由度

この2つのモデルは同じです。

どちらも同様に,関数ハンドルをもつ细胞配列ではなく,構造体として年代を作成できます。

s.Link = @norminv;s.Derivative = @(x) 1./normpdf(norminv(x));s.Inverse = @normcdf;(x,[y n],...“线性”“分配”“二”“链接”,年代)
g =广义线性回归模型:链接(y) ~ 1 + x1分布=二项式估计系数:估计SE tStat pValue(截距)-7.3628 0.66815 -11.02 3.0701e-28 x1 0.0023039 0.00021352 10.79 3.8274e-27 12个观测值,10个误差自由度

近似手法およびモデルの選択

近似モデルを作成するには,次の2つの方法があります。

  • 一般化線形モデルの概念をよく理解しているか,あとでモデルを調整して特定の項を追加または除外する場合は,fitglmを使用します。

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

    この結果は,開始モデルに依存します。通常,定数モデルで開始すると,小さいモデルになります。さらに多くの項で開始すると,複雑なモデルになりますが,平均二乗誤差はより小さくなります。

どちらの場合も,近似関数にモデルを指定します(これはstepwiseglmの開始モデルです)。

次のいずれかの方法でモデルを指定します。

短縮されたモデル名

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

項の行列

項行列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と他の各変数の積があります。

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

fitglmまたはstepwiseglmを使用して近似モデルを作成します。近似手法およびモデルの選択で説明した方法で,どちらかを選択します。一般化線形モデルでは,正規分布をもつモデルを除き、分布名前と値のペアを一般化線形モデルとリンク関数の選択と同じように指定します。たとえば,以下のようにします。

mdl = fitglm (X, y,“线性”“分布”“泊松”%或mdl = fitglm (X, y,“二次”...“分布”“二”

品質の調査と近似モデルの調整

モデルをあてはめた後に,結果を確認します。

モデル表示

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

たとえば,ポアソンモデルを5つの予測子のうち2つが応答に影響せず,切片の項がないデータにあてはめるには,次のようにします。

rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[.4;.2; 3]);y = poissrnd(μ);mdl = fitglm (X, y,...“线性”“分布”“泊松”
mdl =广义线性回归模型:log(y) ~ 1 + x1 + x2 + x3 + x4 + x5Estimate SE tStat pValue (Intercept) 0.039829 0.10793 0.36901 0.71212 x1 0.38551 0.076116 5.0647 4.0895e-07 x2 -0.034905 0.086685 -0.40266 0.6872 x3 -0.17826 0.093552 -1.9054 0.056722 x4 0.21929 0.09357 2.3436 0.019097 x5 0.28918 0.1094 2.6432 0.0082126 100个观测值,94个误差自由度p-value = 1.55e-08

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

  • 表示には估计列に各係数の推定値が含まれます。これらの値は真の値[0。4;0;0;2、3)にかなり近い値ですが,x3の係数だけは0にさほど近くない可能性があります。

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

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

  • (拦截)x2およびx3に対するpValue0.01はより大きい値です。これらの3つの予測子は,応答データyを作成するためには使われませんでした。x3に対応するpValue.05をわずかに超える値であるため,有意性が認識される可能性もあります。

  • 表示にはカイ二乗統計量が含まれます。

診断プロット

診断プロットによって外れ値を特定でき,モデルやあてはめで他の問題を確認できます。これらのプロットについて説明するために,ロジスティックリンク関数をもつ二項回帰について考えます。

“ロジスティックモデル”は比率データに役立ちます。比率pと重量wの関係を以下のように定義します。

Log [p/(1 - p)] = b1+ b2w

次の例では,二項モデルをデータにあてはめます。このデータは,重量が異なる大型車の測定が含まれるcarbig.matから導出されています。wの各重量には,总计に対応した自動車数と可怜的に対応した燃費の悪い自動車数が含まれています。

总计およびwに依存する成功のパーセンテージでトライアル数を指定すると,可怜的の値が二項分布に続くと仮定できます。この分布は,リンク関数日志(µ/(1 -µ))= Xbによって一般化された線形モデルを使用することにより,ロジスティックモデルのコンテキスト内で説明されます。このリンク関数は分对数的と呼ばれます。

W = [2100 2300 2500 2700 2900 3100...3300 3500 3700 3900 4100 4300]';Total = [48 42 31 34 31 21 23 23 21 16 17 21]';Poor = [1 2 0 3 8 8 14 17 19 15 17 21]';MDL = fitglm(w,[差的总数],...“线性”“分布”“二”“链接”分对数的
mdl =广义线性回归模型:logit(y) ~ 1 + x1分布=二项式估计系数:估计值SE tStat pValue (Intercept) -13.38 1.394 -9.5986 8.1019e-22 x1 0.0041812 0.00044258 9.4474 3.4739e-21 12个观测值,10个误差自由度散布:1 Chi^2-statistic vs. constant模型:242,p-value = 1.3e-54

このモデルがどれだけ適切にデータを当てはめられているかを確認します。

plotSlice (mdl)

このあてはめは信頼限界がかなり広く,適正と思われます。

さらに詳細を調べるには,てこ比のプロットを作成します。

plotDiagnostics (mdl)

これは予測子変数によって順序付けられた点をもつ,典型的な回帰です。あてはめの各点のてこ比は,比較的極端な予測子の値(どちらの方向でも)をもつ点で高く,平均的な予測子の値をもつ点では低くなります。複数の予測子があり,点が予測子の値で順序付けられていない場合は,てこ比の高い観測値が予測子の値で測定された外れ値となるため,見つけやすくなります。

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

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

次の例は,近似ポアソンモデルの残差プロットを示しています。このデータ構造は5つのうち2つが応答に影響しない予測子をもち,切片の項をもちません。

rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = fitglm (X, y,...“线性”“分布”“泊松”);

残差の検査

plotResiduals (mdl)

ほとんどの残差クラスターは0に近くなっています,がいくつかは±18に近い値であるため,別の残差プロットを調べます。

plotResiduals (mdl“安装”

大きな残差は近似値のサイズとあまり関連性がないようです。

おそらく,確率プロットがより有益でしょう。

plotResiduals (mdl“概率”

以下のことが明らかになりました。残差は正規分布していません。代わりに,潜在的なポアソン分布のように裾がより厚くなっています。

予測子の効果とモデルの変更方法を理解するためのプロット

次の例は,各予測子が回帰モデルに与える効果を理解する方法と,モデルを変更して不要な項を削除する方法を示します。

  1. 人為的なデータでいくつかの予測子からモデルを作成します。データはXの2番目と3番目の列を使用しません。そのため,モデルがこれらの予測子に強く依存していないことを予想します。

    rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = fitglm (X, y,...“线性”“分布”“泊松”);
  2. 応答のスライスプロットを調査します。これは,各予測子の効果を個別に表示します。

    plotSlice (mdl)

    最初の予測子のスケールは,プロットを圧倒しています。[予測子]メニューを使用して,この予測子を無効にします。

    2番目と3番目の予測子の効果がほとんどないことは明らかです。

    青い縦の破線によって表される個々の予測子値をドラッグできます。また,赤い破線の曲線で表されている,同時信頼限界と非同時信頼限界を選択することもできます。予測子のラインをドラッグして,2番目と3番目の予測子に効果がほとんどないことを確認します。

  3. 不要な予測子は,removeTermsまたは一步のいずれかを使用して削除します。1つの項を削除してから、予期せずに別の項が重要になるケースもあるため、一步を使用するほうがより安全です。ただし,一步の処理が続行しない場合に,removeTermsが効果的な場合があります。この場合,どちらの方法でも結果は同じです。

    mdl1 = removeTerms (mdl,“x2 + x3”
    mdl1 =广义线性回归模型:日志(y) ~ 1 + x1 + x4 + x5 =泊松分布估计系数:估计SE tStat pValue x1(拦截)0.17604 0.062215 2.8295 0.004662 0.98521 0.026393 37.328 5.6696 1.9122 0.024638 77.614 0 x4 e - 305 x5 0.61321 0.038435 15.955 2.6473 e-57 100观察,96错误自由度分散:1 Chi^2-statistic vs. constant model: 4.97e+04, p-value = 0
    mdl1 =步骤(mdl,“NSteps”5,“上”“线性”
    1.去除x3, Deviance = 93.856, Chi2Stat = 0.00075551, PValue = 0.97807去除x2, Deviance = 96.333, Chi2Stat = 2.4769, PValue = 0.11553 mdl1 =广义线性回归模型:log(y) ~ 1 + x1 + x4 + x5估计SE tStat pValue (Intercept) 0.17604 0.062215 2.8295 0.004662 x1 1.9122 0.024638 77.614 0 x4 0.98521 0.026393 37.328 5.6696e-305 x5 0.61321 0.038435 15.955 2.647e -57 100个观测值,96个误差自由度

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

新しいデータに対する応答を予測するために,3つの手法を使用できます。

预测

预测メソッドは平均応答の予測と,必要な場合には信頼限界を提供します。

この例では,预测メソッドを使用して予測で信頼区間を予測して取得する方法を示します。

  1. 人為的なデータでいくつかの予測子からモデルを作成します。データはXの2番目と3番目の列を使用しません。2番目と 3 番目の予測子の効果がほとんどないことは明らかです。関連する予測子を自動的に含むようにモデルをステップワイズに構築します。

    rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = stepwiseglm (X, y,...“不变”“上”“线性”“分布”“泊松”);
    1.加上x1, Deviance = 2515.02869, Chi2Stat = 47242.9622, PValue = 0加上x4, Deviance = 328.39679, Chi2Stat = 2186.6319, PValue = 0加上x5, Deviance = 96.3326, Chi2Stat = 232.0642, PValue = 2.114384e-52
  2. 新しいデータをいくつか生成して,データから予測を評価します。

    Xnew = randn(3,5) + repmat([1 2 3 4 5],[3,1]); / /重新定义%的新数据[ynew, ynewci] =预测(mdl Xnew)
    ynewci = 1.0e+04 * 0.0821 0.1555 1.2167 2.4811 2.8419 4.9407

函数宏指令

テーブルまたはデータセット配列からモデルを構築するときに,多くの場合,函数宏指令のほうが预测よりも平均応答を予測するのに便利です。ただし,函数宏指令は信頼限界を提供しません。

この例は函数宏指令メソッドを使用して平均応答を予測する方法を示しています。

  1. 人為的なデータでいくつかの予測子からモデルを作成します。データはXの2番目と3番目の列を使用しません。2番目と 3 番目の予測子の効果がほとんどないことは明らかです。関連する予測子を自動的に含むようにモデルをステップワイズに構築します。

    rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);X = array2table (X);创建数据表y = array2table (y);tbl = [X y];mdl = stepwiseglm(资源描述,...“不变”“上”“线性”“分布”“泊松”);
    1.加上x1, Deviance = 2515.02869, Chi2Stat = 47242.9622, PValue = 0加上x4, Deviance = 328.39679, Chi2Stat = 2186.6319, PValue = 0加上x5, Deviance = 96.3326, Chi2Stat = 232.0642, PValue = 2.114384e-52
  2. 新しいデータをいくつか生成して,データから予測を評価します。

    Xnew = randn(3,5) + repmat([1 2 3 4 5],[3,1]); / /重新定义%的新数据ynew =函数宏指令(mdl Xnew (: 1), Xnew (:, 4), Xnew (:, 5))%只需要预测因子1,4,5
    Ynew = 1.0e+04 * 0.1130 1.7375 3.7471

    同様に,

    ynew = feval(mdl,Xnew(:,[1 4 5]))%只需要预测因子1,4,5
    Ynew = 1.0e+04 * 0.1130 1.7375 3.7471

随机

随机メソッドは,指定された予測子の値に対して新しいランダムな応答値を生成します。応答値の分布は,モデルで使用される分布です。随机は予測子,推定係数およびリンク関数から分布の平均を計算します。正規分布などの分布の場合、モデルは応答の分散の推定値も提供します。二項分布およびポアソン分布の場合、応答の分散を平均によって判別します。随机は別個の”分布”推定値を使用しません。

この例は随机メソッドを使用して応答をシミュレートする方法を示しています。

  1. 人為的なデータでいくつかの予測子からモデルを作成します。データはXの2番目と3番目の列を使用しません。2番目と 3 番目の予測子の効果がほとんどないことは明らかです。関連する予測子を自動的に含むようにモデルをステップワイズに構築します。

    rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = stepwiseglm (X, y,...“不变”“上”“线性”“分布”“泊松”);
    1.加上x1, Deviance = 2515.02869, Chi2Stat = 47242.9622, PValue = 0加上x4, Deviance = 328.39679, Chi2Stat = 2186.6319, PValue = 0加上x5, Deviance = 96.3326, Chi2Stat = 232.0642, PValue = 2.114384e-52
  2. 新しいデータをいくつか生成して,データから予測を評価します。

    Xnew = randn(3,5) + repmat([1 2 3 4 5],[3,1]); / /重新定义%的新数据Xnew ysim =随机(mdl)
    Ysim = 1111 17121 37457

    随机による予測はポアソンの標本であり,整数です。

  3. 随机メソッドを再度評価すると,異なる結果が得られます。

    Xnew ysim =随机(mdl)
    Ysim = 1175 17320 37126

近似モデルの共有

モデルの表示には,他のユーザーが理論的にモデルを再作成するために必要な情報が含まれています。たとえば,以下のようにします。

rng (“默认”%的再现性X = randn (100 5);mu = exp(X(:,[1 4 5])*[2;1;.5]);y = poissrnd(μ);mdl = stepwiseglm (X, y,...“不变”“上”“线性”“分布”“泊松”
1.加上x1, Deviance = 2515.02869, Chi2Stat = 47242.9622, PValue = 0加上x4, Deviance = 328.39679, Chi2Stat = 2186.6319, PValue = 0加x5, Deviance = 96.3326, Chi2Stat = 232.0642, PValue = 2.114384e-52 mdl =广义线性回归模型:log(y) ~ 1 + x1 + x4 + x5 Distribution = Poisson Estimated Coefficients:估计SE tStat pValue (Intercept) 0.17604 0.062215 2.8295 0.004662 x1 1.9122 0.024638 77.614 0 x4 0.98521 0.026393 37.328 5.6696e-305 x5 0.61321 0.038435 15.955 2.647e -57 100个观测值,96个误差自由度

モデル記述にはプログラムを使用してアクセスすることもできます。たとえば,以下のようにします。

mdl.Coefficients.Estimate
Ans = 0.1760 1.9122 0.9852 0.6132
mdl。公式
Ans = log(y) ~ 1 + x1 + x4 + x5

参照

[1] Collett, D.建模二进制数据。纽约:查普曼与霍尔出版社,2002年出版。

刘志强,王志强,王志强。广义线性模型概论。纽约:查普曼与霍尔出版社,1990。

P. McCullagh和J. A. Nelder。广义线性模型。纽约:查普曼与霍尔出版社,1990。

Neter, J., M. H. Kutner, C. J. Nachtsheim, W. Wasserman。应用线性统计模型,第四版。欧文,芝加哥,1996年。