designMatrix
クラス: LinearMixedModel
固定効果と変量効果の計画行列
構文
説明
入力引数
lme
— 線形混合効果モデル
LinearMixedModel
オブジェクト
線形混合効果モデル。fitlme
または fitlmematrix
を使用して構築した LinearMixedModel
オブジェクトとして指定します。
gnumbers
— グループ化変数の数
整数配列
グループ化変数の数。整数配列として指定されます。R は、線形混合効果モデル lme
のグループ化変数を含む cell 配列の長さです。
たとえば、グループ化変数 g1、g3、gr は次のように指定できます。
例: [1,3,r]
データ型: double
| single
出力引数
D
— 計画行列
行列
線形混合効果モデル lme
の計画行列。次のいずれかとして返されます。
固定効果の計画行列 —
lme
の固定効果計画で構成される n 行 p 列の行列。n は観察値の数、p は固定効果の項の数です。D
内の固定効果項の次数は、LinearMixedModel
オブジェクトlme
のCoefficientNames
プロパティにおける項の次数と一致します。変量効果の計画行列 ―
lme
の変量効果計画行列で構成される n 行 k 列の行列。k はlength(B)
に等しく、B
は線形混合効果モデルlme
の変量効果の係数ベクトルです。lme
には R 個のグループ化変数 g1、g2、...、gR (レベルはそれぞれ m1、m2、...、mR) が含まれ、q1、q2、...、qR はそれぞれ g1、g2、...、gR と関連付けられる変量効果ベクトルの長さである場合、B
は長さが q1*m1 + q2*m2 + ... + qR*mR の列ベクトルです。B
は、各グループ化変数の各レベルに対応する変量効果ベクトルの最良線形不偏予測量を連結することにより作成され、[g1level1; g1level2; ...; g1levelm1; g2level1; g2level2; ...; g2levelm2; ...; gRlevel1; gRlevel2; ...; gRlevelmR]'
となります。
データ型: single
| double
Dsub
— 変量効果の計画行列の部分行列
行列
gnumbers
の整数で示されるグループ化変数に対応する変量効果計画行列の部分行列。n 行 k 列の行列として返されます。k は列ベクトル Bsub
の長さです。
Bsub
には、gnumbers
によって指定されたグループ化変数の各レベルに対応して変量効果ベクトルが連結された、最良線形不偏予測量 (BLUP) が含まれます。
たとえば、gnumbers
が [1,3,r]
である場合、これはグループ化変数 g1、g3、gr に対応します。このとき、Bsub
には、グループ化変数 g1、g3、gr の各レベルに対応する変量効果ベクトルが連結された BLUP が含まれ、次のようになります。
[g1level1; g1level2; ...; g1levelm1; g3level1; g3level2; ...; g3levelm3; grlevel1; grlevel2; ...; grlevelmr]'
.
したがって、Dsub*Bsub
は、グループ化変数 g1、g3、gr に対応するすべての変量効果の、lme
の応答に対する寄与を表します。
gnumbers
が空の場合は、Dsub
は変量効果計画行列の全体になります。
データ型: single
| double
gnames
— グループ化変数の名前
k 行 1 列の cell 配列
設計タイプが 'Random'
の場合は、gnumbers
の整数に対応するグループ化変数の名前。k 行 1 列の cell 配列として返されます。設計タイプが 'Fixed'
の場合は、gnames
は空の行列 []
です。
データ型: cell
例
固定効果と変量効果の計画行列の表示
標本データを読み込みます。
load('shift.mat');
このデータは 5 人の作業者が朝、夕方、夜の 3 つのシフトの間に製造した製品から計測された品質目標の特性の偏差を示します。これは作業者をブロックとする乱塊法です。この実験は、シフトの時間によるパフォーマンスへの影響の調査を意図しています。パフォーマンスの測定基準は、目標値からの品質特性の偏差です。このデータは、シミュレーションされたものです。
Shift
および Operator
はノミナル変数です。
shift.Shift = nominal(shift.Shift); shift.Operator = nominal(shift.Operator);
シフトの時間によってパフォーマンスに有意差があるかどうかを評価するために、作業者別のランダムな切片をもつ線形混合効果モデルにあてはめます。
lme = fitlme(shift,'QCDev ~ Shift + (1|Operator)');
固定効果の計画行列を表示します。
designMatrix(lme)
ans = 15×3
1 1 0
1 0 0
1 0 1
1 1 0
1 0 0
1 0 1
1 1 0
1 0 0
1 0 1
1 1 0
⋮
1 の列は、モデルの定数項を表します。fitlme
は基準グループとして夕方シフトを取得し、それぞれが朝シフトと夜シフトを表すように 2 つのダミー変数を作成します。
変量効果の計画行列を表示します。
designMatrix(lme,'random')
ans = (1,1) 1 (2,1) 1 (3,1) 1 (4,2) 1 (5,2) 1 (6,2) 1 (7,3) 1 (8,3) 1 (9,3) 1 (10,4) 1 (11,4) 1 (12,4) 1 (13,5) 1 (14,5) 1 (15,5) 1
(i
,|j|) というインデックスの最初の値 i
は観測番号に対応し、|j| はグループ化変数 Operator
のレベル、つまり作業者番号に対応します。
変量効果の計画行列の完全な表示を示します。
full(designMatrix(lme,'random'))
ans = 15×5
1 0 0 0 0
1 0 0 0 0
1 0 0 0 0
0 1 0 0 0
0 1 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 0 0 1 0
⋮
各列は、グループ化変数 Operator
のレベルに対応します。
複数のグループ化変数の変量効果計画行列
標本データを読み込みます。
load('fertilizer.mat');
このデータセット配列には土壌の種類に基づいて土壌が 3 つのブロックに分けられている分割プロット試験のデータが含まれています。土壌の種類は砂質、シルトおよび粘土質です。各ブロックは 5 つのプロットに分割され、5 種類のトマトの苗木 (チェリー、エアルーム、グレープ、枝付き、プラム) がランダムにこれらのプロットに割り当てられます。その後、プロット内のトマトの苗木はサブプロットに分割され、それぞれのサブプロットが 4 つの肥料の中の 1 つにより処置されます。このデータは、シミュレーションされたものです。
実用目的でこのデータを ds
という名前のデータセット配列に保存し、Tomato
、Soil
および Fertilizer
をカテゴリカル変数として定義します。
ds = fertilizer; ds.Tomato = nominal(ds.Tomato); ds.Soil = nominal(ds.Soil); ds.Fertilizer = nominal(ds.Fertilizer);
線形混合効果モデルを近似します。Fertilizer
および Tomato
は固定効果変数であり、平均収穫量はブロック (土壌の種類) とブロック内のプロット (土壌の種類の中のトマトの種類) によって独立して変化します。
lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');
完全な変量効果計画行列を格納して調べます。
D = full(designMatrix(lme,'random'));
行列 D
の最初の 3 列には、1 番目のグループ化変数 Soil
の 3 つのレベル (Loamy
、Silty
、Sandy
) について fitlme
が作成した指標変数が含まれています。次の 15 列には、Soil
の下で入れ子にされている 2 番目のグループ化変数 Tomato
について作成された指標変数が含まれています。これらは、基本的に、Soil
のレベルを表すダミー変数 (Loamy
、Silty
、Sandy
) と Tomato
のレベル (Cherry
、Grape
、Heirloom
、Plum
、Vine
) の要素ごとの積です。
変量効果の計画行列のサブセット
標本データを読み込みます。
load('fertilizer.mat');
このデータセット配列には土壌の種類に基づいて土壌が 3 つのブロックに分けられている分割プロット試験のデータが含まれています。土壌の種類は砂質、シルトおよび粘土質です。各ブロックは 5 つのプロットに分割され、5 種類のトマトの苗木 (チェリー、エアルーム、グレープ、枝付き、プラム) がランダムにこれらのプロットに割り当てられます。その後、プロット内のトマトの苗木はサブプロットに分割され、それぞれのサブプロットが 4 つの肥料の中の 1 つにより処置されます。このデータは、シミュレーションされたものです。
実用目的でこのデータを ds
という名前のデータセット配列に保存し、Tomato
、Soil
および Fertilizer
をカテゴリカル変数として定義します。
ds = fertilizer; ds.Tomato = nominal(ds.Tomato); ds.Soil = nominal(ds.Soil); ds.Fertilizer = nominal(ds.Fertilizer);
線形混合効果モデルを近似します。Fertilizer
および Tomato
は固定効果変数であり、平均収穫量はブロック (土壌の種類) とブロック内のプロット (土壌の種類の中のトマトの種類) によって独立して変化します。
lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');
2 番目のグループ化変数の変量効果計画行列を計算し、最初の 12 行を表示します。
[Dsub,gname] = designMatrix(lme,'random',2);
full(Dsub(1:12,:))
ans = 12×15
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
⋮
Dsub
には、2 番目のグループ化変数に対して作成されたダミー変数 (つまり土壌に入れ子になったトマト) が含まれます。これらは、Soil
のレベルを表すダミー変数 (Loamy
、Silty
、Sandy
) と Tomato
のレベル (Cherry
、Grape
、Heirloom
、Plum
、Vine
) の要素ごとの積です。
グループ化変数の名前を表示します。
gname
gname = 1x1 cell array
{'Soil:Tomato'}
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)