メインコンテンツ

plotResiduals

一般化線形回帰モデルの残差プロット

説明

plotResiduals(mdl) は、一般化線形回帰モデル (mdl) の残差のヒストグラム プロットを作成します。

plotResiduals(mdl,plottype) は、残差のプロット タイプ plottype を指定します。

plotResiduals(mdl,plottype,Name,Value) では、1 つ以上の名前と値のペアの引数を使用して追加オプションを指定します。たとえば、残差のタイプや、残差のデータ点のグラフィック プロパティを指定できます。

plotResiduals(ax,___) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、現在の座標軸 (gca) ではなく ax によって指定される座標軸にプロットします。 (R2024a 以降)

h = plotResiduals(___) は、プロット内のラインまたはパッチに対するグラフィックス オブジェクトを返します。プロットの作成後に特定のラインまたはパッチのプロパティを修正するには、h を使用します。プロパティの一覧については、Line のプロパティ および Patch のプロパティ を参照してください。

すべて折りたたむ

当てはめた一般化線形回帰モデルのプロットを 3 つ (生の残差のヒストグラム、生の残差の正規確率プロット、および Anscombe タイプの残差の正規確率プロット) 作成します。

基となる 2 つの予測子 X(:,1) および X(:,2) のポアソン乱数を使って標本データを生成します。

rng('default') % For reproducibility
rndvars = randn(100,2);
X = [2 + rndvars(:,1),rndvars(:,2)];
mu = exp(1 + X*[1;2]);
y = poissrnd(mu);

ポアソン データの一般化線形回帰モデルを作成します。

mdl = fitglm(X,y,'y ~ x1 + x2','Distribution','poisson');

確率密度関数のスケールを使用して、生の残差のヒストグラムを作成します。

plotResiduals(mdl)

Figure contains an axes object. The axes object with title Histogram of residuals, xlabel Residuals, ylabel Probability density contains an object of type patch.

各バーの面積は、観測値の相対的な個数です。バーの面積の合計は 1 に等しくなります。

生の残差の正規確率プロットを作成します。

plotResiduals(mdl,'probability')

Figure contains an axes object. The axes object with title Normal probability plot of residuals, xlabel Residuals, ylabel Probability contains 2 objects of type functionline, line. One or more of the lines displays its values using only markers

裾における残差は、より分散しているので、正規分布に一致しません。

Anscombe タイプの残差の正規確率プロットを作成します。

plotResiduals(mdl,'probability','ResidualType','Anscombe')

Figure contains an axes object. The axes object with title Normal probability plot of residuals, xlabel Residuals, ylabel Probability contains 2 objects of type functionline, line. One or more of the lines displays its values using only markers

Anscombe タイプの残差は正規分布に一致します。

入力引数

すべて折りたたむ

一般化線形回帰モデル。fitglm または stepwiseglm を使用して作成した GeneralizedLinearModel オブジェクトとして指定します。

プロット タイプ。次の表のいずれかの値として指定します。

説明
"caseorder"残差とケース順 (行番号) の比較
"fitted"残差と近似値の比較
"histogram"確率密度関数のスケールを使用した、残差のヒストグラム。各バーの面積は、観測値の相対的な個数です。バーの面積の合計は 1 に等しくなります。
"lagged"残差とラグ付き残差の比較 (r(t) と r(t – 1))
"probability"残差の正規確率プロット。詳細については、probplotを参照してください。
"observed"観測値と当てはめた値の比較。このプロットには、y = x に対応する点線の基準線が含まれています。対応する観測値から基準線までの垂直距離でそれぞれの残差が表されます。
"symmetry"メディアン周辺の残差の対称性プロット (上裾の残差から中央値を減算した値と中央値から下裾の残差を減算した値の比較)。このプロットには、残差の対称性を確認するための、y = x に対応する点線の基準線が含まれています。

R2024a 以降

ターゲットの座標軸。axes オブジェクトとして指定します。座標軸を指定しない場合、plotResiduals は現在の座標軸 (gca) を使用します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'Color','blue','Marker','o'

メモ

ここでは、グラフィック プロパティの一部だけを紹介しています。完全な一覧は、ラインについては Line のプロパティ、ヒストグラムについては Patch のプロパティ を参照してください。指定したプロパティは、残差のデータ点の外観またはヒストグラムの外観に適用されます。

プロットで使用する残差のタイプ。'ResidualType' と次の表のいずれかの値から構成されるコンマ区切りのペアとして指定します。

説明
'Raw'観測した値から当てはめた値を減算した値
'LinearPredictor'調整応答値から予測子の当てはめた線形結合を減算した値に等しい、線形予測子のスケールでの残差
'Pearson'生の残差を応答の推定標準偏差で除算した値
'Anscombe'歪度を削除するために選択した変換で変換データに対して定義された残差
'Deviance'観測の逸脱度への寄与に基づく残差。

