Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

CompactGeneralizedLinearModel

コンパクトな一般化線形回帰モデル クラス

説明

CompactGeneralizedLinearModel は、完全な一般化線形回帰モデル オブジェクト GeneralizedLinearModel のコンパクトなバージョンです。コンパクトなモデルにはモデルを当てはめるために使用した入力データや当てはめプロセスに関する情報が格納されていないので、CompactGeneralizedLinearModel オブジェクトは GeneralizedLinearModel オブジェクトより消費メモリが少なくなります。コンパクトなモデルと新しい入力データを使用して応答を予測することはできますが、GeneralizedLinearModel オブジェクトの一部の関数はコンパクトなモデルに対して機能しません。

作成

compact を使用して、完全な学習済み GeneralizedLinearModel モデルから CompactGeneralizedLinearModel モデルを作成します。

fitglm は、tall 配列を処理する場合は CompactGeneralizedLinearModel を返し、インメモリのテーブルと配列を処理する場合は GeneralizedLinearModel を返します。

プロパティ

すべて展開する

係数推定値

この プロパティ は読み取り専用です。

係数推定値の共分散行列。p 行 p 列の数値の行列を指定します。p は、当てはめたモデルの係数の個数で、NumCoefficients で与えられます。

詳細については、係数の標準誤差と信頼区間を参照してください。

データ型: single | double

この プロパティ は読み取り専用です。

係数の名前。対応する項の名前が含まれている文字ベクトルの cell 配列を指定します。

データ型: cell

この プロパティ は読み取り専用です。

係数の値。table を指定します。Coefficients には、各係数に対応する 1 つずつの行と次の列が格納されます。

  • Estimate — 推定される係数値

  • SE — 推定の標準誤差

  • tStat — 係数がゼロであるという帰無仮説をもつ両側検定の t 統計量

  • pValue — t 統計量の p 値

係数に対する他の検定を実行するには、anova (線形回帰モデルの場合のみ) または coefTest を使用します。係数推定値の信頼区間を求めるには、coefCI を使用します。

ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl 内の推定された係数ベクトルを取得するには、次のようにします。

beta = mdl.Coefficients.Estimate

データ型: table

この プロパティ は読み取り専用です。

モデルの係数の個数。正の整数を指定します。NumCoefficients には、モデルの項がランク落ちとなる場合にゼロに設定される係数が含まれます。

データ型: double

この プロパティ は読み取り専用です。

モデル内の推定された係数の個数。正の整数を指定します。NumEstimatedCoefficients には、モデルの項がランク落ちとなる場合にゼロに設定される係数は含まれません。NumEstimatedCoefficients は回帰の自由度です。

データ型: double

要約統計量

この プロパティ は読み取り専用です。

当てはめの逸脱度。数値を指定します。逸脱度は、一方のモデルが他方のモデルの特別なケースである 2 つのモデルを比較するために役立ちます。2 つのモデルの逸脱度の差異は、2 つのモデル間に推定されるパラメーター数の差異と等しい自由度をもつカイ二乗分布になります。詳細は、逸脱度を参照してください。

データ型: single | double

この プロパティ は読み取り専用です。

誤差 (残差) の自由度。推定された係数の個数を観測値の個数から減算した値に等しくなります。正の整数を指定します。

データ型: double

この プロパティ は読み取り専用です。

応答の分散のスケール係数。数値スカラーとして指定します。

fitglm または stepwiseglm の名前と値のペアの引数 'DispersionFlag'true である場合、関数は、応答の分散を計算する際にスケール係数 Dispersion を推定します。応答の分散は、スケール係数を乗算した理論的分散に等しくなります。

たとえば、二項分布の分散関数は p(1–p)/n です。ここで p は確率パラメーターで、n は標本サイズのパラメーターです。Dispersion1 に近い場合、データの分散は二項分布の理論的分散に一致して見えます。Dispersion1 より大きい場合、データセットは二項分布に比べて "過剰に分散" しています。

データ型: double

この プロパティ は読み取り専用です。

fitglmDispersion のスケール係数を使用して Coefficients.SE の係数の標準誤差を計算したかどうかを示すフラグ。論理値を指定します。DispersionEstimatedfalse であれば、fitglm は分散の理論値を使用しました。

  • 二項分布およびポアソン分布の場合のみ、DispersionEstimatedfalse になる可能性があります。

  • fitglm または stepwiseglm の名前と値のペアの引数 'DispersionFlag' を設定することによって、DispersionEstimated を設定します。

データ型: logical

この プロパティ は読み取り専用です。

応答値におけるモデルの分布の対数尤度。数値として指定します。平均はモデルから当てはめられ、他のパラメーターはモデルの当てはめに伴って推定されます。

データ型: single | double

この プロパティ は読み取り専用です。

