アルゴリズム (三元配置分散分析)

目次

三元配置分散分析の理論

N 個の観測値が3つの因子、Iレベルの因子A、Jレベルの因子B、Kレベルの因子Cと関連しているものとします。

\(y_{hijk}\,\!\)を因子Aのレベルi 、因子Bのレベル j 、因子Cのレベル k でのh 番目の観測値を表すものとすると、三元配置分散分析モデルは下記のようになります。

\[y_{hijk}=\mu +\alpha _i+\beta _j+\gamma _k+(\alpha\beta)_{ij}+(\alpha\gamma)_{ik}+(\beta\gamma)_{jk}+(\alpha\beta\gamma)_{ijk}+\varepsilon _{hijk}\]

ここで \(\mu \,\!\) は全応答データの平均、\(\alpha _i\,\!\) は因子Aのレベルi での偏差、\(\beta _j\,\!\) は因子Bのレベルj での偏差、 \(\gamma _k\,\!\) は因子Cのレベルk での偏差、\((\alpha\beta)_{ij}\,\!\) は因子AとB間の相互作用項、\((\alpha\gamma)_{ij}\,\!\) は因子AとC間の相互作用項、\((\beta\gamma)_{ij}\,\!\) は因子BとC間の相互作用項、\((\alpha\beta\gamma)_{ijk}\,\!\) は因子A、B、C間の相互作用項、\(\varepsilon _{hijk}\,\!\) は誤差項です。

三元配置の分散分析では、モデルを指定できます。例えば、項 \((\alpha\beta)_{ij}\,\!\) を除外でき(その場合、項\((\alpha\beta\gamma)_{ijk}\,\!\)は自律的に除外されます)、モデルは以下のようになります。

\[y_{hijk}=\mu +\alpha _i+\beta _j+\gamma _k+(\alpha\gamma)_{ik}+(\beta\gamma)_{jk}+\varepsilon _{hijk}\]

指定されたモデルのサンプル偏差は、いわゆる計画行列の手法で生成されます。サンプルとして全てのモデルについて述べると、この手法の処理の要約は、以下の通りです。

全モデルの自由度は \(df_{Model}=IJK-1\) です。全計画行列は \(X := X_{N\times df_{Model}} = [X_\mu |X_A |X_B |X_C |X_{AB} |X_{AC} |X_{BC} |X_{ABC}]\)、ここで、\(X_\mu\)\(\mu\) の副計画行列で、これは通常全て "1" で構成され、他の副計画行列はそれぞれの添え字が意味するものです。\(X_{-*}\) が関連する0の副計画行列の置換によって表現されるとします。例えば、\(X_{-AB} = [X_\mu |X_A |X_B |X_C |0 |X_{AC} |X_{BC} |X_{ABC}]\)

定義

\[R_0 = Y^T X_{\mu}(X_{\mu}^T X_{\mu})^{-1}X_{\mu}^T Y\]

\[R_\mu = Y^T Y\]

\[R_{Model} = Y^T X(X^T X)^{-1}X^T Y\]

\[R_A = Y^T X_{-A}(X_{-A}^T X_{-A})^{-1}X_{-A}^T Y\]

\[R_B = Y^T X_{-B}(X_{-B}^T X_{-B})^{-1}X_{-B}^T Y\]

\[R_C = Y^T X_{-C}(X_{-C}^T X_{-C})^{-1}X_{-C}^T Y\]

\[R_{AB} = Y^T X_{-AB}(X_{-AB}^T X_{-AB})^{-1}X_{-AB}^T Y\]

\[R_{AC} = Y^T X_{-AC}(X_{-AC}^T X_{-AC})^{-1}X_{-AC}^T Y\]

\[R_{BC} = Y^T X_{-BC}(X_{-BC}^T X_{-BC})^{-1}X_{-BC}^T Y\]

\[R_{ABC} = Y^T X_{-ABC}(X_{-ABC}^T X_{-ABC})^{-1}X_{-ABC}^T Y\]

二乗誤差の合計は、

\[SS_A = R_{Model}-R_A\]

\[SS_B = R_{Model}-R_B\]

\[SS_C = R_{Model}-R_C\]

\[SS_{AB} = R_{Model}-R_{AB}\]

\[SS_{AC} = R_{Model}-R_{AC}\]

\[SS_{BC} = R_{Model}-R_{BC}\]

\[SS_{ABC} = R_{Model}-R_{ABC}\]

\[SS_{Error} = R_{\mu}-R_{Model}\]

\[SS_{Total} = R_{\mu}-R_{0}\]


全モデルでは、ANOVA表は以下のようにまとめることができます。

