ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

designMatrix

クラス: LinearMixedModel

固定効果と変量効果の計画行列

構文

  • D = designMatrix(lme)
  • D = designMatrix(lme,'Fixed')
  • D = designMatrix(lme,'Random')
  • Dsub = designMatrix(lme,'Random',gnumbers)
  • [Dsub,gnames] = designMatrix(lme,'Random',gnumbers)

説明

D = designMatrix(lme) または D = designMatrix(lme,'Fixed') は、線形混合効果モデル lme の固定効果計画行列を返します。

D = designMatrix(lme,'Random') は、線形混合効果モデル lme の変量効果計画行列を返します。

Dsub = designMatrix(lme,'Random',gnumbers) は、gnumbers の整数で示されているグループ化変数に対応する線形混合効果モデル lme の変量効果計画行列のサブセットを返します。

[Dsub,gnames] = designMatrix(lme,'Random',gnumbers) は、gnumbers の整数に対応するグループ化変数の名前も返します。

入力引数

すべて展開する

lme - 線形混合効果モデルLinearMixedModel オブジェクト

LinearMixedModel オブジェクトとして返される線形混合効果モデル。

このオブジェクトのプロパティとメソッドについては、LinearMixedModel を参照してください。

gnumbers - グループ化変数の数整数配列

グループ化変数の数。整数配列として指定されます。R は、線形混合効果モデル lme のグループ化変数を含むセル配列の長さです。

たとえば、グループ化変数 g1、g3、gr は次のように指定できます。

例: [1,3,r]

データ型:double | single

出力引数

すべて展開する

D - 計画行列行列

線形混合効果モデル lme の計画行列。次のいずれかとして返されます。

  • 固定効果の計画行列 — lme の固定効果計画で構成される n 行 p 列の行列。n は観察値の数、p は固定効果の項の数です。

  • 変量効果の計画行列 — 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 列のセル配列

設計タイプが 'Random' の場合は、gnumbers の整数に対応するグループ化変数の名前。k 行 1 列のセル配列として返されます。設計タイプが 'Fixed' の場合は、gnames は空の行列 [] です。

データ型:cell

すべて展開する

固定効果と変量効果の計画行列の表示

標本データが含まれたフォルダーに移動します。

cd(matlabroot)
cd('help/toolbox/stats/examples')

標本データを読み込みます。

load shift

このデータは 5 人の作業者が朝、夕方、夜の 3 つのシフトの間に製造した製品から計測されたターゲット品質特性の偏差を示します。これは作業者をブロックとする乱塊法です。この実験は、シフトの時間によるパフォーマンスへの影響の調査を意図しています。パフォーマンスの測定は、目標値からの品質特性の偏差です。このデータは、シミュレーションされたものです。

Shift および Operator はノミナル変数です。

shift.Shift = nominal(shift.Shift);
shift.Operator = nominal(shift.Operator);

シフトの時間によってパフォーマンスに有意差があるかどうかを評価するために、作業者でグループ化されたランダムな切片をもつ線形混合効果モデルに近似します。

lme = fitlme(shift,'QCDev ~ Shift + (1|Operator)');

固定効果の計画行列を表示します。

designMatrix(lme)
ans =

     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     0     0
     1     0     1
     1     1     0
     1     0     0
     1     0     1

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 =

     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
     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

各列は、グループ化変数 Operator のレベルに対応します。

複数のグループ化変数の変量効果計画行列

標本データが含まれたフォルダーに移動します。

cd(matlabroot)
cd('help/toolbox/stats/examples')

標本データを読み込みます。

load fertilizer

このデータセット配列には、砂質、シルト、粘土質の土壌の種類に基づいて土壌が 3 つのブロックに分けられている分割プロット試験のデータが含まれています。各ブロックは 5 つのプロットに分割され、5 種類のトマトの苗木 (チェリー、エアルーム、グレープ、枝付き、プラム) がランダムにこれらのプロットに割り当てられます。その後、プロット内のトマトの苗木はサブプロットに分割され、それぞれのサブプロットに 4 つの肥料の中の 1 つが処置されます。このデータは、シミュレーションされたものです。

実用目的でこのデータを ds という名前のデータセット配列に保存し、TomatoSoil および 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 つの列には、最初のグループ化変数 Soil の 3 つのレベル (LoamySiltySandy) に対して作成された指示変数 fitlme が含まれます。次の 15 列には、Soil の下に入れ子になっている 2 番目のグループ化変数 Tomato に対して作成された指示変数が含まれます。これらは、基本的に、Soil のレベルを表すダミー変数 (LoamySiltySandy) と Tomato のレベル (CherryGrapeHeirloomPlumVine) の要素ごとの積です。

変量効果の計画行列のサブセット

標本データが含まれたフォルダーに移動します。

cd(matlabroot)
cd('help/toolbox/stats/examples')

標本データを読み込みます。

load fertilizer

このデータセット配列には、砂質、シルト、粘土質の土壌の種類に基づいて土壌が 3 つのブロックに分けられている分割プロット試験のデータが含まれています。各ブロックは 5 つのプロットに分割され、5 種類のトマトの苗木 (チェリー、エアルーム、グレープ、枝付き、プラム) がランダムにこれらのプロットに割り当てられます。その後、プロット内のトマトの苗木はサブプロットに分割され、それぞれのサブプロットに 4 つの肥料の中の 1 つが処置されます。このデータは、シミュレーションされたものです。

実用目的でこのデータを ds という名前のデータセット配列に保存し、TomatoSoil および 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 =

     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     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     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

Dsub には、2 番目のグループ化変数に対して作成されたダミー変数 (つまり土壌に入れ子になったトマト) が含まれます。これらは、Soil のレベルを表すダミー変数 (LoamySiltySandy) と Tomato のレベル (CherryGrapeHeirloomPlumVine) の要素ごとの積です。

グループ化変数の名前を表示します。

gname
gname = 

    'Soil:Tomato'

参考

| |

この情報は役に立ちましたか?