Main Content

ウィルキンソンの表記法

概要

ウィルキンソンの表記法を使用すると、係数の値を指定せずに回帰と反復測定のモデルを記述できます。この特殊な表記法では、モデルに対して追加または除外する予測子変数と応答変数を指定します。また、二乗項、より高い次数の項、交互作用項およびグループ化変数をモデル式に含めることもできます。

ウィルキンソンの表記法によるモデルの指定にはいくつかの利点があります。

  • 個々の予測子と交互作用項をモデルに対して追加または除外できます。たとえば、各モデル近似関数において利用可能な 'Interactions' という名前/値のペアを使用すると、変数のすべてのペアに交互作用項が含まれるようになります。ウィルキンソンの表記法を使用すると、関心がある交互作用項のみを追加できます。

  • 入力データで table データ型を使用している場合、計画行列を変更しなくてもモデル式を変更できます。たとえば、利用可能なすべての予測子変数を使用して初期モデルを当てはめ、統計的に有意ではない変数を除外することになった場合、関心がある変数のみが含まれるようにモデル式を書き直しできます。入力データ自体を変更する必要はありません。

Statistics and Machine Learning Toolbox™ に含まれる次のモデル近似関数において、ウィルキンソンの表記法が使用されています。

  • 線形モデル (fitlmstepwiselm を使用)

  • 一般化線形モデル (fitglm を使用)

  • 線形混合効果モデル (fitlmefitlmematrix を使用)

  • 一般化線形混合効果モデル (fitglme を使用)

  • 反復測定モデル (fitrm を使用)

  • コックス比例ハザード モデル (fitcox を使用)

式の仕様

モデル仕様の式は y ~ terms という形式の文字ベクトルまたは string スカラーです。y は応答変数の名前であり、terms は予測子変数の名前と次の演算子を使用してモデルを定義します。

予測子変数

モデル内の予測子項ウィルキンソンの表記法
切片1
切片なし–1
x1x1
x1, x2x1 + x2
x1, x2, x1x2x1*x2 または x1 + x2 + x1:x2
x1x2x1:x2
x1, x12x1^2
x12x1^2 – x1

モデル式に 1 を加算しない場合でも、ウィルキンソンの表記法では既定で切片の項がモデルに含まれます。切片をモデルから除外するには、式で -1 を使用します。

* 演算子 (交互作用) と ^ 演算子 (べき乗と指数) では、より低い次数の項がすべて自動的に含まれます。たとえば、x^3 を指定した場合、x3x2 および x が自動的にモデルに含まれます。特定の変数をモデルから除外するには、 演算子を使用して不要な項を除外します。

変量効果モデルと混合効果モデル

変量効果モデルと混合効果モデルの場合、式の仕様には予測子変数とグループ化変数の名前が含まれます。たとえば、予測子変数 x1 が変数 g によってグループ化されている変量効果である場合、ウィルキンソンの表記法では次のように表されます。

(x1 | g)

反復測定モデル

反復測定モデルの場合、式の仕様にはすべての反復測定が応答として、因子が予測子変数として含まれます。反復測定モデルの応答変数は、次の表の記載どおりに指定します。

モデルの応答項ウィルキンソンの表記法
y1y1
y1, y2, y3y1,y2,y3
y1, y2, y3, y4, y5y1–y5

たとえば、応答として 3 つの反復測定があり、予測子変数として因子 x1x2 および x3 がある場合、ウィルキンソンの表記法により、次のように反復測定モデルを定義できます。

y1,y2,y3 ~ x1 + x2 + x3

または

y1-y3 ~ x1 + x2 + x3

変数名

入力データ (応答変数と予測子変数) がテーブルまたはデータセット配列に格納されている場合、変数名を使用して式を指定できます。たとえば、標本データの carsmall を読み込んで、WeightAcceleration および MPG が含まれているテーブルを作成します。近似関数 fitlm の名前/値ペア引数である 'VariableNames' を使用して各変数に名前を付けると、次のモデルをデータに当てはめます。

MPG=β0+β1Weight+β2Acceleration

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

モデル オブジェクトの表示では、入力テーブルで指定した変数名が使用されます。

入力データが行列として格納されている場合、yx1x2 などの既定の変数名を使用して式を指定できます。たとえば、標本データの carsmall を読み込んで、予測子変数 Weight および Acceleration が含まれている行列を作成すると、次のモデルをデータに当てはめます。

MPG=β0+β1Weight+β2Acceleration

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 の項は応答変数に対応します。

線形モデルの例

fitlmstepwiselm を使用して線形モデルを当てはめます。

切片と 2 つの予測子

切片と 2 つの固定効果予測子をもつ次のような線形回帰モデルがあるとします。

yi=β0+β1xi1+β2xi2+εi,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ x1 + x2'

切片なしと 2 つの予測子

切片がなく 2 つの固定効果予測子をもつ次のような線形回帰モデルがあるとします。

yi=β1xi1+β2xi2+εi,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ -1 + x1 + x2'

切片、2 つの予測子および 1 つの交互作用項

切片、2 つの固定効果予測子および 1 つの交互作用項をもつ、次のような線形回帰モデルがあるとします。

yi=β0+β1xi1+β2xi2+β3xi1xi2+εi,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ x1*x2'

または

'y ~ x1 + x2 + x1:x2'

切片、3 つの予測子およびすべての交互作用効果

切片、3 つの固定効果予測子、および 3 つの予測子とそれより次数の低い項のすべての間に交互作用効果がある、次のような線形回帰モデルがあるとします。

