ドキュメンテーション

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

randomEffects

クラス: LinearMixedModel

変量効果と関連する統計の推定

構文

B = randomEffects(lme)
[B,Bnames] = randomEffects(lme)
[B,Bnames,stats] = randomEffects(lme)
[B,Bnames,stats] = randomEffects(lme,Name,Value)

説明

B = randomEffects(lme) は、線形混合効果モデル lme における変量効果の最良線形不偏予測量 (BLUP) の推定を返します。

[B,Bnames] = randomEffects(lme) は、Bnames の係数の名前も返します。それぞれの名前は、B の係数に相当します。

[B,Bnames,stats] = randomEffects(lme) は、線形混合効果モデル lme における変量効果の推定された BLUP と、関連する統計を返します。

[B,Bnames,stats] = randomEffects(lme,Name,Value) は、1 つまたは複数の Name,Value のペアの引数で指定された追加オプションを使用して、線形混合効果モデル lme における変量効果の推定された BLUP と、関連する統計を返します。

入力引数

すべて展開する

線形混合効果モデル。fitlme または fitlmematrix を使用して構築した LinearMixedModel オブジェクトを指定します。

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で閉じなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

信頼度。'Alpha' と 0 ~ 1 の範囲にあるスカラー値をコンマ区切りのペアとして指定します。値が α の場合、信頼度は 100*(1-α)% です。

たとえば、99% の信頼区間の場合は、次のように信頼度を指定できます。

例: 'Alpha',0.01

データ型: single | double

変量効果係数を 0 に対して検定する t 統計での自由度の近似を計算する方法。'DFMethod' と次のいずれかで構成されるコンマ区切りのペアで指定します。

'residual'既定の設定。自由度は定数で n – p に等しいと仮定されます。ここで n は観測値の数、p は固定効果の数です。
'satterthwaite'サタースウェイトの近似法。
'none'すべての自由度は無限大に設定されます。

たとえば、次のようにサタースウェイトの近似法を指定できます。

例: 'DFMethod','satterthwaite'

出力引数

すべて展開する

列ベクトルとして返される、線形混合効果モデル lme の変量効果の推定最良線形不偏予測量。

lme には R グループ化変数 g1、g2、...、gR があり、それぞれレベルが m1、m2、...、mR であると仮定します。また、q1、q2、...、qR は、それぞれ g1, g2、...、gR に関連付けられている変量効果の長さであるとします。B は、次の長さの列ベクトルです。q1*m1 + q2*m2 + ... + qR*mR

randomEffects は、各グループ化変数の各レベルに対応する変量効果ベクトルの最良線形不偏予測量を次のように連結して B を作成します。[g1level1; g1level2; ...; g1levelm1; g2level1; g2level2; ...; g2levelm2; ...; gRlevel1; gRlevel2; ...; gRlevelmR]'

B の変量効果係数の名前。テーブルとして返します。

変量効果 BLUP と関連する統計の推定。固定効果ごとに 1 つの行および次の統計ごとに 1 つの列を含むデータセット配列として返されます。

Group変量効果に関連付けられているグループ化変数
Level変量効果に対応するグループ化変数内のレベル
Name変量効果係数の名前
Estimate変量効果の最良線形不偏予測量 (BLUP)
SEPred推定の標準誤差 (BLUP から変量効果を差し引いた値)
tStat変量効果が 0 である検定の t 統計
DFt 統計の推定自由度
pValuet 統計の p 値
Lower変量効果の 95% 信頼区間の下限
Upper変量効果の 95% 信頼区間の上限

すべて展開する

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

load carbig

ガロンあたりの走行マイル数 (MPG) の線形混合効果モデルを近似します。加速度と馬力は固定効果で、モデル年によってグループ化される切片と加速度については相関された変量効果の可能性があります。まず、データをテーブルに保存します。

tbl = table(Acceleration,Horsepower,Model_Year,MPG);

モデルを近似する。

lme = fitlme(tbl, 'MPG ~ Acceleration + Horsepower + (Acceleration|Model_Year)');

変量効果係数の BLUP を計算し、対応する変量効果の名前を表示します。

[B,Bnames] = randomEffects(lme)
B = 26×1

    3.1270
   -0.2426
   -1.6532
   -0.0086
    1.2075
   -0.2179
    4.4107
   -0.4887
   -1.3103
   -0.0208
      ⋮

