logo
生物科学研究所 井口研究室
Laboratory of Biology, Okaya, Nagano, Japan
Home

多項適合度検定: 3 項以上の正確検定,近似カイ二乗検定,多重比較

井口豊(生物科学研究所,長野県岡谷市)
最終更新: 2023 年 12 月 12 日

1. はじめに

 度数(人数や回数)で 3 項以上の適合度検定として,正確検定(exact test)に使われるのが,多項検定(multinomial test)である。 3 項以上と書いたが,正しくは 2 項以上であり, 2 項(二値データ)の場合が良く知られた 二項検定(binomial test)になる。したがって,多項検定の,いわゆる下位検定として,二項検定による多重比較が用いられる。二項検定に関しては,以下のサイト参照。

正確検定と言うと,独立性検定としての Fisher 正確検定と混同されやすいので,注意が必要だ。それは別サイトに書いた。

近似的な適合度検定として使われるのが,これも良く知られたカイ二乗検定である。ただし,期待度数(理論度数)が小さいと,正しく計算できない。それは独立性検定でも,適合度検定でも同様である。

適合度検定のデータとして使われる代表例が,メンデルのエンドウ豆の交配実験の結果である。それに関しては,例えば,儀我(2014) p.116 適合度検定を参照しほしい。 文献情報は,最後の参考文献に一括した。

本サイトでは,もっと身近な例として,サイコロの目が出る回数の適合度検定を扱う。

2. データ: サイコロの目が出た数

次の表 1 のように集計された 1 から 6 のサイコロの目が出た回数が同数(同比率)であるかどうか,統計ソフト R を使い検定する。

表 1.サイコロの目とそれが出た回数
サイコロの目123456
出た回数0106455

3. 適合度検定(正確多項検定と近似的カイ二乗検定)と多重比較


#############
# サイコロの目が出た回数データ
x<- c(
  "1" =  0,
  "2" = 10,
  "3" =  6,
  "4" =  4,
  "5" =  5,
  "6" =  5
)

# サイコロの目
score <- names(x)

# 目が出る比率
n<- sum(x)
Ratio<- x/n

# 95% 信頼区間上限
ci.1<- function (x) {
  binom.test(x, n)$conf.int[1]
}

CI.low<- as.numeric(
  tapply(x, score, ci.1)
)

# 95% 信頼区間下限
ci.2<- function (x) {
  binom.test(x, n)$conf.int[2]
}

CI.up<- as.numeric(
  tapply(x, score,  ci.2)
)

# データフレーム
g.df<- data.frame(
  Face = factor(names(x)),  
  Ratio,
  CI.low,
  CI.up
)

head(g.df)

# グラフ
library(ggplot2)

g<- ggplot(
  g.df,
  aes(
     x = Face, y = Ratio
     )
  ) +
  geom_errorbar(
     aes(ymin =  CI.low, ymax = CI.up),
          width = 0.1, color = "blue"
        ) +
  geom_point(size = 2, color = "blue") +
  ylim(0, 0.6) +
  ggtitle(
   "Ratio with 95% CI"
  )

plot(g)

# 近似的カイ二乗検定
pc<- chisq.test(x)
pc

# 近似的カイ二乗検定 p 値
round(pc$p.value, 3)

# 正確多項検定
library(rstatix)
pm<- multinom_test(x)
pm

# 正確多項検定 p 値
round(pm$p, 3)

# 正確二項検定による多重比較(Holm 補正)
pb<- pairwise_binom_test(
  x,
  p.adjust.method = "holm"
  )

# 詳細な結果
pb

# 多重比較 Holm 補正 p 値
data.frame(
  Face.pair_1 = pb$group1,
  Face.pair_2  = pb$group2,
  P.adj = round(pb$p.adj, 3)
)

################

結果は以下の通りである。 グラフと検定結果の抜粋を示す。

サイコロの目が出た比率

図 1. サイコロの目が出た比率と 95 % 信頼区間


################################################
# カイ二乗検定 p 値
0.065

# 正確多項検定 p 値
0.031

# 正確二項検定による多重比較(Holm 補正)
   Face.pair_1 Face.pair_2 P.adj
1            1           2 0.029
2            1           3 0.438
3            1           4 1.000
4            1           5 0.812
5            1           6 0.812
6            2           3 1.000
7            2           4 1.000
8            2           5 1.000
9            2           6 1.000
10           3           4 1.000
11           3           5 1.000
12           3           6 1.000
13           4           5 1.000
14           4           6 1.000
15           5           6 1.000


################################################

近似検定であるカイ二乗検定では,全体として有意差が無い(p = 0.065)が,正確多項検定では有意差が見られる(p = 0.031)。

正確二項検定による多重比較(Holm 補正)では, 1 と 2 の目が出た回数の間に有意差が認められた(p = 0.029)。

関連ページ

参考文献

儀我真理子(2014)検定の考え方,独立性の検定.日本医科大学医学会雑誌 10(2): 115-119.
Home