residuals
クラス: LinearMixedModel
近似線形混合効果モデルの残差
説明
入力引数
lme
— 線形混合効果モデル
LinearMixedModel
オブジェクト
線形混合効果モデル。fitlme
または fitlmematrix
を使用して構築した LinearMixedModel
オブジェクトとして指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
Conditional
— 条件付き残差のインジケーター
True
(既定値) | False
条件付き残差のインジケーター。'Conditional'
と、以下のいずれかで構成されるコンマ区切りペアとして指定します。
True | 固定効果と変量効果の両方からの寄与 (条件付き) |
False | 固定効果のみからの寄与 (限界) |
例: 'Conditional,'False'
ResidualType
— 残差タイプ
'Raw'
(既定値) | 'Pearson'
| 'Standardized'
残差タイプ。ResidualType
と、次のいずれかで構成されるコンマ区切りのペアとして指定します。
残差タイプ | 条件 | 限界 |
---|---|---|
'Raw' |
|
|
'Pearson' |
|
|
'Standardized' |
|
|
条件付き残差と限界残差、残差分散についての詳細は、このページの末尾の「Definitions
」を参照してください。
例: 'ResidualType','Standardized'
例
残差と近似値のプロット
標本データを読み込みます。
load('weight.mat');
weight
には長期間の調査によるデータが含まれています。そこには 20 人の被験者が 4 つの運動プログラムにランダムに割り当てられ、体重の減少が 6 回の 2 週間の期間にわたって記録されています。このデータは、シミュレーションされたものです。
データをテーブルに保存します。Subject
および Program
をカテゴリカル変数として定義します。
tbl = table(InitialWeight,Program,Subject,Week,y); tbl.Subject = nominal(tbl.Subject); tbl.Program = nominal(tbl.Program);
線形混合効果モデルを近似します。初期体重、プログラムの種類、週、週とプログラムの種類の間の交互作用は固定効果です。切片と週は被験者ごとに異なります。
lme = fitlme(tbl,'y ~ InitialWeight + Program*Week + (Week|Subject)');
近似値および生の残差を計算します。
F = fitted(lme); R = residuals(lme);
残差と近似値の対比をプロットします。
plot(F,R,'bx') xlabel('Fitted Values') ylabel('Residuals')
次に、プログラム別にグループ化された、残差と近似値の対比をプロットします。
figure(); gscatter(F,R,Program)
残差は、予測どおりプログラムの全レベルで同様の動作を示しているように見えます。
条件付きおよび限界ピアソン残差の計算
標本データを読み込みます。
load carbig
ガロンあたりの走行マイル数 (MPG)、加速度、馬力、気筒数およびモデル年の変数をテーブルに保存します。
tbl = table(MPG,Acceleration,Horsepower,Cylinders,Model_Year);
ガロンあたりの走行マイル数 (MPG) の線形混合効果モデルを近似します。この近似では、加速度、馬力、気筒数に対する固定効果と、モデル年度によってグループ化される切片と加速度に対する、相関された可能性がある変量効果を使用します。
lme = fitlme(tbl,'MPG ~ Acceleration + Horsepower + Cylinders + (Acceleration|Model_Year)');
条件付きピアソン残差を計算し、最初の 5 つの残差を表示します。
PR = residuals(lme,'ResidualType','Pearson'); PR(1:5)
ans = 5×1
-0.0533
0.0652
0.3655
-0.0106
-0.3340
限界ピアソン残差を計算し、最初の 5 つの残差を表示します。
PRM = residuals(lme,'ResidualType','Pearson','Conditional',false); PRM(1:5)
ans = 5×1
-0.1250
0.0130
0.3242
-0.0861
-0.3006
残差の確認
標本データを読み込みます。
load carbig
ガロンあたりの走行マイル数 (MPG)、加速度、馬力、気筒数およびモデル年の変数をテーブルに保存します。
tbl = table(MPG,Acceleration,Horsepower,Cylinders,Model_Year);
ガロンあたりの走行マイル数 (MPG) の線形混合効果モデルを近似します。この近似では、加速度、馬力、気筒数に対する固定効果と、モデル年度によってグループ化される切片と加速度に対する、相関された可能性がある変量効果を使用します。
lme = fitlme(tbl,'MPG ~ Acceleration + Horsepower + Cylinders + (Acceleration|Model_Year)');
生の残差のヒストグラムを正規近似とともに描画します。
r = residuals(lme); histfit(r)
正規分布は、残差に対する近似が適切になっているように見えます。
条件付きピアソン残差と標準化された残差を計算し、3 つのすべてのタイプの残差の箱ひげ図を作成します。
pr = residuals(lme,'ResidualType','Pearson'); st = residuals(lme,'ResidualType','Standardized'); X = [r pr st]; boxplot(X)
赤のプラス記号は、残差が を上回るか を下回る観測値を示しています。ここで、 および はそれぞれ 25 番目および 75 番目の百分位数です。
平均を超えるおよび下回る 2.5 の標準偏差の残差をもつ観測を見つけます。
find(r > mean(r,'omitnan') + 2.5*std(r,'omitnan'))
ans = 7×1
62
252
255
330
337
341
396
find(r < mean(r,'omitnan') - 2.5*std(r,'omitnan'))
ans = 3×1
119
324
375
詳細
条件付き残差と限界残差
条件付き残差には、固定効果と変量効果両方からの寄与が含まれますが、限界残差には固定効果からの寄与だけが含まれます。
線形混合効果モデル lme
には、n 行 p 列の固定効果の計画行列 X と、n 行 q 列の変量効果の計画行列 Z があるものとします。また、推定した p 行 1 列の固定効果ベクトルが 、変量効果について推定した q 行 1 列の最良線形不偏予測量 (BLUP) ベクトルが であるとします。近似条件付き応答は以下のようになります。
また、近似限界応答は以下のようになります。
residuals
は 3 種類の残差 (生、ピアソン、標準化) を返すことができます。どのタイプでも、条件付き残差または限界残差を計算できます。たとえば、生の条件付き残差は次のようになります。
および生の限界残差は次のようになります。
他のタイプの残差についての詳細は、ResidualType
の名前と値のペアの引数を参照してください。
参考
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)