mdlResiduals プロパティには、plotResiduals がプロットの作成に使用した残差の値が格納されます。

例: 'ResidualType','Pearson'

ラインの色。RGB 3 成分、16 進数カラー コード、あるいは以下の表に記載されているいずれかの色オプションに対応する色の名前または省略名として指定します。

MarkerEdgeColor"auto" (既定) であり MarkerFaceColor"auto" である場合、名前と値の引数 Color はマーカーの輪郭の色とマーカーの塗りつぶし色も決定します。

カスタム色の場合は、RGB 3 成分または 16 進数のカラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 要素の行ベクトルです。強度は範囲 [0,1] に含まれていなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数のカラー コードは、ハッシュ記号 (#) で始まり、0 から F の範囲にある 16 進数が 3 つまたは 6 つ続く、string スカラーまたは文字ベクトルです。この値では、大文字と小文字は区別されません。したがって、カラー コード "#FF8800""#ff8800""#F80""#f80" は等価です。

あるいは、一部の一般的な色を名前で指定できます。次の表は、名前が付いた色のオプション、等価な RGB 3 成分、および 16 進数カラー コードの一覧です。

色の名前省略名RGB 3 成分16 進数のカラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

次の表に、ライト テーマとダーク テーマのプロット用の既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定の設定

R2025a より前: ほとんどのプロットでは、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定の設定

Sample of the "glow" color palette

これらのパレットの RGB 3 成分と 16 進数カラー コードは、orderedcolors 関数と rgb2hex 関数を使用して取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、それらを 16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して 16 進数カラー コードを取得します。

例: Color="blue"

データ型: single | double | string | char

ラインの幅。ポイント単位の正の値として指定します。ラインにマーカーがある場合、ライン幅はマーカー エッジにも影響を与えます。

例: LineWidth=0.75

データ型: single | double

マーカー記号。次の表のいずれかの値として指定します。

マーカー説明結果として得られるマーカー
"o"

Sample of circle marker

"+"プラス記号

Sample of plus sign marker

"*"アスタリスク

Sample of asterisk marker

"."

Sample of point marker

"x"十字

Sample of cross marker

"_"水平線

Sample of horizontal line marker

"|"垂直線

Sample of vertical line marker

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond marker

"^"上向き三角形

Sample of upward-pointing triangle marker

"v"下向き三角形

Sample of downward-pointing triangle marker

">"右向き三角形

Sample of right-pointing triangle marker

"<"左向き三角形

Sample of left-pointing triangle marker

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

Sample of hexagram marker

"none"マーカーなし該当なし

例: Marker="+"

データ型: string | char

マーカーの輪郭の色。RGB 3 成分、16 進数カラー コード、あるいは名前と値の引数 Color に記載されているいずれかの色オプションに対応する色の名前または省略名として指定します。

既定値 "auto" では、名前と値の引数 Color を使用して指定されるものと同じ色が使用されます。色なしとして "none" を指定することもできます。

例: MarkerEdgeColor="blue"

データ型: single | double | string | char

マーカーの塗りつぶしの色。RGB 3 成分、16 進数カラー コード、あるいは名前と値の引数 Color に記載されているいずれかの色オプションに対応する色の名前または省略名として指定します。既定値の "none" は色なしを指定します。

"auto" では、名前と値の引数 Color を使用して指定されるものと同じ色が使用されます。

例: MarkerFaceColor="blue"

データ型: single | double | string | char

マーカーのサイズ。ポイント単位の正の値として指定します。

例: MarkerSize=2

データ型: single | double

出力引数

すべて折りたたむ

プロット内のラインまたはパッチに対応するグラフィックス オブジェクト。グラフィックス配列として返されます。グラフィックス オブジェクトのプロパティのクエリと設定を行うには、ドット表記を使用します。詳細については、Line のプロパティ および Patch のプロパティ を参照してください。

名前と値の引数を使用して、1 番目のグラフィックス オブジェクト h(1) に対応する、残差のデータ点の外観またはヒストグラムの外観を指定できます。

詳細

すべて折りたたむ

ヒント

  • データ カーソルを使用すると、選択したプロットの点の値がデータ ヒント (データ点の横にある小さいテキスト ボックス) に表示されます。データ ヒントには、選択した点の x 軸および y 軸の値と、観測値の名前または番号が含まれます。

代替機能

GeneralizedLinearModel オブジェクトには、複数のプロット関数が用意されています。

  • モデルを検証するときに、問題があるデータを探し、各観測値の効果を理解するには、plotDiagnostics を使用します。また、モデルの残差を分析するには、plotResiduals を使用します。

  • モデルを当てはめた後で、特定の予測子の効果を理解するには、plotPartialDependence を使用します。また、予測曲面を通るスライスをプロットするには、plotSlice を使用します。

拡張機能

すべて展開する

バージョン履歴

R2012a で導入

すべて展開する