ウィルキンソンの表記法
概要
ウィルキンソンの表記法を使用すると、係数の値を指定せずに回帰と反復測定のモデルを記述できます。この特殊な表記法では、モデルに対して追加または除外する予測子変数と応答変数を指定します。また、二乗項、より高い次数の項、交互作用項およびグループ化変数をモデル式に含めることもできます。
ウィルキンソンの表記法によるモデルの指定にはいくつかの利点があります。
個々の予測子と交互作用項をモデルに対して追加または除外できます。たとえば、各モデル近似関数において利用可能な
'Interactions'
という名前/値のペアを使用すると、変数のすべてのペアに交互作用項が含まれるようになります。ウィルキンソンの表記法を使用すると、関心がある交互作用項のみを追加できます。入力データで
table
データ型を使用している場合、計画行列を変更しなくてもモデル式を変更できます。たとえば、利用可能なすべての予測子変数を使用して初期モデルを近似し、統計的に有意ではない変数を除外することになった場合、関心がある変数のみが含まれるようにモデル式を書き直しできます。入力データ自体を変更する必要はありません。
Statistics and Machine Learning Toolbox™ に含まれる次のモデル近似関数において、ウィルキンソンの表記法が使用されています。
線形モデル (
fitlm
とstepwiselm
を使用)一般化線形モデル (
fitglm
を使用)線形混合効果モデル (
fitlme
とfitlmematrix
を使用)一般化線形混合効果モデル (
fitglme
を使用)反復測定モデル (
fitrm
を使用)コックス比例ハザード モデル (
fitcox
を使用)
式の仕様
モデル仕様の式は y ~ terms
という形式の文字ベクトルまたは string スカラーです。y
は応答変数の名前であり、terms
は予測子変数の名前と次の演算子を使用してモデルを定義します。
予測子変数
モデル内の予測子項 | ウィルキンソンの表記法 |
---|---|
切片 | 1 |
切片なし | –1 |
x1 | x1 |
x1, x2 | x1 + x2 |
x1, x2, x1x2 | x1*x2 または x1 + x2 + x1:x2 |
x1x2 | x1:x2 |
x1, x12 | x1^2 |
x12 | x1^2 – x1 |
モデル式に 1 を加算しない場合でも、ウィルキンソンの表記法では既定で切片の項がモデルに含まれます。切片をモデルから除外するには、式で -1 を使用します。
*
演算子 (交互作用) と ^
演算子 (べき乗と指数) では、より低い次数の項がすべて自動的に含まれます。たとえば、x^3
を指定した場合、x3、x2 および x が自動的にモデルに含まれます。特定の変数をモデルから除外するには、–
演算子を使用して不要な項を除外します。
変量効果モデルと混合効果モデル
変量効果モデルと混合効果モデルの場合、式の仕様には予測子変数とグループ化変数の名前が含まれます。たとえば、予測子変数 x1 が変数 g によってグループ化されている変量効果である場合、ウィルキンソンの表記法では次のように表されます。
(x1 | g)
反復測定モデル
反復測定モデルの場合、式の仕様にはすべての反復測定が応答として、因子が予測子変数として含まれます。反復測定モデルの応答変数は、次の表の記載どおりに指定します。
モデルの応答項 | ウィルキンソンの表記法 |
---|---|
y1 | y1 |
y1, y2, y3 | y1,y2,y3 |
y1, y2, y3, y4, y5 | y1–y5 |
たとえば、応答として 3 つの反復測定があり、予測子変数として因子 x1、x2 および x3 がある場合、ウィルキンソンの表記法により、次のように反復測定モデルを定義できます。
y1,y2,y3 ~ x1 + x2 + x3
または
y1-y3 ~ x1 + x2 + x3
変数名
入力データ (応答変数と予測子変数) がテーブルまたはデータセット配列に格納されている場合、変数名を使用して式を指定できます。たとえば、標本データの carsmall
を読み込んで、Weight
、Acceleration
および MPG
が含まれているテーブルを作成します。近似関数 fitlm
の名前/値ペア引数である 'VariableNames'
を使用して各変数に名前を付けると、次のモデルをデータにあてはめます。
load carsmall tbl = table(Weight,Acceleration,MPG, ... 'VariableNames',{'Weight','Acceleration','MPG'}); mdl = fitlm(tbl,'MPG ~ Weight + Acceleration')
mdl = Linear regression model: MPG ~ 1 + Weight + Acceleration Estimated Coefficients: Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 45.155 3.4659 13.028 1.6266e-22 Weight -0.0082475 0.00059836 -13.783 5.3165e-24 Acceleration 0.19694 0.14743 1.3359 0.18493 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 4.12 R-squared: 0.743, Adjusted R-Squared: 0.738 F-statistic vs. constant model: 132, p-value = 1.38e-27
モデル オブジェクトの表示では、入力テーブルで指定した変数名が使用されます。
入力データが行列として格納されている場合、y
、x1
、x2
などの既定の変数名を使用して式を指定できます。たとえば、標本データの carsmall
を読み込んで、予測子変数 Weight
および Acceleration
が含まれている行列を作成すると、次のモデルをデータにあてはめます。
load carsmall X = [Weight,Acceleration]; y = MPG; mdl = fitlm(X,y,'y ~ x1 + x2')
mdl = Linear regression model: y ~ 1 + x1 + x2 Estimated Coefficients: Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 45.155 3.4659 13.028 1.6266e-22 x1 -0.0082475 0.00059836 -13.783 5.3165e-24 x2 0.19694 0.14743 1.3359 0.18493 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 4.12 R-squared: 0.743, Adjusted R-Squared: 0.738 F-statistic vs. constant model: 132, p-value = 1.38e-27
モデル仕様の式における x1
項は、予測子変数行列 X
の 1 列目に対応します。x2
の項は入力行列の 2 列目に対応します。y
の項は応答変数に対応します。
線形モデルの例
fitlm
と stepwiselm
を使用して線形モデルを近似します。
切片と 2 つの予測子
切片と 2 つの固定効果予測子をもつ次のような線形回帰モデルがあるとします。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ x1 + x2'
切片なしと 2 つの予測子
切片がなく 2 つの固定効果予測子をもつ次のような線形回帰モデルがあるとします。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ -1 + x1 + x2'
切片、2 つの予測子および 1 つの交互作用項
切片、2 つの固定効果予測子および 1 つの交互作用項をもつ、次のような線形回帰モデルがあるとします。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ x1*x2'
または
'y ~ x1 + x2 + x1:x2'
切片、3 つの予測子およびすべての交互作用効果
切片、3 つの固定効果予測子、および 3 つの予測子とそれより次数の低い項のすべての間に交互作用効果がある、次のような線形回帰モデルがあるとします。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ x1*x2*x3'
切片、3 つの予測子および一部の交互作用効果
切片、3 つの固定効果予測子、および 2 つの予測子の間に交互作用効果をもつ、次のような線形回帰モデルがあるとします。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ x1*x2 + x3'
または
'y ~ x1 + x2 + x3 + x1:x2'
切片、3 つの予測子および下位次数のみの交互作用効果
切片、3 つの固定効果予測子、および 3 つの予測子すべてにおいてペア単位交互作用効果があるが、3 つの予測子すべてにおいて同時の交互作用効果が除外される、次のような線形回帰モデルがあるとします。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ x1*x2*x3 - x1:x2:x3'
線形混合効果モデルの例
fitlme
と fitlmematrix
を使用して線形混合効果モデルを近似します。
ランダム切片、予測子なし
ランダム切片が含まれており、予測子項は含まれていない線形混合効果モデルでは、次のようになります。
ここで
また、g は m レベルのグループ化変数です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。
'y ~ (1 | g)'
ランダム切片と 1 つの予測子の固定勾配
固定切片、ランダム切片、および連続予測子変数の固定勾配が含まれている線形混合効果モデルでは、次のようになります。
ここで
また、g は m レベルのグループ化変数です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。
'y ~ x1 + (1 | g)'
ランダム切片と 1 つの予測子のランダム勾配
固定切片、ランダム切片、およびこれらの間に相関の可能性があるランダム勾配が含まれている線形混合効果モデルでは、次のようになります。
ここで
また、D は分散成分ベクトル θ によってパラメーター表現された 2 行 2 列の対称な半正定値共分散行列です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。
'y ~ x1 + (x1 | g)'
変量効果共分散行列のパターンはモデル近似関数によって決まります。共分散行列のパターンを指定するには、モデルを近似する場合に fitlme
で利用可能な名前と値のペアを使用します。たとえば、関数 fitlme
に 'CovariancePattern'
という名前/値ペア引数を使用すると、ランダム切片とランダム勾配には関連性がないという仮定を指定できます。
一般化線形モデルの例
fitglm
と stepwiseglm
を使用して一般化線形モデルを近似します。
一般化線形モデルでは、応答変数 y が正規分布ではない場合でも、回帰係数に線形となる方程式としてモデルに表すことができます。一般化線形モデルを指定するには、3 つの部分が必要です。
応答変数の分布
リンク関数
線形予測子
応答変数の分布とリンク関数を指定するには、近似関数 fitglm
または stepwiseglm
の名前/値ペア引数を使用します。
方程式の線形予測子部分は、モデル仕様式において ~
記号の右側に表示されますが、線形モデルの例の場合と同じ方法でウィルキンソンの表記法を使用します。
一般化線形モデルでは、実際の応答ではなくリンク関数を y としてモデル化します。これは、モデル オブジェクトの出力表示に反映されます。
切片と 2 つの予測子
切片と 2 つの予測子をもつ、次のような一般化線形回帰モデルがあります。
ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。
'y ~ x1 + x2'
一般化線形混合効果モデルの例
fitglme
を使用して一般化線形混合効果モデルを近似します。
一般化線形混合効果モデルでは、応答変数 y が正規分布ではない場合でも、回帰係数に線形となる方程式としてモデルに表すことができます。一般化線形モデルを指定するには、3 つの部分が必要です。
応答変数の分布
リンク関数
線形予測子
応答変数の分布とリンク関数を指定するには、近似関数 fitglme
の名前/値ペア引数を使用します。
方程式の線形予測子部分は、モデル仕様式で ~
記号の右側に表示されますが、線形混合効果モデルの例の場合と同じ方法でウィルキンソンの表記法を使用します。
一般化線形モデルでは、応答そのものではなく、リンク関数を y としてモデル化します。これは、モデル オブジェクトの出力表示に反映されます。
変量効果共分散行列のパターンはモデル近似関数によって決まります。共分散行列のパターンを指定するには、モデルを近似するときに fitglme
で使用できる名前と値のペアを使用します。たとえば、fitglme
で 'CovariancePattern'
という名前/値ペア引数を使用すると、ランダム切片とランダム勾配には関連性がないという仮定を指定できます。
ランダム切片と 1 つの予測子の固定勾配
固定切片、ランダム切片、および連続予測子変数の固定勾配が含まれている一般化線形混合効果モデルでは、ポアソン分布を使用して次のように応答をモデル化できるとします。
ここで
また、g は m レベルのグループ化変数です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。
'y ~ x1 + (1 | g)'
反復測定モデルの例
fitrm
を使用して反復測定モデルを近似します。
1 つの予測子
反復測定モデルに 5 つの応答測定値と 1 つの予測子変数がある場合、次のようにウィルキンソンの表記法を使用してモデル式を指定します。
'y1-y5 ~ x1'
3 つの予測子と 1 つの交互作用項
反復測定モデルに 5 つの応答測定値と 3 つの予測子変数があり、2 つの予測子変数の間に交互作用がある場合、次のようにウィルキンソンの表記法を使用してモデル式を指定します。
'y1-y5 ~ x1*x2 + x3'
参照
[1] Wilkinson, G. N., and C. E. Rogers. "Symbolic description of factorial models for analysis of variance." J. Royal Statistics Society 22, pp. 392–399, 1973.