• 検索結果がありません。

Cochran-Mantel-Haenszel カイ 2 乗検定 mantelhaen.test()

ドキュメント内 ためになった他の人のサイト script of (ページ 69-74)

3.2 パラメトリック検定関数

3.2.6 Cochran-Mantel-Haenszel カイ 2 乗検定 mantelhaen.test()

mantelhaen.test()

は,

3

次の相互作用が無いという仮定の下で,二つの名義尺度変

数が各層毎に条件付き独立であるという帰無仮説の

Cochran-Mantel-Haenszel

カイ

2

乗 検定を実行する.

書式:

mantelhaen.test(x, y = NULL, z = NULL,

alternative = c("two.sided", "less", "greater"), correct = TRUE, exact = FALSE, conf.level = 0.95)

引数:

x

各次元が少なくとも

2

で最後が層に対応する配列形式の

3

元配置分割表か,少な くとも

2

水準を持つ因子オブジェクト

y

少なくとも

2

水準を持つ因子オブジェクト.もし

x

が配列なら無視

z

少なくとも

2

水準を持つ因子オブジェクトで,

x

y

中の要素がどの層に属す

るかを指定する.もし

x

が配列なら無視される

alternative

対立仮説.

"two.sided", "greater"

もしくは

"less"

.最初の一文 字だけでよい.

2 × 2 × K

ケースだけで使われる

correct

論理値.検定統計量を計算するとき連続補正をするかどうかを指示する.

2 × 2 × K

ケースだけで使われる

exact

論理値.

Mantel-Haenszel

検定を使うか,

(

層の周辺和を与えた

)

正確な条件付 き検定を使うかを指示する.

2 × 2 × K

ケースだけで使われる

conf.level

信頼区間の信頼係数.

2 × 2 × K

ケースだけで使われる 返り値: クラス

"htest"

のオブジェクトで,次の成分を持つリスト:

statistic

正確検定が使われないときだけ存在する.古典的な

2 × 2 × K

表の場合

(

背景変数が二値のケース

)

Mantel-Haenszel

カイ

2

乗検定統計量,さもなけれ ば一般化された

Cochran-Mantel-Haenszel

統計量

parameter

検定統計量の近似カイ

2

乗分布の自由度

(

古典的ケースでは

1)

.正確検定 が使われないときだけ存在する

p.value

検定の

p

conf.int

共通オッヅ比に対する信頼区間.

2 × 2 × K

ケースだけ存在する

estimate

共通オッヅ比に対する推定値.もし正確検定が実行されると,条件付き最

尤推定量が与えられる.さもなければ

Mantel-Haenszel

推定値.

2 × 2 × K

ケー スだけ存在する

null.value

帰無仮説下での共通オッヅ比.

2 × 2 × K

ケースだけ存在する

alternative

対立仮説を示す文字列.

2 × 2 × K

の場合だけ存在する

method

どのようなタイプの検定が使われたか,連続補正が使われたかを示す文字列

data.name

データの名前を与える文字列

もし

x

が配列なら,各次元は少なくとも

2

でなければならず,要素は非負整数である 必要がある.欠損値

NA

は許されない.さもなければ

x, y

そして

z

は同じ長さを持つ必 要がある.

NA

を含む三つ組は除かれる.全ての変数は少なくとも

2

つの異なった値を持 たねばならない.

注意:漸近分布は

3

次の相互作用が無いときだけ意味を持つ.古典的な

2 × 2 × K

ケー スでは,これは各層での条件付きオッヅ比が同一であることと同値である.現在のとこ ろ,オッヅ比の同一性に対する如何なる検査もされない.以下の例を見よ.

# 兎への致死的なβ溶血連鎖球菌の注射に対する,直後と一時間半後のペニシリン注射の効果

> Rabbits

<-array(c(0,0,6,5, 3,0,3,6, 6,2,0,4, 5,1,6,0, 2,5,0,0), dim = c(2, 2, 5),

dimnames = list(Delay = c("None", "1.5h"), Response = c("Cured", "Died"),

Penicillin.Level = c("1/8","1/4","1/2","1","4")))

> mantelhaen.test(Rabbits) # 古典的 Mantel-Haenszel検定

Mantel-Haenszel chi-squared test with continuity correction

data: Rabbits # 5%有意

Mantel-Haenszel X-squared = 3.9286, df = 1, p-value = 0.04747 # 1%有意でない alternative hypothesis: true common odds ratio is not equal to 1

95 percent confidence interval: 1.026713 47.725133 # 95%信頼区間

sample estimates: common odds ratio 7 # オッヅ比の推定値

> mantelhaen.test(Rabbits, exact = TRUE) # 正確な条件付き検定

Exact conditional test of independence in 2 x 2 x k tables data: Rabbits

S = 16, p-value = 0.03994 # 5%有意

