Rの分散分析表で逐次平方和でなく、調整平方和を出す方法

2010年02月19日


Rで調整平方和を求める

Rで調整平方和(Type-IIの平方和やType-IIIの平方和)を出すためには、“car”というパッケージを使えばよい。調整平方和が何なのかは後述。以下ソース。

# 線形モデル (linear model) などを作る
# 下の、response, explanatory1,
# explanatory2は適当に書いたので、
# 適宜置き換える必要がある。
ex.lm <- lm(response ~ explanatory1 * explanatory2, data=ex)
#carパッケージの読み込み
library(car)
# Type-IIの平方和を出す
Anova(ex.lm)
# Type-IIIの平方和を出す
Anova(ex.lm, type="III")

なお、“car”パッケージの“car”とは、Companion to Applied Regressionの略である。

別の書き方

Type-IIIの平方和を出す場合は、以下のように数値でtypeを指定しても良い。

Anova(ex.lm, type=3)

また、何も指定しなければ、自動的にType-IIの平方和が出てくるが、敢えて指定したかったら、以下のようにすれば良い。

Anova(ex.lm, type="II")

Type-IIIの時と同様に、数値で指定することもできる。

Anova(ex.lm, type=2)

調整平方和とは?

普通の分散分析表で出てくる平方和(Sum of Squares; 通常SSと略す)は、逐次平方和(sequential SS)である。これは、Rだと、“anova”という関数で計算できる。この関数は特別なパッケージを必要しない。

逐次平方和は、モデル式の変数の順序が変わると、場合によって数値が変わってしまうことがある。

調整平方和(adjusted SS)は、モデル式の変数の順序によって値が変わるようなことはない。普通、調整平方和というと、Type-IIの平方和のことを指す。これは、他の主要因(一次)の影響を除いたときの平方和を求めるものである。Type-IIIの平方和は、他の主要因(一次)だけでなく二次以上の項の影響も除いて計算した平方和である。



Posted by green_idea at 21:31│Comments(0)TrackBack(0) 統計・計量・数学 | プログラミング |

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/green_idea/1111889

コメントする

名前
URL
 
  絵文字