Bnames=26×3 table
       Group        Level         Name     
    ____________    _____    ______________

    'Model_Year'    '70'     '(Intercept)' 
    'Model_Year'    '70'     'Acceleration'
    'Model_Year'    '71'     '(Intercept)' 
    'Model_Year'    '71'     'Acceleration'
    'Model_Year'    '72'     '(Intercept)' 
    'Model_Year'    '72'     'Acceleration'
    'Model_Year'    '73'     '(Intercept)' 
    'Model_Year'    '73'     'Acceleration'
    'Model_Year'    '74'     '(Intercept)' 
    'Model_Year'    '74'     'Acceleration'
    'Model_Year'    '75'     '(Intercept)' 
    'Model_Year'    '75'     'Acceleration'
    'Model_Year'    '76'     '(Intercept)' 
    'Model_Year'    '76'     'Acceleration'
    'Model_Year'    '77'     '(Intercept)' 
    'Model_Year'    '77'     'Acceleration'
      ⋮

切片と加速度は、潜在的に相関性のある変量効果をもつため、車のモデル年でグループ化されます。また、randomEffects はグループ化変数の各レベルにおいて切片と加速度に個別の行を作成します。

変量効果の共分散パラメーターを計算します。

[~,~,stats] = covarianceParameters(lme)
stats = 2x1 cell array
    {3x7 classreg.regr.lmeutils.titleddataset}
    {1x5 classreg.regr.lmeutils.titleddataset}

stats{1}
ans = 
    Covariance Type: FullCholesky

    Group         Name1                 Name2                 Type      
    Model_Year    '(Intercept)'         '(Intercept)'         'std'     
    Model_Year    'Acceleration'        '(Intercept)'         'corr'    
    Model_Year    'Acceleration'        'Acceleration'        'std'     


    Estimate    Lower       Upper   
      3.3475      1.2862      8.7119
    -0.87971    -0.98501    -0.29676
     0.33789      0.1825     0.62558

相関値は、変量効果が負の相関関係に見えることを示しています。切片と加速度に対する変量効果をプロットし、これを確認します。

plot(B(1:2:end),B(2:2:end),'r*')

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

load(fullfile(matlabroot,'examples','stats','fertilizer.mat'));

このデータセット配列には土壌の種類に基づいて土壌が 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)');

変量効果の BLUP と関連する統計を計算します。

[~,~,stats] = randomEffects(lme)
stats = 
    Random effect coefficients: DFMethod = 'Residual', Alpha = 0.05

    Group                Level                   Name                 Estimate
    'Soil'               'Loamy'                 '(Intercept)'         1.0061 
    'Soil'               'Sandy'                 '(Intercept)'        -1.5236 
    'Soil'               'Silty'                 '(Intercept)'        0.51744 
    'Soil:Tomato'        'Loamy Cherry'          '(Intercept)'          12.46 
    'Soil:Tomato'        'Loamy Grape'           '(Intercept)'        -2.6429 
    'Soil:Tomato'        'Loamy Heirloom'        '(Intercept)'         16.681 
    'Soil:Tomato'        'Loamy Plum'            '(Intercept)'        -5.0172 
    'Soil:Tomato'        'Loamy Vine'            '(Intercept)'        -4.6874 
    'Soil:Tomato'        'Sandy Cherry'          '(Intercept)'        -17.393 
    'Soil:Tomato'        'Sandy Grape'           '(Intercept)'        -7.3679 
    'Soil:Tomato'        'Sandy Heirloom'        '(Intercept)'         -8.621 
    'Soil:Tomato'        'Sandy Plum'            '(Intercept)'          7.669 
    'Soil:Tomato'        'Sandy Vine'            '(Intercept)'        0.28246 
    'Soil:Tomato'        'Silty Cherry'          '(Intercept)'         4.9326 
    'Soil:Tomato'        'Silty Grape'           '(Intercept)'         10.011 
    'Soil:Tomato'        'Silty Heirloom'        '(Intercept)'        -8.0599 
    'Soil:Tomato'        'Silty Plum'            '(Intercept)'        -2.6519 
    'Soil:Tomato'        'Silty Vine'            '(Intercept)'          4.405 


    SEPred    tStat       DF    pValue      Lower      Upper  
    2.3374     0.43044    40     0.66918     -3.718     5.7303
    2.3374    -0.65181    40     0.51825    -6.2477     3.2006
    2.3374     0.22137    40     0.82593    -4.2067     5.2416
    7.1765      1.7362    40    0.090224    -2.0443     26.964
    7.1765    -0.36827    40     0.71461    -17.147     11.861
    7.1765      2.3244    40    0.025269     2.1766     31.185
    7.1765    -0.69911    40     0.48853    -19.522     9.4872
    7.1765    -0.65316    40     0.51739    -19.192     9.8169
    7.1765     -2.4235    40    0.019987    -31.897    -2.8882
    7.1765     -1.0267    40     0.31075    -21.872     7.1364
    7.1765     -1.2013    40     0.23671    -23.125     5.8833
    7.1765      1.0686    40     0.29165    -6.8353     22.173
    7.1765    0.039359    40      0.9688    -14.222     14.787
    7.1765     0.68732    40     0.49585    -9.5718     19.437
    7.1765      1.3949    40     0.17073    -4.4935     24.515
    7.1765     -1.1231    40      0.2681    -22.564     6.4444
    7.1765    -0.36952    40     0.71369    -17.156     11.852
    7.1765      0.6138    40     0.54282    -10.099     18.909