alternative hypothesis: true common odds ratio is not equal to 1 # 1%有意でない 95 percent confidence interval: 1.077401 529.837399

sample estimates: common odds ratio 10.36102

# 「直後の注射により高い治癒率」という片側対立仮説に対する正確な条件付き検定

> mantelhaen.test(Rabbits, exact = TRUE, alternative = "greater") Exact conditional test of independence in 2 x 2 x k tables data: Rabbits

S = 16, p-value = 0.01997 # 5%有意

alternative hypothesis: true common odds ratio is greater than 1 # 1%有意でない 95 percent confidence interval: 1.384239 Inf

sample estimates: common odds ratio 10.36102

# UC Berkley校の入学希望者データUCBAdmissionsを使用

> mantelhaen.test(UCBAdmissions)

Mantel-Haenszel chi-squared test with continuity correction data: UCBAdmissions

Mantel-Haenszel X-squared = 1.4269, df = 1, p-value = 0.2323 alternative hypothesis: true common odds ratio is not equal to 1 95 percent confidence interval: 0.7719074 1.0603298

sample estimates: common odds ratio 0.9046968

# 学部の違いで補正すれば入学者と性別に関連があるという証拠は無い

# しかし(条件付きの)オッヅ比を検査すると一様とは思われない

> apply(UCBAdmissions, 3, function(x) (x[1,1]*x[2,2])/(x[1,2]*x[2,1]))

A B C D E F

0.3492120 0.8025007 1.1330596 0.9212838 1.2216312 0.8278727

# 交互作用に対する伝統的なWoolf検定で調べてみるとp0.003

# これは有意な異質性を示唆し,Mantel-Haenszel検定を使うべきではない

> woolf <- function(x) {

x <- x + 1 / 2; k <- dim(x)[3]

or <- apply(x, 3, function(x) (x[1,1]*x[2,2])/(x[1,2]*x[2,1])) w <- apply(x, 3, function(x) 1 / sum(1 / x))

1 - pchisq(sum(w * (log(or) - weighted.mean(log(or), w)) ^ 2), k - 1) }

> woolf(UCBAdmissions) [1] 0.003427200

3.2.7 一元配置正規標本の平均の同一性検定 oneway.test()

oneway.test()

は一元配置の

2

もしくはそれ以上の正規標本の平均の同一性を検定す

る.分散は必ずしも同一でなくても良い.

書式:

oneway.test(formula, data, subset, na.action, var.equal = FALSE)

引数:

formula

形式

lhs~rhs

のモデル式で,

lhs

はデータ値,

rhs

は対応するグループ

data

モデル式中の変数を含むオプションのデータフレーム

subset

観測値の部分集合を指示するオプションのベクトル

na.action

欠損値の処理を指示する関数.既定は

getOption("na.action")

var.equal

論理値.標本の分散が同一と見なすかどうかを指示する.

TRUE

なら一

元配置分散分析による平均の同一性に対する単純な

F

検定が実行される.もし

FALSE

なら

Welch

の近似検定が使われる.これは普通の二標本

Welch

検定を任 意多標本に拡張したものである

返り値: クラス

"htest"

のオブジェクトで,次の成分を持つリスト:

statistic

検定統計量の値

parameter

検定統計量の正確もしくは近似

F

分布の自由度

p.value

検定の

p

method

どのタイプの検定が使われたかを示す文字列

data.name

データの名前を与える文字列

.

関連:二標本に対する特殊例である標準

t

検定

t.test()

.一元配置に於ける位置パラ メータの同一性に対するノンパラメトリック検定

kruskal.test()

# Studentの睡眠薬データsleepを使用.分散の同一性を仮定しない場合

# 睡眠薬の効き目の同一性は有意水準5%で棄却できず

> oneway.test(extra ~ group, data = sleep)

One-way analysis of means (not assuming equal variances) data: extra and group

F = 3.4626, num df = 1.000, denom df = 17.776, p-value = 0.0794

# 分散の同一性を仮定した場合(同一性は有意水準5%で棄却できない)

> oneway.test(extra ~ group, data = sleep, var.equal = TRUE) One-way analysis of means

data: extra and group

F = 3.4626, num df = 1, denom df = 18, p-value = 0.07919

> anova(lm(extra ~ group, data = sleep)) # 分散分析は同じ結果を与える Analysis of Variance Table

Response: extra

Df Sum Sq Mean Sq F value Pr(>F) group 1 12.482 12.482 3.4626 0.07919 . Residuals 18 64.886 3.605

---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

3.2.8 複数のグループの比率の同一性の検定 prop.test()

prop.test()

は複数のグループの比率

(

成功確率

)

が等しい,または与えられた値に等

しいという帰無仮説を検定する.

書式:

prop.test(x, n, p = NULL,

alternative = c("two.sided", "less", "greater"), conf.level = 0.95, correct = TRUE)

引数:

