No.16717 前回のロジスティック重回帰分析と単回帰分析の現象と証明  【ヤギ】 2012/04/04(Wed) 13:24

青木先生,先日はご教示,ご指導頂き誠にありがとうございました。

早速似たような状況を,別なデータで検証してみました。
や はり同様な結果になりました。3個の説明変数で26個の目的変数に対してSPSSで計算され表示された小数点第3位までのオッズ比,その有意確率,95% 信頼区間の数値はすべて一致しました。また表示されていない部分の小数点第4位以下はやはり,小数点第6位から以下で多少ずれてきているようです。同様の 結果を出す計算の過程でその順序が多少違って,コンピュータ計算の近似誤差が出たのかなと思います。少なくとも偶然の一致ではなさそうなので,今回の現象 をまとめてみました。
次のような命題になるかと思います。

交わりをもつ集団M群とN群の2つの群を含むある全体集団Uにおいて
MからNを引いた差集合をX1,
NからMを引いた差集合をX2
MとNの積集合をX3,
M群とN群のどちらにも属しない集合,すなわちMとNの和集合の補集合をX4
とした場合,
説明変数x1を
X1群に属しているか否か:{X1群に属している場合に1,それ以外の群(X2+X3+X4)に属している場合0を与える},
説明変数x2を
X2群に属しているか否か:{X2群に属している場合に1,それ以外の群(X1+X3+X4)に属している場合0を与える},
説明変数x3を
X3群に属しているか否か:{X3群に属している場合に1,それ以外の群(X1+X2+X4)に属している場合0を与える}
として,
やはり(1,0)の2値データをもつ目的変数Y(例えばアンケート項目の回答など)
に対して2項ロジスティック重回帰分析を行って得られた,各説明変数(x1,x2,x3)の調整オッズ比,Exp(Bx1),Exp(Bx2),Exp(Bx3)は,

説明変数s1を
解析対象をX1+X4の集団に限定したときX1に属しているか否か:{X1に属している場合に1,X4に属している場合に0を与える},
説明変数t2を
解析対象をX2+X4の集団に限定したときX2に属しているか否か:{X2に属している場合に1,X4に属している場合に0を与える},
説明変数u3を
解析対象をX3+X4の集団に限定したときX3に属しているか否か:{X3に属している場合に1,X4に属している場合に0与える}
として,前述の目的変数Yに対しておのおのロジスティック単回帰分析で得られたオッズ比,Exp(Bs1),Exp(Bt2),Exp(Bu3)にそれぞれ一致する。

ということになるかと思います。

この命題の証明ですが,重回帰分析の幾何学的モデルを利用して行ってみました(何分素人ですのでおかしい点が一杯あるかと思います。申し訳ありません)。

