ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

CompactLinearModel

コンパクトな線形回帰モデル

説明

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

作成

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

プロパティ

すべて展開する

係数推定値

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

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

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

データ型: single | double

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

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

データ型: cell

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

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

  • Estimate — 推定される係数値

  • SE — 推定の標準誤差

  • tStat — 係数が 0 であるかどうかに対する検定の t 統計量

  • pValue — t 統計量の p 値

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

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

beta = mdl.Coefficients.Estimate

データ型: テーブル

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

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

データ型: double

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

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

データ型: double

要約統計

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

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

データ型: double

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

応答値の対数尤度。数値を指定します。各応答値が正規分布に従うという仮定に基づきます。正規分布の平均はあてはめた (予測した) 応答値、分散は MSE です。

データ型: single | double

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

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

  • AIC — 赤池情報量基準。AIC = –2*logL + 2*mlogL は対数尤度、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

データ型: 構造体

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

平均二乗誤差 (残差)。数値を指定します。

MSE = SSE / DFE,

MSE は平均二乗誤差、SSE は残差平方和、DFE は自由度です。

データ型: single | double

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

平方根平均二乗誤差 (残差)。数値を指定します。

RMSE = sqrt(MSE)

RMSE は平方根平均二乗誤差、MSE は平均二乗誤差です。

データ型: single | double

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

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

  • Ordinary — 通常の (自由度未調整) 決定係数

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

決定係数の値は、モデルによって説明される二乗総和の比率です。通常の決定係数の値は、SSR プロパティおよび SST プロパティに関連します。

Rsquared = SSR/SST = 1 – SSE/SST

SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。

詳細については、決定係数 (R-squared)を参照してください。

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

r2 = mdl.Rsquared.Adjusted

データ型: 構造体

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

誤差 (残差) の二乗和。数値を指定します。

ピタゴラスの定理により、次のようになります。

SST = SSE + SSR

SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。

データ型: single | double

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

回帰二乗和。数値を指定します。回帰二乗和は、近似値の平均に対する近似値の偏差二乗和に等しい値です。

ピタゴラスの定理により、次のようになります。

SST = SSE + SSR

SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。

データ型: single | double

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

二乗総和。数値を指定します。二乗総和は、mean(y) に対する応答ベクトル y の偏差二乗和に等しい値です。

ピタゴラスの定理により、次のようになります。

SST = SSE + SSR

SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。

データ型: single | double

近似法

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

ロバスト近似の情報。次の表で説明されているフィールドをもつ構造体を指定します。

フィールド説明
WgtFun'bisquare' などのロバストな重み付け関数 ('RobustOpts' を参照)
Tune調整定数。WgtFun'ols' である場合、または、WgtFun が、既定の調整定数が 1 であるカスタム重み関数の関数ハンドルである場合、このフィールドは空 ([]) です。
Weightsロバスト近似の最後の反復で使用された重みのベクトル。CompactLinearModel オブジェクトの場合、このフィールドは空です。

ロバスト回帰を使用してモデルをあてはめた場合を除き、この構造体は空です。

データ型: 構造体

入力データ

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

モデルの情報。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 には、予測子または応答としてモデルのあてはめに使用される変数ではないものも含まれます。

データ型: テーブル

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

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

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

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

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

データ型: cell

オブジェクト関数

すべて展開する

feval各予測子について 1 つずつ入力を使用して線形回帰モデルの応答を予測
predict線形回帰モデルの応答を予測
randomランダム ノイズがある応答を線形回帰モデルに対してシミュレート
anova線形回帰モデルの分散分析
coefCI線形回帰モデルの係数推定値の信頼区間
coefTest線形回帰モデルの係数に対する線形仮説検定
plotEffects線形回帰モデルの予測子の主効果をプロット
plotInteraction線形回帰モデルの 2 つの予測子の交互作用効果のプロット
plotPartialDependence部分従属プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
plotSlice近似線形回帰面を通るスライスのプロット

すべて折りたたむ

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

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

load largedata4reg

線形回帰モデルをデータにあてはめます。

mdl = fitlm(X,Y);

モデルを圧縮します。

compactMdl = compact(mdl);

コンパクトなモデルでは、あてはめプロセスに関する一部の情報と元の標本データが破棄されます。

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

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

       83506    11410618

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

拡張機能

R2016a で導入