No.08817 ダミー変数と連続変量の交互作用項の作成  【統計素人】 2009/01/03(Sat) 03:28

はじめまして。みなさんのお知恵を拝借したく,書き込みさせていただきます。

実験で,2つの要因(どちら も2水準)による従属変数(1〜5の5段階)への影響に対するATIの検討(適性変数は1〜5の5段階)を試みようと思っています。適性変数は2つの実験 要因間で差がないように事前にブロック化しています(といっても,p > .10程度ですので,正確には違いがないといえないとは思いますが・・・)。今のところ,適性変数を3分割し,全て対応のない3要因の分散分析を実施しよ うかと考えていますが,各要因に20人程度しかおらず,3分割しますと7名前後しかいなくなってしまうことと,連続変量を分割することによる情報量の欠損 を避けたく,ダミー変数と連続変数との交互作用を検討したいと思っています。ご回答いただきたい点は2点です。

(1) 離散変数である2つの実験要因それぞれと適性変数との1次の交互作用項の作成方法
(2) 離散変数の2つと適性変数との2次の交互作用項の作成方法

(1) については,実験要因それぞれを(-1,1)にダミーコード化し,適性変数をセンタリングし,それぞれ掛け合わせればよいのでしょうか?

(2) については,全くわかりません。

ご教示,よろしくお願いいたします。

No.08818 Re: ダミー変数と連続変量の交互作用項の作成  【青木繁伸】 2009/01/03(Sat) 11:18

(1)については,実験要因を0/1のダミー変数として,単純に掛け算するだけでよいでしょう(-1/1としても,変数をセンタリングしても,たとえ正規化しても同じ結果になる。係数は違ってもP値は同じ)。(2)についても同じでよいでしょう。
以下は R で lm (重回帰分析)を行う場合について,普通のやり方と,わざわざ交互作用項を計算により作り出す場合を比較したものです。
しかるべき解析プログラムを使えば,交互作用項の作り方で頭を悩ませることは無いと思います。
> set.seed(123)
> d <- data.frame(fac1=factor(sample(2, 100, replace=TRUE)),
+ fac2=factor(sample(2, 100, replace=TRUE)),
+ x=sample(5, 100, replace=TRUE),
+ y=sample(5, 100, replace=TRUE))
> ans <- lm(y~fac1*fac2*x, d) # 普通の方法
> summary(ans)

Call:
lm(formula = y ~ fac1 * fac2 * x, data = d)

Residuals:
Min 1Q Median 3Q Max
-2.3409 -0.9871 -0.1508 1.2045 2.2125

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.4585 0.7439 4.649 1.11e-05 ***
fac12 -1.0145 0.9842 -1.031 0.305
fac22 -0.8448 0.9428 -0.896 0.373
x -0.1231 0.2014 -0.611 0.543
fac12:fac22 1.1984 1.3600 0.881 0.381
fac12:x 0.2376 0.2898 0.820 0.415
fac22:x 0.3049 0.2755 1.107 0.271
fac12:fac22:x -0.4121 0.4194 -0.982 0.328
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.452 on 92 degrees of freedom
Multiple R-squared: 0.0279, Adjusted R-squared: -0.04607
F-statistic: 0.3771 on 7 and 92 DF, p-value: 0.9135

自分で,交互作用項を計算して加える方法
> d$FAC1x <- (as.integer(d$fac1)-1)*d$x # 単純に掛け算
> d$FAC2x <- (as.integer(d$fac2)-1)*d$x # 単純に掛け算
> d$FAC1FAC2 <- (as.integer(d$fac1)-1)*(as.integer(d$fac2)-1) # 単純に掛け算
> d$FAC1FAC2x <- (as.integer(d$fac1)-1)*(as.integer(d$fac2)-1)*d$x # 単純に掛け算
> ans2 <- lm(y~fac1+fac2+x+FAC1FAC2+FAC1x+FAC2x+FAC1FAC2x, d)
> summary(ans2)

Call:
lm(formula = y ~ fac1 + fac2 + x + FAC1FAC2 + FAC1x + FAC2x +
FAC1FAC2x, data = d)

Residuals:
Min 1Q Median 3Q Max
-2.3409 -0.9871 -0.1508 1.2045 2.2125

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.4585 0.7439 4.649 1.11e-05 ***
fac12 -1.0145 0.9842 -1.031 0.305
fac22 -0.8448 0.9428 -0.896 0.373
x -0.1231 0.2014 -0.611 0.543
FAC1FAC2 1.1984 1.3600 0.881 0.381
FAC1x 0.2376 0.2898 0.820 0.415
FAC2x 0.3049 0.2755 1.107 0.271
FAC1FAC2x -0.4121 0.4194 -0.982 0.328
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.452 on 92 degrees of freedom
Multiple R-squared: 0.0279, Adjusted R-squared: -0.04607
F-statistic: 0.3771 on 7 and 92 DF, p-value: 0.9135

> d # データ
fac1 fac2 x y FAC1x FAC2x FAC1FAC2 FAC1FAC2x
1 1 2 2 4 0 2 0 0
2 2 1 5 1 5 0 0 0
3 1 1 4 4 0 0 0 0
4 2 2 3 4 3 3 1 3
5 2 1 3 4 3 0 0 0
6 1 2 5 3 0 5 0 0
7 2 2 2 1 2 2 1 2
8 2 2 2 1 2 2 1 2
9 2 1 1 3 1 0 0 0
10 1 1 1 3 0 0 0 0
11 2 2 3 2 3 3 1 3
12 1 1 2 3 0 0 0 0
:

No.08820 Re: ダミー変数と連続変量の交互作用項の作成  【統計素人】 2009/01/03(Sat) 17:51

青木繁伸先生,
早速のご回答ありがとうございます。先生のご教授に従って分析してみます。またわからないことがあったときには,よろしくお願いします。

● 「統計学関連なんでもあり」の過去ログ--- 042 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る