ロジスティック重回帰式
η=ln(π/1-π)=β0+β1x1+…+βjxj+…+βpxp+ε  (j=1,…,p
η: xjが0あるいは1をとる出現率πのロジット  
β0:定数  βj:偏回帰係数  ε:誤差
から得られる調整オッズ比Exp(βj)は,偏回帰係数βjの指数変換である。
偏回帰係数Bx1,Bx2,Bx3は
説明変数x1と説明変数x2,説明変数x3のお互いの影響を取り除いたものになる。

一方,説明変数x1と説明変数x2,説明変数x3のベクトルはそれぞれ3つの1次独立なベクトルの合成変数からなっている。
すなわち前述の説明変数s1の他に
説明変数t1を
解析対象をX1+X2の集団に限定したときX1に属しているか否か:{X1に属している場合に1,X2に属している場合に0を与える},
説明変数u1を
解析対象をX1+X3の集団に限定したときX1に属しているか否か:{X1に属している場合に1,X3に属している場合に0を与える}
したとき,
x1ベクトル=説明変数t1ベクトル+説明変数u1ベクトル+説明変数s1ベクトル

同様に説明変数x2ベクトルは次ぎに3つの1次独立なベクトルからなっている。
すなわち前述の説明変数t2の他に
説明変数s2を
解析対象をX2+X1の集団に限定したときX2に属しているか否か:{X2に属している場合に1,X1に属している場合に0を与える},
説明変数u2を
解析対象をX2+X3の集団に限定したときX2に属しているか否か:{X2に属している場合に1,X3に属している場合に0を与える}
としたとき
x2ベクトル=説明変数s2ベクトル+説明変数u2ベクトル+説明変数t2ベクトル

同様に説明変数x3ベクトルは次の3つの1次独立なベクトルからなっている。
すなわち前述の説明変数 u3の他に
説明変数s3を
解析対象をX3+X1の集団に限定したときX3に属しているか否か:{X3に属している場合に1,X1に属している場合に0を与える},
説明変数t3を
解析対象をX3+X2の集団に限定したときX3に属しているか否か:{X3に属している場合に1,X2に属している場合に0を与える}
としたとき
x3ベクトル=説明変数s3ベクトル+説明変数t3ベクトル+説明変数u3ベクトル

このとき,説明変数t1ベクトルと説明変数s2ベクトルは解析集団が伴にX1+X2であり同一で,大きさが同じで,(1,0)の二値を与える方向が逆である。
同様に説明変数u1ベクトルと説明変数s3は大きさが同じで方向が逆であり,
説明変数u2ベクトルと説明変数t3ベクトルも大きさが同じで方向が逆である。

従って,説明変数x1ベクトルと説明変数x2ベクトル,説明変数x3ベクトルにおける互いに影響しあう成分は
説明変数t1ベクトル,説明変数s2ベクトル,説明変数u1ベクトル,説明変数s3は
説明変数u2ベクトル,説明変数t3ベクトル
である。
これらを説明変数x1ベクトル,説明変数x2ベクトル,説明変数x3ベクトルからそれぞれ取り除くと,残るのは
説明変数x1ベクトルについては説明変数s1ベクトルのみ
説明変数x2ベクトルについては説明変数t2ベクトルのみ
説明変数x3ベクトルについては説明変数u3ベクトルのみとなる。
従って,x1の偏回帰係数Bx1=s1の回帰係数Bs1,
x2の偏回帰係数Bx2=t2の回帰係数Bt2,
x3の偏回帰係数Bx3=u3の回帰係数Bu3となる。
以上より,Exp(Bx1),Exp(Bx2),Exp(Bx3)は,それぞれ,
Exp(Bs1),Exp(Bt2),Exp(Bu3)に一致する。

以上ですが,これでよろしいのでしょうか。ご教授頂ければ幸いです。

No.16718 Re: 前回のロジスティック重回帰分析と単回帰分析の現象と証明  【青木繁伸】 2012/04/04(Wed) 21:44

> 表示された小数点第3位までのオッズ比,その有意確率,95%信頼区間の数値はすべて一致しました。また表示されていない部分の小数点第4位以下はやは り,小数点第6位から以下で多少ずれてきているようです。同様の結果を出す計算の過程でその順序が多少違って,コンピュータ計算の近似誤差が出たのかなと 思います。

理論的に正しいかどうかというのは,「計算の過程でその順序が多少違って,コンピュータ計算の近似誤差が出たのかなと思います」というのとは違うと思います。
「コンピュータだから近似誤差が出る」ということはないでしょう。
それほど大きい違いは,「コンピュータによる計算誤差」ではないと思います。

説明されたデータ構造と計算結果については,明快ではないので,追試の食指が動きません。

No.16720 Re: 前回のロジスティック重回帰分析と単回帰分析の現象と証明  【ヤギ】 2012/04/04(Wed) 23:24

ご回答ありがとうございました。
なるほど,近似誤差ではないかもしれません。
もう少し検討してみます。

しかし,O×式アンケート26項目をそれぞれ共通の目的変数として,
3個の説明変数の多重回帰分析の結果得られた78個のオッズ比が,
別の3個の説明変数をもって,それぞれ個別の単回帰分析をした結果得られた78個のオッズ比(さらにその有意確率と信頼限界を含むのでその4倍の312個の数字)と,
少なくとも表示された数値上はすべて一致したというのは,驚きでした。

そ もそも,最初の目的はA疾患とB疾患の単独罹患群,その合併群の比較を,あるアンケート結果についてのオッズ比で,行ってみようとしたことでした。上記の どれにも含まれずその群の回りに存在する健常群も含めた集団全体で,まとめて比較しようとして,先ずロジスティック多重回帰分析を行ってみた訳です。説明 変数は当該疾患であるかないかでした。目的変数はアンケートの項目1つずつの○×の結果となります。

しかし,比較の方法としては,健常群をコントロールとして,健常群とA疾患単独罹患群,健常群とB疾患単独罹患群,健常群と合併群をそれぞれ比べる方法も考えられました。
後 者の方法は,解析する健常群+当該疾患群の集団の固体数がそれぞれ異なり,それぞれ解析対象集団での単回帰で,健常群とのオッズ比を算出せざるを得ませ ん。当然,当該疾患以外の疾患群のアンケート結果はそれぞれの単回帰分析中には関係しません。それでも同一のコントロール(健常群)に対するオッズの比が でるので,比較はできるのかなと考えたのです。
ある意味では,後者の方法の方が発想は簡単で,わざわざ多重解析で行わなくとも良いのかもしれませんが,アンケートの項目ひとつにつき,3回単回帰をしなくてはならので手間がかかります。
こ のように,当該疾患群とそのアンケート結果は同じでも,それと比べる当該疾患以外の部分が違い,さらに多重回帰と単回帰の違いもある別の行程で得られた オッズ比がほとんど等しい数字になったのは,とても興味があることでした。それともこれは私が無知なだけで,実は当たり前のことかもしれないと思い,ご質 問させて頂いた訳です。

当初の目的とは,少しずれてしまいましたが,もう少し納得行くまで調べてみたいと存じます。

No.16724 Re: 前回のロジスティック重回帰分析と単回帰分析の現象と証明  【青木繁伸】 2012/04/05(Thu) 15:44

話が複雑そうだったので,敬遠しておりましたが,以下のようなことでしょうか?

1. データは,添付図のように,X1〜X4 の4群で,目的変数は二値変数。つまり,X1 群の 20 例では 15%,X2 群の 20 例中では 50%,X3 群の 20 例中では 65%,X4 群の 20 例中では 90% が陽性(ある質問に「はい」と答えるなど)。
2. 4群をダミー変数3個で表して説明変数として,目的変数をロジスティック回帰する。
3. 2.で基準とした群とその他の1群の計2群を取り出して,群を表すダミー変数1個を説明変数として,目的変数をロジスティック回帰する。3通りの分析がある。
4. 2.の結果と3.の結果は同じになる。

そういうことでしたら,その通り。以下に説明しましょう。

まず,SPSS のロジスティック回帰と R のロジスティック回帰で,カテゴリー変数のどのカテゴリーを基準とするかが違のですが(SPSS は最後のカテゴリー,R は最初のカテゴリー),それは本質な問題でないので,R で説明します。

最初に,X1 と X2 群を取り上げてロジスティック回帰することを考えます。
ロジスティックモデルは Y^=11+exp(b1b2 x2) となり,未知パラメータは 2 個です。予測される Y^ は 0.15 と 0.35 の 2 つなので,b1,b2 は,以下の方程式を解けばよいことになります。
0.15=11+exp(b1b2×0)0.35=11+exp(b1b2×1)

最終的には,
log(10.151)=b1log(10.351)=b1b2

を解くということで,
{b1=log(1/0.151)=1.734601b2=b1log(1/0.351)=1.115562

です。R で解くと,
> d12 <- d[d[,2] == "X1" | d[,2] == "X2",]
> ans.12 <- glm(Y~G, d12, family=binomial)
> summary(ans.12)
:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.7346 0.6262 -2.770 0.00561 **
GX2 1.1156 0.7823 1.426 0.15385
となります。X1 と X3,X1 と X4 についても同じようになります。

最後に,X1 〜 X4 全部を使って回帰分析することを考えます。目的変数の取る値は,0.15,0.35,0.65,0.90 の4つです。回帰式はY^=11+exp(b1b2 x2b3 x3b4 x4) となり,未知パラメータは 4 個です。解くべき連立方程式は最終的には以下のようになります。
log(10.151)=b1log(10.351)=b1b2log(10.651)=b1b3log(10.901)=b1b4

これを見れば分かりますが,b1b2 は,前に X1 と X2 を使って解いた答えと同じになります。b3b4 についても同じことが言えます。

な ぜこんなことになるかといえば,どの群に属するかという情報だけを使ってロジスティック回帰をするということは,ある群の予測値としては,その群の標本比 率が一番よい(最尤推定)であるということです。しかし同時にそれは,最もシンプルで馬鹿馬鹿しい(?)結果に過ぎないということです。

単純に重回帰分析を使って予測する場合も同じようになります。


No.16728 Re: 前回のロジスティック重回帰分析と単回帰分析の現象と証明  【ヤギ】 2012/04/05(Thu) 23:56

青木先生,本当にありがとうございました。
目から鱗が落ちました。

小生は,X1〜X4群全部で回帰分析したとき,SPSSでどのように計算しているのかがさっぱり分かっていなかったのでした。

最初の段階で,1と0の数値を与えたダミー変数で群への所属を表した3つの説明変数において,1が与えられた3群だけでなく,常に(共通に)0の値が与えられた4つめの群でも,自動的にその群における標本比率(目的変数が1をとる出現率)が算出されているわけですね。
そして,これが回帰式の定数項の算出に効いてくること。

もちろん,それぞれのダミー変数で1が与えられた群での出現率も当然計算され,それらの出現率をもとに,連立方程式から回帰式の定数項と回帰係数が計算されるということ。

今回2つの群の単回帰での比較で,基準とした健常群は,上記のダミー変数が常に0の値をとる群であったということ。

また,今回はわざわざロジスティック分析まで使ってオッズ比で見なくても,単純に標本比率で比較するだけでも良かったということですね。

本当に勉強になりました。また,ここまで丁寧にご指導頂き感激致しました。ありがとうございました。

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