の続きです。
前回は、R言語のlm関数とanova関数でANOVA(分散分析)をしましたが、今回はこの二つの関数を使わないでANOVA(分散分析)をしてみます。
下記の本「平均・分散から始める一般線形化モデル入門」作者:馬場真哉
を参考にしてみました。
japanpacific(日本海側、太平洋側、その他)とkoutuuのANOVAをやってみます。
ANOVAは
koutuu = koutuuの平均値 + japanpacificの効果 + 誤差
というようにkoutuuの値が決まるモデルを仮定して、
F比 = japanpacificの効果の分散 / 誤差の分散
を計算して、F比が有意に大きいかどうかを調べます。
まず、それぞれのベクトルを作成します。
つぎに、それぞれの平均値の変数を作ります。
その他の平均値は約821、日本海側の平均値は約774、太平洋側の平均値は約863、全部の平均値は約840です。
次はjapanpacificの効果を求めます。
これは、
その他の効果 = その他の平均値 - 全部の平均値
日本海側の効果 = 日本海側の平均値 - 全部の平均値
太平洋側の効果 = 太平洋側の平均値 - 全部の平均値
です。
次にjapanpacificという効果の自由度と誤差の自由度を求めます。
japanpacificはその他、日本海側、太平洋側という3つの要素がありますから、3から1を引いて、2です。
誤差の自由度は、全体のデータの数(105都市)からjapanpacificの要素の数(3)を引いて、
105 - 3 = 102です。
japanpacific効果の分散を求めます。
(その他の平均値 - 全部の平均値)^2 * その他のデータの数 +
(日本海側の平均値 - 全部の平均値)^2 * 日本海側のデータの数 +
(太平洋側の平均値 - 全部の平均値)^2 * 太平洋側のデータの数
これが分子で、分母は効果の自由度です。
japanpacific効果の分散は、50529.15です。
誤算の分散を求めます。
誤算の分散は、208296.3です。
F比を求めます。F比 = japanpacific効果の分散 / 誤差の分散 です。
つまり、japanpacific効果の分散が誤差の分散よりもじゅうぶんに大きければ、japanpacificという効果は有意だろう、ということです。
F比は0.2425831です。
F比からp値を計算します。自由度が2, 102のF分布です。
pf関数で確率計算できます。
p値は0.7850499です。つまり0.05よりも大きく、japanpacificという効果は有意ではいということです。
このようにながながと計算してANOVA分析をしましたが、lm関数とanova関数で1行のコマンドで終わります。
いままで計算してきたものを上のANOVA結果に対応させるとこうなります。
Sum Sqは DF * Mean Sq です。Sum Sq / DF = Mean Sq ともいえます。
今回は以上です。