モデルの比較基準。次のフィールドがある構造体を指定します。

  • AIC — 赤池情報量基準。AIC = –2*logL + 2*m であり、ここで logL は対数尤度、m は推定パラメーターの数です。

  • AICc — 標本サイズについて修正された赤池情報量基準。AICc = AIC + (2*m*(m + 1))/(n – m – 1) であり、ここで n は観測値の数です。

  • BIC — ベイズ情報量基準。BIC = –2*logL + m*log(n) です。

  • CAIC — 一貫した赤池情報量基準。CAIC = –2*logL + m*(log(n) + 1) です。

情報量基準は、同じデータに当てはめた複数のモデルを比較するために使用できるモデル選択ツールです。これらの基準は、尤度に基づくモデル近似の尺度であり、複雑度 (特にパラメーター数) に対するペナルティが含まれています。情報量基準が異なるとペナルティの形式が異なります。

複数のモデルを比較した場合に、情報量基準の値が最も小さいモデルが最良近似モデルです。最良近似モデルは、モデルの比較に使用する基準によって変化する可能性があります。

これらの基準値のいずれかをスカラーとして取得するには、ドット表記を使用してプロパティのインデックスを指定します。たとえば、モデル mdl の AIC 値 aic を取得するには、次のようにします。

aic = mdl.ModelCriterion.AIC

データ型: struct

この プロパティ は読み取り専用です。

モデルの決定係数の値。5 つのフィールドがある構造体を指定します。

フィールド説明
Ordinary通常の (自由度未調整) 決定係数

ROrdinary2=1SSESST

SSE は誤差の二乗和、SST は応答ベクトルの平均に対する応答ベクトルの偏差の二乗総和です。

Adjusted係数の数に対する自由度調整済み決定係数

RAdjusted2=1SSESSTN1DFE

N は観測値の個数 (NumObservations)、DFE は誤差 (残差) の自由度です。

LLR対数尤度比

RLLR2=1LL0

L は当てはめたモデルの対数尤度 (LogLikelihood)、L0 は定数項のみを含むモデルの対数尤度です。R2LLR は、ロジスティック回帰モデルの McFadden 疑似決定係数の値[1]です。

Deviance逸脱度決定係数

RDeviance2=1DD0

D は当てはめたモデルの逸脱度 (Deviance)、D0 は定数項のみを含むモデルの逸脱度です。

AdjGeneralized一般化された自由度調整済み決定係数

RAdjGeneralized2=1exp(2(L0L)N)1exp(2L0N)

R2AdjGeneralized は、ロジスティック回帰モデルに関して Maddala [3]、Cox-Snell [4]、および Magee [5]が提唱する式に Nagelkerke の調整[2]を加えたものです。

これらの値のいずれかをスカラーとして取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl の自由度調整済み決定係数の値を取得するには次のように入力します。

r2 = mdl.Rsquared.Adjusted

データ型: struct

この プロパティ は読み取り専用です。

誤差 (残差) の二乗和。数値を指定します。観測値の重みを使用して学習させたモデルの場合、SSE の計算の二乗和は重み付き二乗和です。

データ型: single | double

この プロパティ は読み取り専用です。

回帰二乗和。数値を指定します。SSR は、当てはめた値と応答の平均の間における偏差の二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SSR の計算の二乗和は重み付き二乗和です。

データ型: single | double

この プロパティ は読み取り専用です。

二乗の総和。数値を指定します。SST は、mean(y) に対する応答ベクトル y の偏差二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SST の計算の二乗和は重み付き二乗和です。

データ型: single | double

入力データ

この プロパティ は読み取り専用です。

一般化分布の情報。次の表で説明されているフィールドをもつ構造体として指定します。

フィールド説明
Name分布の名前: 'normal''binomial''poisson''gamma'、または 'inverse gaussian'
DevianceFunction当てはめを行ったパラメーター値とその応答値との関数として逸脱度の成分を計算する関数
VarianceFunction当てはめを行ったパラメーター値の関数として分布の理論的分散を計算する関数。DispersionEstimatedtrue である場合、係数の標準誤差を計算するときに分散関数に Dispersion が乗算されます。

データ型: struct

この プロパティ は読み取り専用です。

モデルの情報。LinearFormula オブジェクトを指定します。

ドット表記を使用して、当てはめたモデル mdl の式を表示します。

mdl.Formula

この プロパティ は読み取り専用です。

近似関数が当てはめで使用した観測値の個数。正の整数を指定します。NumObservations は、元の table、データセットまたは行列で指定された観測値の個数から、除外する行数 (名前と値のペアの引数 'Exclude' で設定) または欠損値が含まれている行数を減算した値です。

データ型: double

この プロパティ は読み取り専用です。

モデルの当てはめに使用した予測子変数の個数。正の整数を指定します。

データ型: double

この プロパティ は読み取り専用です。