最初の 3 つの行には、グループ化変数 Soil の 3 つのレベル LoamySandy および Silty の変量効果の推定と統計が含まれています。対応する 値 0.66918、0.51825 および 0.82593 は、これらの変量効果が 0 と有意には異ならないことを示します。続く 15 行には、切片について推定した変量効果の BLUP が含まれています。これらは、Soil で入れ子にされている変数 Tomato でグループ化されています (TomatoSoil の交互作用)。

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

load shift

シフトの時間によってパフォーマンスに有意差があるかどうかを評価するために、作業者別のランダムな切片をもつ線形混合効果モデルにあてはめます。制限付き最尤法を使用します。

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

自由度の計算に残差オプションを使用して、変量効果に対する 99% の信頼区間を計算します。これは既定のメソッドです。

[~,~,stats] = randomEffects(lme,'Alpha',0.01)
stats = 
    Random effect coefficients: DFMethod = 'Residual', Alpha = 0.01

    Group             Level      Name                 Estimate    SEPred 
    'Operator'        '1'        '(Intercept)'        0.57753     0.90378
    'Operator'        '2'        '(Intercept)'         1.1757     0.90378
    'Operator'        '3'        '(Intercept)'        -2.1715     0.90378
    'Operator'        '4'        '(Intercept)'         2.3655     0.90378
    'Operator'        '5'        '(Intercept)'        -1.9472     0.90378


    tStat      DF    pValue      Lower       Upper  
    0.63902    12     0.53482     -2.1831     3.3382
     1.3009    12     0.21772     -1.5849     3.9364
    -2.4027    12    0.033352     -4.9322    0.58909
     2.6174    12    0.022494    -0.39511     5.1261
    -2.1546    12    0.052216     -4.7079    0.81337

自由度の計算にサタースウェイトの近似法を使用して、変量効果に対する 99% の信頼区間を計算します。

[~,~,stats] = randomEffects(lme,'DFMethod','satterthwaite','Alpha',0.01)
stats = 
    Random effect coefficients: DFMethod = 'Satterthwaite', Alpha = 0.01

    Group             Level      Name                 Estimate    SEPred 
    'Operator'        '1'        '(Intercept)'        0.57753     0.90378
    'Operator'        '2'        '(Intercept)'         1.1757     0.90378
    'Operator'        '3'        '(Intercept)'        -2.1715     0.90378
    'Operator'        '4'        '(Intercept)'         2.3655     0.90378
    'Operator'        '5'        '(Intercept)'        -1.9472     0.90378


    tStat      DF        pValue      Lower       Upper 
    0.63902    6.4253      0.5449      -2.684     3.839
     1.3009    6.4253     0.23799     -2.0858    4.4372
    -2.4027    6.4253    0.050386      -5.433      1.09
     2.6174    6.4253    0.037302    -0.89598     5.627
    -2.1546    6.4253    0.071626     -5.2087    1.3142

通常、サタースウェイト法では自由度 (DF) が小さい値になるので、変量効果の推定値に対する p 値 (pValue) と信頼区間 (Lower および Upper) が大きくなります。