No.06878 多重ロジスティック解析  【ビギナー】 2008/06/25(Wed) 08:27

初めて質問させていただきます.
実は多重ロジスティック解析を行っていますが,カイ2乗分析で,2x2表で,0になる部分があるため,ある説明変数のp値が計算できません.このような場合にはどのように対応すればよいのかわからず困っています.

大変申し訳ありませんが,ご教授いただければ幸いです.

No.06879 Re: 多重ロジスティック解析  【青木繁伸】 2008/06/25(Wed) 08:34

> カイ2乗分析で,2x2表で,0になる部分があるため,ある説明変数のp値が計算できません

多重ロジスティック分析しているのにカイ二乗検定(?)をしているのですか?計算しようとしているのはカイ二乗検定のP値ですか?どういう風に0になるのですか?

> どのように対応すればよいのか

データをもっと集めるか,その変数を含めないようにするか,どちらかでよいでしょう

No.06889 Re: 多重ロジスティック解析  【ビギナー】 2008/06/25(Wed) 20:29

有り難うございます.

説明が下手で申し訳ありません.

具体的にはある治療を行っ た場合に,Aという合併症が何%かで起こります.このAに対するrisk factorを検討しています.このために複数のrisk factorが疑われています(BからDとします.)いずれも単変量解析ではAとのp値が0.25以下です.このうち,Bはかなり関連があると思われ,B がある患者さんはかならず合併症Aを起こしています.
(つまりBがある患者さんAがない人はいないため,2x2表の検討では一つが0になります.)

今回BからDを多重ロジスティック解析を行ったのですが,Bに関してP値やオッズ比が計算できません.
この原因が上記だと思うのですが,統計に詳しくなく,ちょっと調べてもよくわからないので質問させていただきました.
しかもBに関して,risk factorであるといいたいので,やはり多重ロジスティック解析にいれたいのですが.

大変申し訳ありませんが,どのようにすればいいのかご意見をいただければ幸いです.

一つの解決策はお返事でいただいた,症例を増やしていけばいいのですが,現時点では無理でしょうか?

No.06891 Re: 多重ロジスティック解析  【青木繁伸】 2008/06/25(Wed) 21:26

それが原因じゃないのでは?以下のようなデータでも分析できますよね。
> d
A B C
1 1 1 1
2 1 1 0
3 1 1 1
4 1 1 0
5 1 1 1
6 1 1 0
7 1 0 1
8 1 0 0
9 1 0 1
10 1 0 0
11 0 0 1
12 0 0 0
13 0 0 1
14 0 0 0
15 0 0 1
16 0 0 0
17 0 0 1
18 0 0 1
19 0 0 1
20 0 0 1
> for (i in 1:3) d[,i] <- factor(d[,i])
> xtabs(~B+A, data=d)
A
B 0 1
0 10 4 # B=1 の6人は全員A=1
1 0 6 # B=0 でも A=1 はあるのでしょ?
> xtabs(~C+A, data=d)
A
C 0 1
0 3 5
1 7 5
> ans <- glm(A ~ B+C, data=d, family=binomial(link=logit))
> summary(ans)

Call:
glm(formula = A ~ B + C, family = binomial(link = logit), data = d)

Deviance Residuals:
Min 1Q Median 3Q Max
-1.011e+00 -7.090e-01 -3.545e-01 9.602e-05 1.734e+00

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.4055 0.9129 -0.444 0.657
B1 20.4478 4315.0305 0.005 0.996
C1 -0.8473 1.2150 -0.697 0.486

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 27.726 on 19 degrees of freedom
Residual deviance: 16.265 on 17 degrees of freedom
AIC: 22.265

Number of Fisher Scoring iterations: 18

No.06893 Re: 多重ロジスティック解析  【ビギナー】 2008/06/26(Thu) 12:55

有り難うございます.たびたび申し訳ありません.
こちらの結果を添付させてください.(詳細なデータはのせられませんが,結果についてコメントをいただければ幸いです.)
よくわからなくて,統計の本を読んでいると対数オッズなどがでてきますので,この場合にやはり確率が0の説明変数があると計算できないかなと思ったのですが.
使用しているソフトがいけないのかもしれません.(市販のもので自動でエクセルで計算してれます)

やはり問題の説明変数Bが計算できません.必ず合併症Aが起きているからなのかとおもっていたのですが.
多重ロジスティック回帰分析			

結果
件数
有効データ 152
目的変数のみ不明 0
説明変数不明 0

基本統計量 平均値 分散 標準偏差
合併症A 0.664 0.223 0.472
説明変数B 0.066 0.061 0.248
説明変数C 0.388 0.237 0.487
説明変数D 2.467 1.236 1.112
説明変数E 0.711 0.206 0.454
説明変数F 57.862 220.014 14.833

対数尤度 -0.539 95%信頼限界

