plotResiduals
構文
説明
plotResiduals(
は、前の構文におけるいずれかの入力引数の組み合わせを使用して、現在の座標軸ではなく ax
,___)ax
によって指定される座標軸にプロットします。
plotResiduals(___,
では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、プロットする残差のタイプやプロットされるオブジェクトの色を指定できます。Name=Value
)
は、プロット内のラインまたはパッチに対するグラフィックス オブジェクトを返します。プロットの作成後に特定のラインまたはパッチのプロパティを修正するには、h
= plotResiduals(___)h
を使用します。プロパティの一覧については、Line のプロパティまたはPatch のプロパティを参照してください。
例
残差の確率密度プロットの生成
標本データ セット fisheriris
を読み込みます。
load fisheriris
列ベクトル species
には、3 種類のアヤメの種 (setosa、versicolor、virginica) が格納されています。行列 meas
には、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) が格納されています。
多項回帰モデルを当てはめ、測定値を使用してアヤメの種類を予測します。当てはめたモデルの残差の table を表示します。
mdl = fitmnr(meas,species); mdl.Residuals
ans=150×3 table
Raw Pearson Deviance
___________ ___________ ________
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
⋮
モデルの生の残差、ピアソン残差、および逸脱度残差が出力に表示されます。
逸脱度残差の確率密度プロットを生成します。
plotResiduals(mdl)
ヒストグラムから、逸脱度残差はほとんどがわずかであることがわかります。ただし、いくつかの残差が 1 より大きくなっています。
残差が大きい観測値を検査します。関数sort
を使用して、残差を大きいものから小さいものの順に並べ替えます。関数head
を使用して、大きい順に 4 つの残差とそれらに対応するインデックスを表示します。
[r, ind] = sort(mdl.Residuals.Deviance,"descend");
head(r,4)
4.0443 3.1707 1.0378 0.8035
head(ind,4)
84 134 71 139
出力から、meas
と species
の行 84、134、および 71 に対応する観測値の残差が 1 より大きいことがわかります。他のほとんどの残差はゼロに近いことから、観測値 84、134、および 71 は外れ値である可能性が高いと考えられます。
残差がランダムであるかどうかの判別
標本データ セット carbig
を読み込みます。
load carbig
ベクトル Displacement
、Cylinders
、および Model_Year
に、自動車のエンジン排気量、エンジンの気筒数、および自動車が製造された年のデータがそれぞれ格納されています。
Displacement
と Cylinders
を予測子変数、Model_Year
を応答として使用して、多項回帰モデルを当てはめます。
mdl = fitmnr([Displacement Cylinders],Model_Year);
残差がランダムであるかどうかを調べるために、逸脱度残差のラグ付きプロットを生成します。
plotResiduals(mdl,"lagged")
逸脱度残差のラグ付きプロットから、残差のクラスターがプロットの右上に向かって広がっていることがわかります。このクラスターはデータ点の残差と前のデータ点の残差の間に緩やかな正の相関があることを示しており、残差がランダムでない可能性があることを示唆しています。
確率プロットのラインの色の変更
標本データ セット carbig
を読み込みます。
load carbig
ベクトル Displacement
、Cylinders
、および Model_Year
に、自動車のエンジン排気量、エンジンの気筒数、および自動車が製造された年のデータがそれぞれ格納されています。
Displacement
と Cylinders
を予測子変数、Model_Year
を応答として使用して、ノミナル多項回帰モデルを当てはめます。
mdl = fitmnr([Displacement Cylinders],Model_Year);
mdl
は、ノミナル多項回帰モデルをデータに当てはめた結果を含む多項回帰モデル オブジェクトです。
最初の応答カテゴリの名前を表示します。
mdl.ClassNames(1)
ans = 70
出力から、最初の応答カテゴリは 1970 年に製造された自動車に対応することがわかります。
1970 年に製造された自動車の生の残差がランダムに分布しているかどうかを調べるために、確率プロットを作成し、プロットされたオブジェクトのグラフィックス配列を返します。plotResiduals
では、既定で、最初の応答カテゴリの生の残差を使用して確率プロットが作成されます。
h = plotResiduals(mdl,"probability",ResidualType="raw")
h = 2x1 graphics array: Line (main) FunctionLine
グラフィックス配列 h
の要素のデータ型が出力に表示されます。Line
要素は生の残差に対応します。FunctionLine
要素は理論上の正規分布を表すラインに対応します。
h
の 2 番目の要素の Color
プロパティを変更して、正規分布のラインの色に赤を指定します。
h(2).Color = "r"
h = 2x1 graphics array: Line (main) FunctionLine
プロットから、残差が赤のラインに従っていないことがわかります。これは、1970 年に製造された自動車の生の残差が正規分布でないことを示します。
入力引数
mdl
— 多項回帰モデル オブジェクト
MultinomialRegression
モデル オブジェクト
多項回帰モデル オブジェクト。関数 fitmnr
で作成される MultinomialRegression
モデル オブジェクトとして指定します。
plotType
— プロット タイプ
"histogram"
(既定値) | "caseorder"
| "lagged"
| "probability"
| "symmetry"
プロット タイプ。次の値のいずれかとして指定します。
値 | 説明 |
---|---|
"histogram" | 残差の確率密度プロット (既定の設定) |
"caseorder" | 残差とケース (行) 順の比較 |
"lagged" | 残差とラグ付き残差の比較 (つまり r(i) と r(i – 1)、ここで r(i) は i 番目のデータ点の残差) |
"probability" | 正規確率プロット |
"symmetry" | 対称性プロット |
例: "lagged"
データ型: char
| string
ax
— ターゲットの座標軸
Axes
オブジェクト
ターゲットの座標軸。Axes
オブジェクトを指定します。座標軸を指定しない場合、plotResiduals
は現在の座標軸 (gca
) を使用します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
例: plotResiduals(mdl,ResidualType="Pearson",ClassToPlot="virginica",FaceColor="m")
は、virginica
応答カテゴリのピアソン残差のヒストグラムをマゼンタで生成します。
ResidualType
— プロットする残差のタイプ
"deviance"
(既定値) | "Pearson"
| "raw"
プロットする残差のタイプ。次の表のオプションのいずれかとして指定します。
オプション | 説明 |
---|---|
"deviance" | 逸脱度残差 (既定の設定) |
"raw" | 観測値から当てはめ値を減算した生の残差 |
"Pearson" | 生の残差を平方根平均二乗誤差 (RMSE) で除算したピアソン残差 |
それぞれの残差のタイプの詳細については、Residualsを参照してください。
例: ResidualType="raw"
データ型: char
| string
ClassToPlot
— プロットする残差応答カテゴリ
応答カテゴリの名前
プロットする残差応答カテゴリ。mdl
の当てはめに使用された応答カテゴリの名前として指定します。応答カテゴリの名前のリストは mdl.ClassNames
プロパティを使用して確認できます。ClassToPlot
の既定値は mdl.ClassNames(1)
です。この引数は、ResidualType
が "Pearson"
または "raw"
の場合のみ有効です。
例: ClassToPlot="virginica"
データ型: single
| double
| logical
| char
| cell
| categorical
FaceColor
— 表面の色
[0 0 0]
(既定値) | "interp"
| "flat"
| RGB 3 成分 | 16 進数のカラー コード | "r"
| "g"
| "b"
| ...
表面の色。"interp"
、"flat"
、RGB 3 成分、16 進数のカラー コード、色の名前または省略名として指定します。
すべての表面に単色を指定するには、FaceColor
を 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 進数のカラー コード | 外観 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 該当なし | 該当なし | 該当なし | 色なし |
以下は、MATLAB® が多くのタイプのプロットで使用する既定の色に対する RGB 3 成分および 16 進数のカラー コードです。
RGB 3 成分 | 16 進数のカラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
例: FaceColor="g"
データ型: single
| double
| char
| string
FaceAlpha
— 表面の透明度
1 (既定値) | 範囲 [0,1]
のスカラー | 'flat'
| 'interp'
表面の透明度。次の値のいずれかとして指定します。
範囲
[0,1]
のスカラー — すべての表面で同じ透明度を使用します。値1
では完全な不透明に、値0
では完全な透明になります。このオプションでは、FaceVertexAlphaData
プロパティの透明度の値は使用されません。'flat'
—FaceVertexAlphaData
プロパティの値に基づいて、異なる透明度を各表面に使用します。まず、名前と値の引数FaceVertexAlphaData
を表面または頂点ごとに 1 つの透明度の値を含むベクトルとして指定しなければなりません。最初の頂点における透明度の値によって表面全体の透明度が決定されます。'interp'
—FaceVertexAlphaData
プロパティの値に基づいて、内挿された透明度を各表面に使用します。まず、名前と値の引数FaceVertexAlphaData
を頂点ごとに 1 つの透明度の値を含むベクトルとして指定しなければなりません。頂点で値を内挿することにより、透明度が各表面域で変化します。
例: FaceAlpha=0.5
データ型: single
| double
| char
| string
LineWidth
— ラインの幅
0.5
(既定値) | 正の値
ラインの幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインにマーカーがある場合、ライン幅はマーカー エッジにも影響を与えます。
ライン幅をピクセルの幅より細くすることはできません。ライン幅をシステムのピクセル幅より小さい値に設定すると、ラインは 1 ピクセル幅で表示されます。
例: LineWidth=1.5
データ型: single
| double
メモ
ここでは、ヒストグラムのグラフィックス プロパティの一部だけを紹介しています。完全な一覧については、Patch のプロパティを参照してください。
Color
— ラインの色
[0 0 0]
(既定値) | RGB 3 成分 | 16 進数のカラー コード | "r"
| "g"
| "b"
| ...
ラインの色。RGB 3 成分、16 進数のカラー コード、色の名前または省略名として指定します。既定値の [0 0 0]
は黒に対応します。
カスタム色の場合は、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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 該当なし | 該当なし | 該当なし | 色なし |
以下は、MATLAB が多くのタイプのプロットで使用する既定の色に対する RGB 3 成分および 16 進数のカラー コードです。
RGB 3 成分 | 16 進数のカラー コード | 外観 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
例: Color="blue"
例: Color=[0 0 1]
例: Color="#0000FF"
データ型: single
| double
| char
| string
LineStyle
— ライン スタイル
"-"
(既定値) | "--"
| ":"
| "-."
| "none"
ライン スタイル。次の表に記載されたオプションのいずれかとして指定します。
ライン スタイル | 説明 | 結果として得られるライン |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
例: LineStyle="--"
データ型: char
| string
Marker
— マーカー記号
"none"
(既定値) | "o"
| "+"
| "*"
| "."
| ...
マーカー記号。次の表に記載された値のいずれかとして指定します。既定では、オブジェクトはマーカーを表示しません。マーカー記号を指定すると、各データ点または各頂点にマーカーが追加されます。
マーカー | 説明 | 結果として得られるマーカー |
---|---|---|
"o" | 円 |
|
"+" | プラス記号 |
|
"*" | アスタリスク |
|
"." | 点 |
|
"x" | 十字 |
|
"_" | 水平線 |
|
"|" | 垂直線 |
|
"square" | 正方形 |
|
"diamond" | 菱形 |
|
"^" | 上向き三角形 |
|
"v" | 下向き三角形 |
|
">" | 右向き三角形 |
|
"<" | 左向き三角形 |
|
"pentagram" | 星形五角形 |
|
"hexagram" | 星形六角形 |
|
"none" | マーカーなし | 該当なし |
例: Marker="x"
データ型: char
| string
メモ
ここでは、ラインのグラフィックス プロパティの一部だけを紹介しています。完全な一覧については、Line のプロパティを参照してください。
出力引数
h
— プロットされたオブジェクトのハンドル
Patch
オブジェクト | グラフィックス配列
プロットされたオブジェクトのハンドル。Patch
オブジェクトまたはグラフィックス配列として返されます。
plotType
が "Histogram"
の場合、h
は Patch
オブジェクトです。それ以外の場合、h
はグラフィックス配列です。グラフィックス配列の内容は、plotType
の値によって異なります。
plotType Value | グラフィックス配列の内容 |
---|---|
"caseorder" | [Line; Line] |
"lagged" | [Line; Line; Line] |
"probability" | [Line; FunctionLine] |
"symmetry" | [Line; Line] |
バージョン履歴
R2023a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)