yi=β0+β1xi1+β2xi2+β3xi3+β4x1xi2+β5x1xi3+β6x2xi3+β7xi1xi2xi3+εi,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ x1*x2*x3'

切片、3 つの予測子および一部の交互作用効果

切片、3 つの固定効果予測子、および 2 つの予測子の間に交互作用効果をもつ、次のような線形回帰モデルがあるとします。

yi=β0+β1xi1+β2xi2+β3xi3+β4x1xi2+εi,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ x1*x2 + x3'

または

'y ~ x1 + x2 + x3 + x1:x2'

切片、3 つの予測子および下位次数のみの交互作用効果

切片、3 つの固定効果予測子、および 3 つの予測子すべてにおいてペア単位交互作用効果があるが、3 つの予測子すべてにおいて同時の交互作用効果が除外される、次のような線形回帰モデルがあるとします。

yi=β0+β1xi1+β2xi2+β3xi3+β4x1xi2+β5xi1xi3+β6xi2xi3+εi,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ x1*x2*x3 - x1:x2:x3'

線形混合効果モデルの例

fitlmefitlmematrix を使用して線形混合効果モデルを当てはめます。

ランダム切片、予測子なし

ランダム切片が含まれており、予測子項は含まれていない線形混合効果モデルでは、次のようになります。

yim=β0m,

ここで

β0m=β00+b0m,b0mN(0,σ02)

また、g は m 水準のグループ化変数です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。

'y ~ (1 | g)'

ランダム切片と 1 つの予測子の固定勾配

固定切片、ランダム切片、および連続予測子変数の固定勾配が含まれている線形混合効果モデルでは、次のようになります。

yim=β0m+β1xim,

ここで

β0m=β00+b0m,b0mN(0,σ02)

また、g は m 水準のグループ化変数です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。

'y ~ x1 + (1 | g)'

ランダム切片と 1 つの予測子のランダム勾配

固定切片、ランダム切片、およびこれらの間に相関の可能性があるランダム勾配が含まれている線形混合効果モデルでは、次のようになります。

yim=β0m+β1mxim,

ここで

β0m=β00+b0m

β1m=β10+b1m

[b0mb1m]N{0,σ2D(θ)}

また、D は分散成分ベクトル θ によってパラメーター表現された 2 行 2 列の対称な半正定値共分散行列です。この場合、ウィルキンソンの表記法を使用して、次のようにモデル式を指定します。

'y ~ x1 + (x1 | g)'

変量効果共分散行列のパターンはモデル近似関数によって決まります。共分散行列のパターンを指定するには、モデルを近似する場合に fitlme で利用可能な名前と値のペアを使用します。たとえば、関数 fitlme'CovariancePattern' という名前/値ペア引数を使用すると、ランダム切片とランダム勾配には関連性がないという仮定を指定できます。

一般化線形モデルの例

fitglmstepwiseglm を使用して一般化線形モデルを当てはめます。

一般化線形モデルでは、応答変数 y が正規分布ではない場合でも、回帰係数に線形となる方程式としてモデルに表すことができます。一般化線形モデルを指定するには、3 つの部分が必要です。

  • 応答変数の分布

  • リンク関数

  • 線形予測子

応答変数の分布とリンク関数を指定するには、近似関数 fitglm または stepwiseglm の名前/値ペア引数を使用します。

方程式の線形予測子部分は、モデル仕様式において ~ 記号の右側に表示されますが、線形モデルの例の場合と同じ方法でウィルキンソンの表記法を使用します。

一般化線形モデルでは、実際の応答ではなくリンク関数を y としてモデル化します。これは、モデル オブジェクトの出力表示に反映されます。

切片と 2 つの予測子

切片と 2 つの予測子をもつ、次のような一般化線形回帰モデルがあります。

log(yi)=β0+β1xi1+β2xi2,

ウィルキンソンの表記法を使用してモデル式を指定するには、次のようにします。

'y ~ x1 + x2'

一般化線形混合効果モデルの例

fitglme を使用して一般化線形混合効果モデルを当てはめます。

一般化線形混合効果モデルでは、応答変数 y が正規分布ではない場合でも、回帰係数に線形となる方程式としてモデルに表すことができます。一般化線形モデルを指定するには、3 つの部分が必要です。

  • 応答変数の分布

  • リンク関数

  • 線形予測子

応答変数の分布とリンク関数を指定するには、近似関数 fitglme の名前/値ペア引数を使用します。

方程式の線形予測子部分は、モデル仕様式で ~ 記号の右側に表示されますが、線形混合効果モデルの例の場合と同じ方法でウィルキンソンの表記法を使用します。

一般化線形モデルでは、応答そのものではなく、リンク関数を y としてモデル化します。これは、モデル オブジェクトの出力表示に反映されます。

変量効果共分散行列のパターンはモデル近似関数によって決まります。共分散行列のパターンを指定するには、モデルを近似するときに fitglme で使用できる名前と値のペアを使用します。たとえば、fitglme'CovariancePattern' という名前/値ペア引数を使用すると、ランダム切片とランダム勾配には関連性がないという仮定を指定できます。

ランダム切片と 1 つの予測子の固定勾配

固定切片、ランダム切片、および連続予測子変数の固定勾配が含まれている一般化線形混合効果モデルでは、ポアソン分布を使用して次のように応答をモデル化できるとします。

log(yim)=β0+β1xim+bi,

ここで

biN(0,σb2)

また、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.