No.05820 Re: F検定とカイ二乗検定 【青木繁伸】 2008/02/12(Tue) 11:53
> ボックスのM検定ではなぜF検定ではなくカイ二乗検定を使用するのか
F検定とかカイ二乗検定というのは,それぞれF分布,カイ二乗分布を用いる検定というほどの意味しかない曖昧な呼び方だと思います。
Box の M 検定は,P値を求める際には F 分布が使われるようですが,書き間違いですか?
(ある検定統計量がある分布に従うからP値の計算にはその分布が使われるというのは,不思議でも何でもなく,その検定統計量がなぜその分布に従うのかは,その検定の提唱者なりがいろいろ研究した成果なのでしょうね)
色々調べると,カイ二乗分布を用いると書いてあるものもある。もう少し調べてみよう。
No.05823 Re: F検定とカイ二乗検定 【tarou】 2008/02/12(Tue) 14:12
御教示ありがとうございました。
今一度調べてみます。
No.05824 Re: F検定とカイ二乗検定 【青木繁伸】 2008/02/12(Tue) 15:44
カイ二乗分布を使うのは近似(どれかの群のサンプルサイズが20以上のとき)
F分布を使うのがより正確な近似のようです。
以下は,ftp://ftp.spss.com/pub/spss/statistics/spss/algorithms/ap14boxm.pdf
によるプログラム例です> BoxM <- function(df) # 群を表す factor が最終列
+ {
+ nc <- ncol(df)
+ gvar <- df[,nc]
+ ni <- table(gvar)
+ n <- length(gvar)
+ g <- length(ni)
+ yij <- df[,-nc]
+ r <- ncol(yij)
+ y <- split(yij, df[,nc])
+ Si <- lapply(y, var)
+ log.det.Si <- sapply(Si, function(x) log(det(x)))
+ S <- sapply(y, function(x) (nrow(x)-1)*var(x))
+ S <- matrix(rowSums(S), r, r)/(n-g)
+ M <- (n-g)*log(det(S))-sum((ni-1)*log.det.Si)
+ f1 <- (g-1)*r*(r+1)/2
+ rho <- 1-(2*r^2+3*r-1)/(6*(r+1)*(g-1))*(sum(1/(ni-1))-1/(n-g))
+ tau <- (r-1)*(r+2)/(6*(g-1))*(sum(1/(ni-1)^2)-1/(n-g)^2)
+ f2 <- (f1+2)/abs(tau-(1-rho)^2)
+ gamma <- (rho-f1/f2)/f1
+ F <- M*gamma
+ p <- pf(F, f1, f2, lower.tail=FALSE)
+
+ chisq <- M *rho
+ pchi <- pchisq(chisq, f1, lower.tail=FALSE)
+ return(c(M=M, F=F, df1=f1, df2=f2, p=p, chisq=chisq, df=f1, p=pchi))
+ }
> df0 <- structure(list(g1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
+ 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), x1 = c(2L, 1L, 2L, 3L,
+ 2L, 2L, 3L, 2L, 3L, 2L, 4L, 3L, 2L, 5L, 4L, 3L, 4L, 5L, 6L, 5L
+ ), x2 = c(3L, 2L, 1L, 2L, 3L, 4L, 3L, 3L, 3L, 4L, 5L, 6L, 5L,
+ 5L, 5L, 4L, 3L, 4L, 5L, 6L), x3 = c(2L, 1L, 2L, 3L, 4L, 5L, 6L,
+ 2L, 3L, 4L, 5L, 6L, 3L, 2L, 1L, 2L, 3L, 5L, 6L, 7L), g2 = c(1L,
+ 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L,
+ 3L, 1L, 2L)), .Names = c("g1", "x1", "x2", "x3", "g2"),
+ class = "data.frame", row.names = c(NA, -20L))
> BoxM(df0[,c(2:4,1)])
M
5.9985025
F df1 df2 p
0.8166846 6.0000000 2347.4716981 0.5568091
chisq df p
4.9154395 6.0000000 0.5547036
No.05825 Re: F検定とカイ二乗検定 【tarou】 2008/02/12(Tue) 18:18
カイ二乗分布とF分布の違いはサンプル数の違いによるものなんですね。
F分布を用いて等分散性の検定もおこなってみようとおもいます。
御教示ありがとうございました。
No.05826 Re: F検定とカイ二乗検定 【青木繁伸】 2008/02/12(Tue) 18:30
おわかりになっているのかどうか判断がつきかねるので,老婆心ながら
Box の M 検定は分散共分散行列の同等性の検定です(まあ,多変量版ですね)
一変量の等分散性の検定(二群なら等分散性の検定,三群以上ならバートレットの検定とかlevene検定)とは異なるものです。
また,カイ二乗分布を使う分散の検定とは,分布の差の検定を意図しているのかも知れませんが,分布の差の検定は等分散の検定とイコールではありません。
● 「統計学関連なんでもあり」の過去ログ--- 041 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る