library(epicalc) [Rのepicalcというパッケージを使用してます]こ のあとに,asjusted odds ratioが続くわけですが,このcrude P valueは,glm(Y ~ x4, binomial)とした時のWald testのp値と一致するようです.しかし,尤度比検定のp値とは一致しません.私の質問は,crude odds ratioとしてプレゼンするときには,このように,単変量でやったときのWald testのp値を言えばよいのでしょうか?また,尤度比検定のp値はcrude p valueとしては使えないのでしょうか?というのは,ある変数が,単変量解析の時にcrude p valueとして,Wald testでは0.069なのに,尤度比検定では0.02と有意になっているからです.このような場合の解釈をご教示いただければ幸いです.
glm.hogehoge <- glm(Y ~ x1+x2+x3+x4+....x10, binomial)
logistic.display(glm.hogehoge, crude.p.value=TRUE)
[logistic.displayはepicalcに入っている関数です]
Logistic regression predicting Y : positive vs negative
crude OR(95%CI) crude P value
x1 1.03 (0.96,1.12) 0.396
x2 0.76 (0.13,4.27) 0.754
x3 1.5 (0.5,4.49) 0.464
x4 6.95 (0.86,56.23) 0.069
No.11552 Re: logistic regressionのcrude odds ratioについて 【青木繁伸】 2009/12/18(Fri) 09:24
> ある変数が,単変量解析の時にcrude p valueとして,Wald testでは0.069なのに,尤度比検定では0.02と有意になっているからです.このような場合の解釈をご教示いただければ幸いです.
単変量の結果は単変量の結果,多変量の結果は多変量の結果であり,両者が一致する必要もないし,一致する必然性もありません。別物なのです。
No.11553 Re: logistic regressionのcrude odds ratioについて 【taipapa】 2009/12/18(Fri) 16:56
青木先生,ご指摘有り難うございます.
私の書き方が良くなかったようです.ポイントを絞って書きますと,
glm(Y ~ x, binomial)としたときのcrude odds ratioのWald testのp値と尤度比検定のp値が異なる場合は,どちらを採用すべきでしょうか? 今回の解析の中で,Wald testで有意でないのに,尤度比検定で有意と表示されたものがあったので,お聞きしています.あくまで,単変量解析内部での話です.尤度比検定の方が良 いと読んだことがあるのですが...
No.11554 Re: logistic regressionのcrude odds ratioについて 【青木繁伸】 2009/12/18(Fri) 18:26
> Wald testで有意でないのに,尤度比検定で有意
尤度比検定ってどういう風にやるんですか?> library(epicalc)
> d <- data.frame(y=factor(sample(0:1, 20, replace=TRUE)), x=factor(sample(0:1, 20, replace=TRUE)))
> ans <- glm(y~x, d, family=binomial)
> summary(ans)
Call:
glm(formula = y ~ x, family = binomial, data = d)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.1010 -1.1010 -0.9005 1.2558 1.4823
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.6931 0.7071 -0.980 0.327
x1 0.5108 0.9309 0.549 0.583
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 26.920 on 19 degrees of freedom
Residual deviance: 26.615 on 18 degrees of freedom
AIC: 30.615
Number of Fisher Scoring iterations: 4
> logistic.display(ans, crude.p.value=TRUE)
Logistic regression predicting y : 1 vs 0
OR(95%CI) P(Wald's test) P(LR-test)
x: 1 vs 0 1.67 (0.27,10.33) 0.583 0.581 ★★ ここの2つのP値の違いのこと?
Log-likelihood = -13.3077
No. of observations = 20
AIC value = 30.6155
> anova(ans, test="Chisq")
Analysis of Deviance Table
Model: binomial, link: logit
Response: y
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev P(>|Chi|)
NULL 19 26.921
x 1 0.30501 18 26.616 0.5808
> dput(d) # 使ったデータフレーム
structure(list(y = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L), .Label = c("0",
"1"), class = "factor"), x = structure(c(2L, 2L, 1L, 1L, 2L,
1L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L), .Label = c("0",
"1"), class = "factor")), .Names = c("y", "x"), row.names = c(NA,
-20L), class = "data.frame")
No.11555 Re: logistic regressionのcrude odds ratioについて 【青木繁伸】 2009/12/18(Fri) 18:39
オッズ比の信頼区間や検定は,何通りかありますし,anova にしろ Wald にしろ,漸近近似ですし。fisher.test で出てくるオッズ比の信頼区間は広いし(P値は大きめに出るし)。
No. 11554 の d だと,以下のようになるわけで。> table(d)
x
y 0 1
0 6 6
1 3 5
> fisher.test(table(d))
Fisher's Exact Test for Count Data
data: table(d)
p-value = 0.6699
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.1969305 15.6493164
sample estimates:
odds ratio
1.624460
No.11556 Re: logistic regressionのcrude odds ratioについて 【taipapa】 2009/12/19(Sat) 00:31
青木先生,何度もありがとうございます.
> logistic.display(ans, crude.p.value=TRUE)
> Logistic regression predicting y : 1 vs 0
> OR(95%CI) P(Wald's test) P(LR-test)
> x: 1 vs 0 1.67 (0.27,10.33) 0.583 0.581 ★★ ここの2つのP値の違いのこと?
その通りです.LR-testはlikelihood ratio testと考え尤度比検定かと.そして,ご指摘のとおり,anova(ans, test="Chisq")の結果と等しいです.
また,No. 11555で仰るように,odds ratioや信頼区間はfisher.testの値とも異なります.
以 前出来合いのソフトでやっているときは,出てきた数字をそのまま何も考えずに使っていたのですが,Rを使うようになってからは,色々な方法が使え,情報も ネットにいっぱいあって良いのですが,このcrude odds ratioのような単純そうなことでも,結局,種々の方法の中のどれが一番適切なのか難しくて,私のような統計の素人にはどれを使用すべきか迷ってしまい ます.
つまりは,No. 11554でいうと,
OR(95%CI) P(Wald's test) P(LR-test)
x: 1 vs 0 1.67 (0.27,10.33) 0.583 0.581
0.583 を使うべきか0.581を使うべきかと言うことです.この場合は,どっちも有意ではないので,どっちでも良いのでしょうが,私のデータでは,Wald testでは0.069なのに,P(LR-test)では0.02と有意になっているので困っております.まぁ,値としてはたいした差ではないかもしれま せんが.はたして,どちらを使うべきなのでしょう?おそらく大部分の論文はWald testの結果を使用していると推測しているのですが.(大部分のソフト(SPSSなど)はデフォルトはWaldをつかっているようです)
医学論文の場合は,まず,単変量解析で粗オッズ比と信頼区間とp値を見せてから,多変量解析で,model reductionをやって最適モデルで同じことをするのが常套と思うのですが,みなさん,単変量解析の時の検定には上記の何を使われているのでしょうか?
No.11557 Re: logistic regressionのcrude odds ratioについて 【taipapa】 2009/12/19(Sat) 00:35
> 医学論文の場合は,まず,単変量解析で粗オッズ比と信頼区間とp値を見せてから,多変量解析で,model reductionをやって最適モデルで同じことをするのが常套と思うのですが,みなさん,単変量解析の時の検定には上記の何を使われているのでしょう か?
多変量解析の時は,調整オッズ比と調整信頼区間とそのp値ですね.訂正しておきます.
No.11558 Re: logistic regressionのcrude odds ratioについて 【知ったかぶり】 2009/12/19(Sat) 14:39
Waldではダメというわけではないけれど,尤度比検定の方が良い,とされているようです.Wald testが広く使われているのは,計算が簡単だからでしょう.
http://www.ats.ucla.edu/stat/mult_pkg/faq/general/nested_tests.htm
http://en.wikipedia.org/wiki/Wald_test
No.11559 Re: logistic regressionのcrude odds ratioについて 【taipapa】 2009/12/19(Sat) 22:13
「知ったかぶり」さん,情報ありがとうございます.やはり,尤度比検定が良いような記述ではありますね.ただ,最 終的には,調整オッズ比が重要でしょうから,とりあえず,epicalcのlogistic.displayが出力するWald testの値を使う方が楽ですね.
● 「統計学関連なんでもあり」の過去ログ--- 043 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る