分散の入力 自由度 (DF) 平方和 (SS) 平均平方 (MS) F Prob > F
因子A I - 1 \[SS_A\] \[MS_A\] \(MS_A\) / \(MS_{Error}\) \[P\{F\geq F_{(I-1,df_e,\alpha )}\}\]
因子B J - 1 \[SS_B\] \[MS_B\] \(MS_B\) / \(MS_{Error}\) \[P\{F\geq F_{(J-1,df_e,\alpha )}\}\]
因子C K - 1 \[SS_C\] \[MS_C\] \(MS_C\) / \(MS_{Error}\) \[P\{F\geq F_{(K-1,df_e,\alpha )}\}\]
A*B (I- 1) (J - 1) \[SS_{AB}\] \[MS_{AB}\] \(MS_{AB}\) / \(MS_{Error}\) \[P\{F\geq F_{((I-1)(J-1),df_e,\alpha )}\}\]
A*C (I- 1) (K - 1) \[SS_{AC}\] \[MS_{AC}\] \(MS_{AC}\) / \(MS_{Error}\) \[P\{F\geq F_{((I-1)(K-1),df_e,\alpha )}\}\]
B*C (J- 1) (K - 1) \[SS_{BC}\] \[MS_{BC}\] \(MS_{BC}\) / \(MS_{Error}\) \[P\{F\geq F_{((J-1)(K-1),df_e,\alpha )}\}\]
A*B*C (I- 1) (J - 1)(K - 1) \[SS_{ABC}\] \[MS_{ABC}\] \(MS_{ABC}\) / \(MS_{Error}\) \[P\{F\geq F_{((I-1)(J-1)(K-1),df_e,\alpha )}\}\]
誤差 \(df_e\)=N-IJK \[SS_{Error}\] \[MS_{Error}\]
合計 N - 1 \[SS_{Total}\]

複数の平均比較

Originでは、平均比較にさまざまな方法があり、これはocstat_dlsm_mean_comparison() 関数を使って行っています。

複数の平均の比較法の2種類がOriginに含まれています。

シングルステップ法これは、Tukey-Kramer, Bonferroni, Dunn-Sidak, Fisher’s LSD, Schefféを含む、平均がどの程度違うのかを示すために信頼区間を作成します。

ステップワイズ法Holm-Bonferroni 、Holm-Sidak 検定を含む仮説検定を実行します。

検出力解析

検出力分析は、サンプルデータに対する仮説の検出力だけでなく、実際の検出力を計算します。

三元配置ANOVAの検出力は、その敏感度の計測です。検出力は、ANOVAが実際の差があるときの標本の平均の差を検出するものです。帰無仮説および対立仮説に関して、検出力は検定する統計量 F が、実際に帰無仮説を棄却すべき(例:与えられた帰無仮説が真でない)ときに、帰無仮説を棄却するのに十分であるという確率です。

Originの三元配置ANOVAダイアログは、因子A、因子Bおよび因子C に対する検出力を計算します。特定の交差項が選択された場合もOriginは検出力を計算します。

検出力は次式で定義されます。

\[power=1-probf(f,df,dfe,nc)\,\!\]

ここで f は、非中心の F-分布の偏りで、このF分布は自由度df および dfenc = SS/MSEを持ちます。SS はA, B, C, A*B, A*C, B*C, A*B*Cの二乗和で、MSEは誤差の平均平方、 df は分子の自由度、dfe は誤差の自由度です。全ての値(SS, MSE, df, dfe) は、ANOVA表で取得できます。probf( ) の値が、NAG関数nag_prob_non_central_f_dist (g01gdc)で取得されます。詳細はNAG文書をご覧ください。

上記は、簡単な三元配置ANOVAのアルゴリズムの概要であり、詳細な数学的な演算については、このマニュアルの対応する部分やNAG文書を参照してください。

等分散性のLeveneの検定

Leveneの検定を行うために以下の統計を使用します。

\[L = \frac{(N-k)\sum_{k}^{i=1}n_i(Z_i-Z)^2}{(k-1)\sum_{k}^{i=1}\sum_{n_i}^{j=1}(Z_{ij}-Z_i)^2}\]

ここで

N は観測値の数、\(k = IJK\) は観測値 \(n_i(i=1,...,k)\) のサブグループの数です。

\[Z_{ij} = |Y_{ij}-T_i|\]

\[T_i = \frac{1}{n_i}\sum_{n_i}^{j=1}Y_{ij}\]

\[Z_i = \frac{1}{n_i}\sum_{n_i}^{j=1}Z_{ij}\]

\[Z = \frac{1}{N}\sum_{k}^{i=1}Z_i\]

そして、p値 \(1-F_{k-1,N-k}(L)\) が得られます。