Main Content

randomEffects

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

説明

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 と、関連する統計を返します。

すべて折りたたむ

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

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=2×1 cell array
    {3x7 classreg.regr.lmeutils.titleddataset}
    {1x5 classreg.regr.lmeutils.titleddataset}

stats{1}
ans = 
    COVARIANCE TYPE: FULLCHOLESKY

    Group         Name1                   Name2                   Type            Estimate    Lower       Upper   
    Model_Year    {'(Intercept)' }        {'(Intercept)' }        {'std' }          3.3475      1.2862      8.7119
    Model_Year    {'Acceleration'}        {'(Intercept)' }        {'corr'}        -0.87971    -0.98501    -0.29675
    Model_Year    {'Acceleration'}        {'Acceleration'}        {'std' }         0.33789      0.1825     0.62558

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

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

Figure contains an axes object. The axes contains a line object which displays its values using only markers.

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

load('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    SEPred    tStat       DF    pValue      Lower      Upper  
    {'Soil'       }        {'Loamy'         }        {'(Intercept)'}         1.0061     2.3374     0.43044    40     0.66918     -3.718     5.7303
    {'Soil'       }        {'Sandy'         }        {'(Intercept)'}        -1.5236     2.3374    -0.65181    40     0.51825    -6.2477     3.2006
    {'Soil'       }        {'Silty'         }        {'(Intercept)'}        0.51744     2.3374     0.22137    40     0.82593    -4.2067     5.2416
    {'Soil:Tomato'}        {'Loamy Cherry'  }        {'(Intercept)'}          12.46     7.1765      1.7362    40    0.090224    -2.0443     26.964
    {'Soil:Tomato'}        {'Loamy Grape'   }        {'(Intercept)'}        -2.6429     7.1765    -0.36827    40     0.71461    -17.147     11.861
    {'Soil:Tomato'}        {'Loamy Heirloom'}        {'(Intercept)'}         16.681     7.1765      2.3244    40    0.025269     2.1766     31.185
    {'Soil:Tomato'}        {'Loamy Plum'    }        {'(Intercept)'}        -5.0172     7.1765    -0.69911    40     0.48853    -19.522     9.4872
    {'Soil:Tomato'}        {'Loamy Vine'    }        {'(Intercept)'}        -4.6874     7.1765    -0.65316    40     0.51739    -19.192     9.8169
    {'Soil:Tomato'}        {'Sandy Cherry'  }        {'(Intercept)'}        -17.393     7.1765     -2.4235    40    0.019987    -31.897    -2.8882
    {'Soil:Tomato'}        {'Sandy Grape'   }        {'(Intercept)'}        -7.3679     7.1765     -1.0267    40     0.31075    -21.872     7.1364
    {'Soil:Tomato'}        {'Sandy Heirloom'}        {'(Intercept)'}         -8.621     7.1765     -1.2013    40     0.23671    -23.125     5.8833
    {'Soil:Tomato'}        {'Sandy Plum'    }        {'(Intercept)'}          7.669     7.1765      1.0686    40     0.29165    -6.8353     22.173
    {'Soil:Tomato'}        {'Sandy Vine'    }        {'(Intercept)'}        0.28246     7.1765    0.039359    40      0.9688    -14.222     14.787
    {'Soil:Tomato'}        {'Silty Cherry'  }        {'(Intercept)'}         4.9326     7.1765     0.68732    40     0.49585    -9.5718     19.437
    {'Soil:Tomato'}        {'Silty Grape'   }        {'(Intercept)'}         10.011     7.1765      1.3949    40     0.17073    -4.4935     24.515
    {'Soil:Tomato'}        {'Silty Heirloom'}        {'(Intercept)'}        -8.0599     7.1765     -1.1231    40      0.2681    -22.564     6.4444
    {'Soil:Tomato'}        {'Silty Plum'    }        {'(Intercept)'}        -2.6519     7.1765    -0.36952    40     0.71369    -17.156     11.852
    {'Soil:Tomato'}        {'Silty Vine'    }        {'(Intercept)'}          4.405     7.1765      0.6138    40     0.54282    -10.099     18.909

最初の 3 つの行には、グループ化変数 Soil の 3 つの水準 LoamySandy および Silty の変量効果の推定と統計が含まれています。対応する p 値 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     tStat      DF    pValue      Lower       Upper  
    {'Operator'}        {'1'}        {'(Intercept)'}        0.57753     0.90378    0.63902    12     0.53482     -2.1831     3.3382
    {'Operator'}        {'2'}        {'(Intercept)'}         1.1757     0.90378     1.3009    12     0.21772     -1.5849     3.9364
    {'Operator'}        {'3'}        {'(Intercept)'}        -2.1715     0.90378    -2.4027    12    0.033352     -4.9322    0.58909
    {'Operator'}        {'4'}        {'(Intercept)'}         2.3655     0.90378     2.6174    12    0.022494    -0.39511     5.1261
    {'Operator'}        {'5'}        {'(Intercept)'}        -1.9472     0.90378    -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     tStat      DF        pValue      Lower       Upper 
    {'Operator'}        {'1'}        {'(Intercept)'}        0.57753     0.90378    0.63902    6.4253      0.5449      -2.684     3.839
    {'Operator'}        {'2'}        {'(Intercept)'}         1.1757     0.90378     1.3009    6.4253     0.23799     -2.0858    4.4372
    {'Operator'}        {'3'}        {'(Intercept)'}        -2.1715     0.90378    -2.4027    6.4253    0.050386      -5.433      1.09
    {'Operator'}        {'4'}        {'(Intercept)'}         2.3655     0.90378     2.6174    6.4253    0.037302    -0.89598     5.627
    {'Operator'}        {'5'}        {'(Intercept)'}        -1.9472     0.90378    -2.1546    6.4253    0.071626     -5.2087    1.3142

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

入力引数

すべて折りたたむ

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

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: [B,Bnames,stats] = randomEffects(lme,'Alpha',0.01)

有意水準。'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% 信頼区間の上限

バージョン履歴

R2013b で導入