x

成功回数のベクトル,または成功・失敗回数を与える二つの列を持つ行列

n

試行回数のベクトル.もし

x

が行列ならば無視される

p

成功確率のベクトル.

p

の長さは

x

で指定されるグループ数と同じ必要

alternative

対立仮説.

"two.sided", "greater"

もしくは

"less"

のいずれか.

最初の一文字だけでよい.単一の母集団の比率が指定値に等しいか,二つの比率 が等しいという帰無仮説の検定だけで使われる.さもなければ無視される

conf.level

返される信頼区間の信頼係数.単一の母集団の比率が指定値に等しいか,

二つの比率が等しいという帰無仮説の検定だけで使われる.さもなければ無視

correct

論理値.

Yates

の連続補正をするか

返り値: クラス

"htest"

のオブジェクトで,次の成分を持つリスト:

statistic Pearson

のカイ

2

乗検定統計量の値

parameter

検定統計量の近似カイ

2

乗分布の自由度

p.value

検定の

p

estimate

標本比率

x/n

のベクトル

conf.int

グループが一つなら真の比率,二つのグループがあり

p

が与えられなけれ

ば比率の差に対する信頼区間.さもなければ

NULL

.これが

NULL

でない場合は 返される信頼区間は

conf.level

で指定される漸近信頼水準を持ち,指定された 対立仮説に対応する

null.value

帰無仮説で指定された場合の

p

の値,さもなければ

NULL alternative

対立仮説を示す文字列

method

どのようなタイプの検定が使われたか,

Yates

連続補正行ったかを示す文字列

data.name

データの名前を与える文字列

.

成功・失敗回数が有限であるグループだけが使われる.成功・失敗回数は非負で,した がって正でなければならない対応する試行回数よりも大きくてはいけない.全ての有限な カウント数は整数でなければならない.

もし

p

NULL

で,複数のグループがあれば,検定される帰無仮説は各グループの比率 が等しいというものである.もし二つのグループがあれば,対立仮説は

alternative

で 指定された内容に応じて,第一グループの成功確率が第二グループのそれよりも「より小 さい」,「等しくない」そして「より大きい」である.

conf.level

で指定された信頼係数 を持つ,比率の差異に対する信頼区間は区間

[ − 1, 1]

中に切り詰められる.連続補正は,

それが絶対値で標本比率差を越えないときだけ使われる.さもなければ,もし

3

つ以上の グループがあれば,対立仮説は常に

"two.sided"

であり,返される信頼区間は

NULL

で あり,連続補正は決して使われない.

もし一つのグループだけがあれば,検定される帰無仮説は根底にある成功確率が

p

であるというものである.もし

p

が与えられなければ

p=0.5

とされる.対立仮説は

alternative

で指定された内容に応じて,成功確率が

p

もしくは

0.5

より「小さい」,

「等しくない」そして「大きい」となる.

conf.level

で指定された信頼係数を持つ,比 率の差異に対する信頼区間は区間

[ − 1, 1]

中に切り詰められる.連続補正は,それが絶対 値で標本比率と帰無仮説比率の差を越えないときだけ使われる.信頼区間はスコア検定を 逆転して計算される.

最後に,もし

p

が与えられ二つ以上のグループがあれば,帰無仮説は根底にある成功確 率が

p

で与えられたものになるということである.対立仮説は常に

"two.sided"

であ り,返される信頼区間は

NULL

であり,連続補正は決して使われない.

関連:二項分布仮説に対する正確検定

binom.test()

> heads <- rbinom(1, size=100, pr = .5)

> prop.test(heads, 100) # 既定で連続補正される

1-sample proportions test with continuity correction data: heads out of 100, null probability 0.5

X-squared = 0.01, df = 1, p-value = 0.9203 alternative hypothesis: true p is not equal to 0.5 95 percent confidence interval: 0.4086512 0.6105719 sample estimates: p 0.51

> prop.test(heads, 100, correct = FALSE)

1-sample proportions test without continuity correction data: heads out of 100, null probability 0.5

X-squared = 0.04, df = 1, p-value = 0.8415 alternative hypothesis: true p is not equal to 0.5 95 percent confidence interval: 0.4134801 0.6057800 sample estimates: p 0.51

# 帰無仮説「患者が属する4つの母集団が同じ喫煙者比率を持つ」.1%有意

> smokers <- c( 83, 90, 129, 70 )

> patients <- c( 86, 93, 136, 82 )

> prop.test(smokers, patients)

4-sample test for equality of proportions without continuity correction

data: smokers out of patients

X-squared = 12.6004, df = 3, p-value = 0.005585 alternative hypothesis: two.sided

sample estimates: prop 1 prop 2 prop 3 prop 4 0.9651163 0.9677419 0.9485294 0.8536585

ドキュメント内 ためになった他の人のサイト script of (ページ 69-74)