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 は標本サイズのパラメーターです。Dispersion が 1 に近い場合、データの分散は二項分布の理論的分散に一致して見えます。Dispersion が 1 より大きい場合、データ セットは二項分布に比べて "過剰に分散" しています。
データ型: double
この プロパティ は読み取り専用です。
fitglm が Dispersion のスケール係数を使用して Coefficients.SE の係数の標準誤差を計算したかどうかを示すフラグ。論理値を指定します。DispersionEstimated が false であれば、fitglm は分散の理論値を使用しました。
二項分布およびポアソン分布の場合のみ、
DispersionEstimatedはfalseになる可能性があります。fitglmまたはstepwiseglmの名前と値のペアの引数'DispersionFlag'を設定することによって、DispersionEstimatedを設定します。
データ型: logical
尤度推定のペナルティ。"none" または "jeffreys-prior" として指定します。
"none"— モデルの当てはめ時に尤度推定にペナルティを課しません。"jeffreys-prior"— ジェフリーズ事前分布を使用して尤度推定にペナルティを課します。
ロジスティック モデルでは、LikelihoodPenalty を "jeffreys-prior" に設定することを "Firth 回帰" と呼びます。標本の数が少ない場合や可分データ セットで二項 (ロジスティック) 回帰を実行する場合の係数推定バイアスを減らすには、学習時に LikelihoodPenalty を "jeffreys-prior" に設定します。
例: LikelihoodPenalty="jeffreys-prior"
データ型: char | string
この プロパティ は読み取り専用です。
応答値におけるモデルの分布の対数尤度。数値として指定します。平均はモデルから当てはめられ、他のパラメーターはモデルの当てはめに伴って推定されます。
データ型: 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 | 通常の (自由度未調整) 決定係数 |
通常の決定係数統計は、ほとんどの一般化線形回帰モデルにとって役立つメトリクスではないことに注意してください。 |
Adjusted | 係数の数に対する自由度調整済み決定係数 |
N は観測値の個数 ( 自由度調整済み決定係数統計は、ほとんどの一般化線形回帰モデルにとって役立つメトリクスではないことに注意してください。 |
LLR | 対数尤度比 |
L は当てはめたモデルの対数尤度 ( |
Deviance | 逸脱度決定係数 |
D は当てはめたモデルの逸脱度 ( |
AdjGeneralized | 一般化された自由度調整済み決定係数 |
R2AdjGeneralized は、ロジスティック回帰モデルに関して Maddala [3]、Cox-Snell [4]、および Magee [5]が提唱する式に Nagelkerke の調整[2]を加えたものです。 |
通常の決定係数統計と自由度調整済み決定係数統計は、ほとんどの一般化線形回帰モデルにとって役立つメトリクスではないことに注意してください。
データ型: struct
この プロパティ は読み取り専用です。
誤差 (残差) の二乗和。数値を指定します。観測値の重みを使用して学習させたモデルの場合、SSE の計算の二乗和は重み付き二乗和です。
データ型: single | double
この プロパティ は読み取り専用です。
回帰二乗和。数値を指定します。SSR は、当てはめた値と応答の平均の間における偏差の二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SSR の計算の二乗和は重み付き二乗和です。
データ型: single | double
この プロパティ は読み取り専用です。
二乗の総和。数値を指定します。SST は、mean(y) に対する応答ベクトル y の偏差二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SST の計算の二乗和は重み付き二乗和です。
データ型: single | double
入力データ
この プロパティ は読み取り専用です。
一般化分布の情報。次の表で説明されているフィールドをもつ構造体として指定します。
| フィールド | 説明 |
|---|---|
Name | 分布の名前: 'normal'、'binomial'、'poisson'、'gamma'、または 'inverse gaussian' |
DevianceFunction | 当てはめを行ったパラメーター値とその応答値との関数として逸脱度の成分を計算する関数 |
VarianceFunction | 当てはめを行ったパラメーター値の関数として分布の理論的分散を計算する関数。DispersionEstimated が true である場合、係数の標準誤差を計算するときに分散関数に Dispersion が乗算されます。 |
データ型: struct
オブジェクトの作成後、このプロパティは読み取り専用になります。
モデルの情報。LinearFormula オブジェクトとして表されます。
ドット表記を使用して、当てはめたモデル mdl の式を表示します。
mdl.Formula
この プロパティ は読み取り専用です。
リンク関数。次の表で説明されているフィールドをもつ構造体として指定します。
| フィールド | 説明 |
|---|---|
Name | リンク関数の名前。文字ベクトルとして指定します。関数ハンドルを使用してリンク関数を指定する場合、Name は '' となります。 |
Link | リンク関数を定義する関数 f。関数ハンドルとして指定します。 |
Derivative | f の導関数。関数ハンドルとして指定します。 |
Inverse | f の逆数。関数ハンドルとして指定します。 |
リンク関数は、分布パラメーター μ を予測子の当てはめられた線形結合 Xb にリンクさせる関数 f です。
f(μ) = Xb.
データ型: struct
この プロパティ は読み取り専用です。
近似関数が当てはめで使用した観測値の個数。正の整数を指定します。NumObservations は、元の table、データセットまたは行列で指定された観測値の個数から、除外する行数 (名前と値のペアの引数 'Exclude' で設定) または欠損値が含まれている行数を減算した値です。
データ型: double
オブジェクトの作成後、このプロパティは読み取り専用になります。
モデルの当てはめに使用した予測子変数の数。正の整数として表されます。
データ型: double
オブジェクトの作成後、このプロパティは読み取り専用になります。
入力データに含まれている変数の数。正の整数として表されます。NumVariables は、元の table に含まれている変数の数、または予測子行列と応答ベクトルの列の総数です。
NumVariables には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: double
オブジェクトの作成後、このプロパティは読み取り専用になります。
モデルの当てはめに使用した予測子の名前。文字ベクトルの cell 配列として表されます。
データ型: cell
オブジェクトの作成後、このプロパティは読み取り専用になります。
応答変数の名前。文字ベクトルとして表されます。
データ型: char
オブジェクトの作成後、このプロパティは読み取り専用になります。
Variables に格納されている変数に関する情報。変数ごとに 1 つの行と以下に示す列で構成される table として表されます。
| 列 | 説明 |
|---|---|
Class | 変数のクラス。'double' や 'categorical' などの文字ベクトルによる cell 配列を指定します。 |
Range | 変数の範囲。ベクトルの cell 配列を指定します。
|
InModel | 当てはめたモデルにどの変数が含まれているかを示すインジケーター。logical ベクトルを指定します。モデルに変数が含まれている場合、値は true です。 |
IsCategorical | カテゴリカル変数のインジケーター。logical ベクトルを指定します。変数がカテゴリカルである場合、値は true です。 |
VariableInfo には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: table
オブジェクトの作成後、このプロパティは読み取り専用になります。
変数の名前。文字ベクトルの cell 配列として返されます。
当てはめが table に基づいている場合、その table 内の変数の名前がこのプロパティに格納されます。
当てはめが予測子行列と応答ベクトルに基づいている場合、当てはめ手法の名前と値の引数
VarNamesによって指定された値がこのプロパティに格納されます。VarNamesの既定値は{'x1','x2',...,'xn','y'}です。
VariableNames には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: cell
オブジェクト関数
coefCI | 一般化線形回帰モデルの係数推定の信頼区間 |
coefTest | 一般化線形回帰モデルの係数に対する線形仮説検定 |
devianceTest | 一般化線形回帰モデルの逸脱度の分析 |
partialDependence | 部分依存の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
plotSlice | 当てはめられた一般化線形回帰面を通るスライスのプロット |
gather | Gather properties of Statistics and Machine Learning Toolbox object from GPU |
例
一般化線形回帰モデルをデータに当てはめ、当てはめプロセスに関する情報の一部と標本データを破棄することにより、当てはめた完全なモデルのサイズを縮小します。
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
17060 4384077
コンパクトなモデルは、完全なモデルよりメモリ消費量が少なくなります。
詳細
逸脱度は、残差二乗和を汎化したものです。飽和モデルと比較した適合度を測定します。
モデル M1 の逸脱度は、モデル M1 の対数尤度と飽和モデル Ms の対数尤度の差の 2 倍です。飽和モデルは、推定可能な最大数のパラメーターを含むモデルです。
たとえば、n 個の観測値 (yi, i = 1, 2, ..., n) があり、XiTβ の値が異なる可能性がある場合、n 個のパラメーターを含む飽和モデルを定義できます。L(b,y) がパラメーター b をもつモデルの尤度関数の最大値を示しているものとします。この場合、モデル M1 の逸脱度は以下のようになります。
ここで、b1 および bs には、それぞれモデル M1 および飽和モデルの推定パラメーターが含まれます。逸脱度は自由度 n – p のカイ二乗分布になります。ここで、n は飽和モデルのパラメーター数、p はモデル M1 のパラメーター数です。
2 つの異なる一般化線形回帰モデル M1 および M2 があり、M1 は M2 内の項のサブセットをもつと仮定します。モデルの当てはめは、それらの逸脱度 D1 と D2 を比較することによって評価できます。逸脱度の差異は以下のとおりです。
差異 D は漸近的にカイ二乗分布となりますが、その自由度 v は、M1 および M2 で推定されたパラメーター数の差異に等しくなります。この検定の p 値は 1 — chi2cdf(D,v) を使用して取得できます。
通常は、定数項をもち予測子をもたないモデル M2 を使用して D を調べます。そのため、D は自由度が p – 1 のカイ二乗分布となります。分散を推定する場合、推定された分散で除算した差異は、分子の自由度が p – 1、分母の自由度が n – p の F 分布となります。
参照
[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.
拡張機能
使用上の注意および制限:
CompactGeneralizedLinearModelモデルのオブジェクト関数は GPU 配列を完全にサポートしています。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2016b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)