CompactLinearModel
コンパクトな線形回帰モデル
説明
CompactLinearModel は、完全な線形回帰モデル オブジェクト LinearModel のコンパクトなバージョンです。コンパクトなモデルにはモデルを当てはめるために使用した入力データや当てはめプロセスに関する情報が格納されていないので、CompactLinearModel オブジェクトは LinearModel オブジェクトより消費メモリが少なくなります。コンパクトなモデルと新しい入力データを使用して応答を予測することはできますが、LinearModel オブジェクトの一部の関数はコンパクトなモデルに対して機能しません。
作成
compact を使用して、完全な学習済み LinearModel モデルから CompactLinearModel モデルを作成します。
プロパティ
係数推定値
この プロパティ は読み取り専用です。
係数推定値の共分散行列。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
要約統計量
この プロパティ は読み取り専用です。
誤差 (残差) の自由度。推定された係数の数を観測値の数から減算した値に等しくなります。正の整数として表されます。
データ型: double
この プロパティ は読み取り専用です。
応答値の対数尤度。数値を指定します。各応答値が正規分布に従うという仮定に基づきます。正規分布の平均は当てはめた (予測した) 応答値、分散は MSE です。
データ型: 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
この プロパティ は読み取り専用です。
平均二乗誤差 (残差)。数値を指定します。
MSE = SSE / DFE,
MSE は平均二乗誤差、SSE は残差平方和、DFE は自由度です。
データ型: single | double
この プロパティ は読み取り専用です。
平方根平均二乗誤差 (残差)。数値を指定します。
RMSE = sqrt(MSE),
RMSE は平方根平均二乗誤差、MSE は平均二乗誤差です。
データ型: single | double
この プロパティ は読み取り専用です。
モデルの決定係数の値。2 つのフィールドがある構造体を指定します。
Ordinary— 通常の (自由度未調整) 決定係数Adjusted— 係数の数に対する自由度調整済み決定係数
決定係数の値は、モデルによって説明される二乗総和の比率です。通常の決定係数の値は、SSR プロパティおよび SST プロパティに関連します。
Rsquared = SSR/SST,
ここで、SST は二乗総和、SSR は回帰二乗和です。
詳細については、決定係数 (R-squared)を参照してください。
これらの値のいずれかをスカラーとして取得するには、ドット表記を使用してプロパティのインデックスを指定します。たとえば、モデル mdl の自由度調整済み決定係数の値を取得するには、次のようにします。
r2 = mdl.Rsquared.Adjusted
データ型: struct
この プロパティ は読み取り専用です。
誤差 (残差) の二乗和。数値を指定します。観測値の重みを使用して学習させたモデルの場合、SSE の計算の二乗和は重み付き二乗和です。
切片をもつ線形モデルでは、ピタゴラスの定理により、次のようになります。
SST = SSE + SSR,
SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。
ロバスト線形モデルにおける SST の計算の詳細については、SST を参照してください。
データ型: single | double
この プロパティ は読み取り専用です。
回帰二乗和。数値を指定します。SSR は、当てはめた値と応答の平均の間における偏差の二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SSR の計算の二乗和は重み付き二乗和です。
切片をもつ線形モデルでは、ピタゴラスの定理により、次のようになります。
SST = SSE + SSR,
SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。
ロバスト線形モデルにおける SST の計算の詳細については、SST を参照してください。
データ型: single | double
この プロパティ は読み取り専用です。
二乗の総和。数値を指定します。SST は、mean(y) に対する応答ベクトル y の偏差二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SST の計算の二乗和は重み付き二乗和です。
切片をもつ線形モデルでは、ピタゴラスの定理により、次のようになります。
SST = SSE + SSR,
SST は二乗総和、SSE は残差平方和、SSR は回帰二乗和です。
ロバスト線形モデルの場合、SST は、mean(y) に対する応答ベクトル y の偏差二乗和として計算されません。SST = SSE + SSR のように計算されます。
データ型: single | double
近似法
この プロパティ は読み取り専用です。
ロバスト近似の情報。次の表で説明されているフィールドをもつ構造体を指定します。
| フィールド | 説明 |
|---|---|
WgtFun | 'bisquare' などのロバストな重み付け関数 ('RobustOpts' を参照) |
Tune | 調整定数。WgtFun が 'ols' である場合、または、WgtFun が、既定の調整定数が 1 であるカスタム重み関数の関数ハンドルである場合、このフィールドは空 ([]) です。 |
Weights | ロバスト近似の最後の反復で使用された重みのベクトル。CompactLinearModel オブジェクトの場合、このフィールドは空です。 |
ロバスト回帰を使用してモデルを当てはめた場合を除き、この構造体は空です。
データ型: 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 配列を指定します。
|
InModel | 当てはめたモデルにどの変数が含まれているかを示すインジケーター。logical ベクトルを指定します。モデルに変数が含まれている場合、値は true です。 |
IsCategorical | カテゴリカル変数のインジケーター。logical ベクトルを指定します。変数がカテゴリカルである場合、値は true です。 |
VariableInfo には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: table
オブジェクトの作成後、このプロパティは読み取り専用になります。
変数の名前。文字ベクトルの cell 配列として返されます。
当てはめが table に基づいている場合、その table 内の変数の名前がこのプロパティに格納されます。
当てはめが予測子行列と応答ベクトルに基づいている場合、当てはめ手法の名前と値の引数
VarNamesによって指定された値がこのプロパティに格納されます。VarNamesの既定値は{'x1','x2',...,'xn','y'}です。
VariableNames には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: cell
オブジェクト関数
anova | 線形回帰モデルの分散分析 |
coefCI | 線形回帰モデルの係数推定値の信頼区間 |
coefTest | 線形回帰モデルの係数に対する線形仮説検定 |
partialDependence | 部分依存の計算 |
plotEffects | 線形回帰モデルの予測子の主効果をプロット |
plotInteraction | 線形回帰モデルの 2 つの予測子の交互作用効果のプロット |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
plotSlice | 当てはめた線形回帰面を通るスライスのプロット |
gather | Gather properties of Statistics and Machine Learning Toolbox object from GPU |
例
線形回帰モデルをデータに当てはめ、当てはめプロセスに関する情報の一部と標本データを破棄することにより、当てはめた完全な線形回帰モデルのサイズを縮小します。
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
85228 11412705
コンパクトなモデルは、完全なモデルよりメモリ消費量が少なくなります。
拡張機能
使用上の注意および制限:
CompactLinearModelモデルのオブジェクト関数は GPU 配列を完全にサポートしています。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2016a で導入
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)