No.02610 クロス表の分析について  【波音】 2007/02/05(Mon) 21:28

現在,「独立性の検定」と「比率の差の検定」と「分布の差の検定」の区別で混乱してしまっている状態です。

まず「独立性の検定」と「分布の差の検定」についてですが,これは結局のところ帰無仮説が違うだけという理解でよろしいのでしょうか?前者は「2変数は互いに独立である」で,後者は「k群の分布に差はない」としているだけで出てくる数値は同じですよね。。。

次に「独立性の検定」と「比率の差の検定」ですが,k×2分割表にまとめらたデータにおいてはchisq.test()でもprop.test()でも同じです。ということはこれも単に帰無仮説が異なる。つまりは解釈の仕方が違うだけということでしょうか。

そ こで追い討ちをかけるかのように混乱しているのが,森・吉田「心理学のためのデータ解析テクニカルブック」北大路書房のp192に掲載されている「対応が ない3条件の比率の比較」という例です。まず第1に比率の差の検定はk×2分割表でまとめられたデータに適用するものではないのかという疑問があります。 現にprop.test()ではNGです。

しかし,chisq.test()ではできます。ということは,これはk群の分布の差の検定,もしくは独立性の検定を行っていることと本質的には同じということになりますが,これもまた帰無仮説が違うだけということなのでしょうか?

No.02613 Re: クロス表の分析について  【青木繁伸】 2007/02/05(Mon) 22:45

> 森・吉田「心理学のためのデータ解析テクニカルブック」北大路書房の p192に掲載されている「対応がない3条件の比率の比較」という例です。まず第1に比率の差の検定はk×2分割表でまとめられたデータに適用するもので はないのかという疑問があります。現にprop.test()ではNGです。しかし,chisq.test()ではできます。

その本を今参照できないので??なのですが。

もう少し具体的に説明できればお願いします。

3つの検定の相違について,例題を挙げて,まとめましょう。例題は,架空例ですが,若年,中年,老年の三群で,ある質問に対する意見の分布というようなもの。
   賛成 どちらかといえば賛成 どちらかといえば反対 反対
若年
中年
老年

のような,3行4列のクロス集計表です。

まず。
「独立性の検定」  年代と反応は独立か
「比率の差の検定」 年代ごとの各カテゴリーの反応比率は同じか
「分布の差の検定」 年代ごとの各カテゴリーの分布は同じか

同じですよね。

帰無仮説と,それに基づく期待値の計算方法の考え方(と言っても差はないのだが)が少しだけ違うだけだけど,結果としての数値には何の違いもない。

だって,同じ分割表から,違う統計量を求めるのではなくて,「同じ」カイ二乗統計量を計算するのだから,違う数値が出てくるわけがない。

違う統計量が出てくるのなら,誰もが「大きい」カイ二乗統計量の出てくる検定法を採用します(^_^;)(有意でない結果が欲しい人は逆)。

No.02616 Re: クロス表の分析について  【波音】 2007/02/05(Mon) 23:35

回答ありがとうございます。基本的には提示していただいた例で理解できたのですが,間違いのないように補足させていただきます。

挙げた本の例データは3×3分割表にまとめられたデータで,Rのchisq.test()を用いてやると以下のようになり,その答えも本の内容と一致しています。
 dat <- matrix(c(
12, 10, 8,
5, 5, 20,
7, 6, 7), ncol=3, byrow = TRUE)

chisq.test(dat)

Pearson's Chi-squared test

data: dat
X-squared = 10.627, df = 4, p-value = 0.03109
それで,比率の差の検定を行うprop.test()で同じようにやろうとすると
prop.test(dat)
以下にエラーprop.test(dat) : 'x' は 2 つの列を持たなければなりません
と なってしまうわけです。このようなこともあって,私は「k群の比率の差の検定はk×2分割表にまとめられたデータのみに適用するもの」と理解していたので す。つまり,カテゴリが2つの場合には比率の差の検定を行い,k×l分割表(カテゴリが3つ以上)の場合には独立性の検定を適用するというようにです。

でも,どうやらk群の比率の差の検定というのはカテゴリ数が3つ以上の場合にも適用してよいのですね。

細かいことですがk×2分割表にまとめられたデータにおいてchisq.test()とprop.test()のどちらを使うのが適切なのでしょうか。以下のデータだと全く同じ値を返してくれますが?
> dat
[,1] [,2]
[1,] 12 10
[2,] 5 5
[3,] 7 6
> chisq.test(dat)
> prop.test(dat)

No.02618 Re: クロス表の分析について  【青木繁伸】 2007/02/06(Tue) 00:24

ああ。そういうことでしたか。

prop.test() は,比率の差の検定ということですから,k×2 分割表を対象にするんですね。
k群について,有り・無し(陽性・陰性)みたいなものです。比率というとkカテゴリーの比率もオーケーのように思われますが,その中でも2カテゴリー(0/1)データのみを扱うんですね。
ですから,k×2ならば chisq.test も prop.test も同じ結果を与えます。しかし,
dat <- matrix(c(1, 3, 2, 4), 2, 2, byrow=TRUE)
dat
chisq.test(dat, correct=FALSE)
prop.test(c(1, 2), c(4, 6), correct=FALSE)
chisq.test(dat, correct=TRUE)
prop.test(c(1, 2), c(4, 6), correct=TRUE)
本来なら(??)最初の2対と,次の2対は,それぞれ同じ結果を返すはずですが,Rではそうはなりません。
連続性の補正をしない場合には同じ結果を返しますが,連続性の補正をする場合の計算方法に解釈の相違があります。
頭の固い(??)R開発陣は,「それでいいのだ」と言っております。どちらかというと,prop.test の方がおかしいのだと言いたいのか,二つは別々のものだから,別々の答えを返して何が悪いというような言い分のようです(??)。

No.02621 Re: クロス表の分析について  【波音】 2007/02/06(Tue) 12:14

回答ありがとうございます。chisq.test()とprop.test()については理解できました。しかし,ライアン法による多重比較のことについて新たに分からないところが出てきてしまいました。

k×2分割表の場合は青木先生のwebページで解説されているように,k群の陽性比率の差を名義的有意水準を定めて対比較していけば良いわけですよね。しかし,例えば先ほど挙げていただいた3×4分割表の場合はどのカテゴリの比率の差を比較していけばよいのでしょうか。

例えば,若年ではどの意見が多かったのか(どの意見間に差があるのか)を調べる場合は{若年-賛成 vs 若年-反対}のような比較をしていけばよいというのは分かります。

ところが,若年の比率と老年の比率の差を調べる場合はどのようにすればよいのか良く分かりません。賛成の比率,どちらかといえば賛成の比率,どちらかといえば反対の比率,反対の比率,といったように4つのどの比率を比べればよいのでしょうか。

No.02622 Re: クロス表の分析について  【青木繁伸】 2007/02/06(Tue) 12:37

ちょうど,No.2603からのスレッドがありますが,複雑な多重比較はやらない方が無難。
解釈が面倒になるし。

で,お勧めではないが,残差分析を挙げておくとか。。。

No.02624 Re: クロス表の分析について  【波音】 2007/02/06(Tue) 16:13

> ちょうど,No.2603からのスレッドがありますが,複雑な多重比較はやらない方が無難。

なるほど,なんでもかんでも細かく分析すれば良いというものでもないのですね。たしかにクロス表が8×12とかになったら,せっかく分かりやすいように集計したのに多重比較の結果で分かりにくくなったら本末転倒ですね。

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