回帰式 偏回帰係数 標準誤差 下限 上限 標準偏回帰係数
説明変数B 21.479 19963.484 -39106.231 39149.188 5.342
説明変数C -1.552 0.381 -2.299 -0.804 -0.759
説明変数D 0.295 0.175 -0.048 0.638 0.329
説明変数E 0.237 0.405 -0.557 1.030 0.108
説明変数F 0.000 0.013 -0.025 0.025 -0.001
定数項 0.393 0.931 -1.431 2.217

χ2乗検定 Wald統計量 P 値 判 定
説明変数B 0.000 0.999
説明変数C 16.557 0.000 **
説明変数D 2.839 0.092
説明変数E 0.342 0.559
説明変数F 0.000 0.995
定数項 0.179 0.673

オッズ比の推定 95%信頼限界
オッズ比 下限 上限
説明変数B >999.999 <0.001 >999.999
説明変数C 0.212 0.100 0.447
説明変数D 1.343 0.953 1.893
説明変数E 1.267 0.573 2.801
説明変数F 1.000 0.975 1.025

シミュレーション 増加量 オッズ比 理論値
説明変数B 1 #VALUE! ロジット 20.852
説明変数C 1 0.212 確率 1.000
説明変数D 1 1.343
説明変数E 1 1.267
説明変数F 1 1.000
※ オッズ比を正確に求めることができないため,
 オッズ比のシミュレーションを一部行うことができません。

No.06908 Re: 多重ロジスティック解析  【後医は名医】 2008/06/27(Fri) 00:56

>Bに関してP値やオッズ比が計算できません.
上の計算が正しければ,P値については
>χ2乗検定 Wald統計量 P 値 判 定
説明変数B 0.000 0.999
からP=0.999と読み取れます。また,オッズ比もEXP(偏回帰係数)=EXP(21.479)で計算できます。
>Bに関して,risk factorであるといいたいので,
以上からBはrisk factorではないと思われますが。実際に説明変数Cの様に判定に**がありませんし。

No.06911 Re: 多重ロジスティック解析  【TY】 2008/06/27(Fri) 09:47

(quasi-)complete separationになっていると思います。
SASで青木先生のデータ (ただし,A2=1-Aを目的変数にして) を解析すると
                    Model Convergence Status

Quasi-complete separation of data points detected.

WARNING: The maximum likelihood estimate may not exist.
WARNING: The LOGISTIC procedure continues in spite of the above warning. Results shown are based on the last maximum likelihood iteration. Validity of the model fit is questionable.
と警告を表示してから結果を示します。InterceptとCの推定値はRでの結果と同じになってます。
             Analysis of Maximum Likelihood Estimates

Standard Wald
Parameter DF Estimate Error Chi-Square Pr > ChiSq

Intercept 1 -0.4055 0.9129 0.1973 0.6569
B 1 13.0935 180.0 0.0053 0.9420
C 1 -0.8473 1.2150 0.4863 0.4856
Bのオッズ比も計算できません。
           Odds Ratio Estimates

Point 95% Wald
Effect Estimate Confidence Limits

B >999.999 <0.001 >999.999
C 0.429 0.040 4.637

追 記: SASのLogisticプロシジャではA=0とA=1の二水準のとき,デフォルトでは小さい方の値 (この場合,A=0) となる確率をモデルにします。そのままではパラメータ推定値の符号がRの結果と逆になってしまうので,A=1となる確率をモデルにするために変数A2を 作っています。

No.06912 Re: 多重ロジスティック解析  【ビギナー】 2008/06/27(Fri) 10:26

TY様 有難うございます。
たぶんこれと同じ現象がおきていると思います。(quasi-)complete separation?
調べてみます。

No.06913 Re: 多重ロジスティック解析  【青木繁伸】 2008/06/27(Fri) 11:47

基本的には A を従属変数にしようと,1-A を従属変数にしようと同じ

> Bのオッズ比も計算できません。

は, 後医は名医さんの言うとおり,計算はできます。しかし,そもそも B の回帰係数の精度が悪すぎる(Standard Error を見ればわかる)こともあり,また exp(Coeff)が大きくなりすぎるので 「> 999.999」 と表示しているだけ(なんたる表示の仕方。Confidence Limits の表示も同じ手口)。

結局の所,データが少なすぎるんでしょう。
あるいは,B は見込みのない変数でしょう。使う価値,無し。
もし,先行研究との関わりでこの変数を使わざるを得ないなら,データを増やすしかない。

No.06919 Re: 多重ロジスティック解析  【ビギナー】 2008/06/27(Fri) 20:08

青木先生,皆様ありがとうございました。

色々勉強に成りました。以前の同様の研究や感覚的にはBは明らかに有意な説明変数だと思います。
ただし,152症例のうち,10例しかありませんので,やはりデータが少なすぎるのだと思います。現在さらに症例が増えていますので,再度データを集めて計算してみます。

今後とも参考にさせてください。ありがとうございました。

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