入力データに含まれている変数の個数。正の整数を指定します。NumVariables は、元の table またはデータセットに含まれている変数の個数、または予測子行列と応答ベクトルの列の総数です。

NumVariables には、予測子または応答としてモデルの当てはめに使用される変数ではないものも含まれます。

データ型: double

この プロパティ は読み取り専用です。

モデルの当てはめに使用した予測子の名前。文字ベクトルの cell 配列を指定します。

データ型: cell

この プロパティ は読み取り専用です。

応答変数名。文字ベクトルを指定します。

データ型: char

この プロパティ は読み取り専用です。

Variables に格納されている入力変数に関する情報。各変数に対応する 1 つずつの行と次の表で説明されている列がある table を指定します。

説明
Class変数のクラス。'double''categorical' などの文字ベクトルによる cell 配列を指定します。
Range

変数の範囲。ベクトルの cell 配列を指定します。

  • 連続変数 — 2 因子ベクトル [min,max]、最小値と最大値

  • カテゴリカル変数 — 異なる変数値のベクトル

InModel当てはめたモデルにどの変数が含まれているかを示すインジケーター。logical ベクトルを指定します。モデルに変数が含まれている場合、値は true です。
IsCategoricalカテゴリカル変数のインジケーター。logical ベクトルを指定します。変数がカテゴリカルである場合、値は true です。

VariableInfo には、予測子または応答としてモデルの当てはめに使用される変数ではないものも含まれます。

データ型: table

この プロパティ は読み取り専用です。

変数の名前。文字ベクトルの cell 配列を指定します。

  • 当てはめが table またはデータセットに基づいている場合、このプロパティはその table またはデータセット内の変数の名前を与えます。

  • 当てはめが予測行列と応答ベクトルに基づいている場合、近似メソッドの名前と値のペアの引数 'VarNames' によって指定された値が VariableNames に格納されます。'VarNames' の既定値は {'x1','x2',...,'xn','y'} です。

VariableNames には、予測子または応答としてモデルの当てはめに使用される変数ではないものも含まれます。

データ型: cell

オブジェクト関数

すべて展開する

feval各予測子について 1 つずつ入力を使用して一般化線形回帰モデルの応答を予測
predict一般化線形回帰モデルの応答予測
randomランダム ノイズがある応答を一般化線形回帰モデルに対するシミュレート
coefCI一般化線形回帰モデルの係数推定の信頼区間
coefTest一般化線形回帰モデルの係数に対する線形仮説検定
devianceTest一般化線形回帰モデルの逸脱度の分析
partialDependence部分依存の計算
plotPartialDependence部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
plotSlice近似された一般化線形回帰面を通るスライスのプロット
gatherGPU からの Statistics and Machine Learning Toolbox オブジェクトのプロパティの収集

すべて折りたたむ

一般化線形回帰モデルをデータに当てはめ、当てはめプロセスに関する情報の一部と標本データを破棄することにより、当てはめた完全なモデルのサイズを縮小します。

largedata4reg データセットを読み込みます。このデータセットには、15,000 個の観測値と 45 個の予測子変数が含まれています。

load largedata4reg

最初の 15 個の予測子変数を使用して、一般化線形回帰モデルをデータに当てはめます。

mdl = fitglm(X(:,1:15),Y);

モデルを圧縮します。

compactMdl = compact(mdl);

コンパクトなモデルでは、当てはめプロセスに関する一部の情報と元の標本データが破棄されるので、完全なモデルよりメモリ使用量が少なくなります。

完全なモデル mdl とコンパクト モデル compactMdl のサイズを比較します。

vars = whos('compactMdl','mdl');
[vars(1).bytes,vars(2).bytes]
ans = 1×2

       15518     4382501

コンパクトなモデルは、完全なモデルよりメモリ消費量が少なくなります。

詳細

すべて展開する

参照

[1] McFadden, Daniel. "Conditional logit analysis of qualitative choice behavior." in Frontiers in Econometrics, edited by P. Zarembka,105–42. New York: Academic Press, 1974.

[2] Nagelkerke, N. J. D. "A Note on a General Definition of the Coefficient of Determination." Biometrika 78, no. 3 (1991): 691–92.

[3] Maddala, Gangadharrao S. Limited-Dependent and Qualitative Variables in Econometrics. Econometric Society Monographs. New York, NY: Cambridge University Press, 1983.

[4] Cox, D. R., and E. J. Snell. Analysis of Binary Data. 2nd ed. Monographs on Statistics and Applied Probability 32. London; New York: Chapman and Hall, 1989.

[5] Magee, Lonnie. "R 2 Measures Based on Wald and Likelihood Ratio Joint Significance Tests." The American Statistician 44, no. 3 (August 1990): 250–53.

拡張機能

バージョン履歴

R2016b で導入