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(−b1−b2 x2) となり,未知パラメータは 2 個です。予測されるY^ は 0.15 と 0.35 の 2 つなので,b1,b2 は,以下の方程式を解けばよいことになります。⎧⎩⎨⎪⎪⎪⎪0.15=11+exp(−b1−b2×0)0.35=11+exp(−b1−b2×1)
最終的には,⎧⎩⎨⎪⎪⎪⎪log(10.15−1)=−b1log(10.35−1)=−b1−b2
を解くということで,{b1=−log(1/0.15−1)=−1.734601b2=−b1−log(1/0.35−1)=1.115562
です。R で解くと,> d12 <- d[d[,2] == "X1" | d[,2] == "X2",]となります。X1 と X3,X1 と X4 についても同じようになります。
> 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 〜 X4 全部を使って回帰分析することを考えます。目的変数の取る値は,0.15,0.35,0.65,0.90 の4つです。回帰式はY^=11+exp(−b1−b2 x2−b3 x3−b4 x4) となり,未知パラメータは 4 個です。解くべき連立方程式は最終的には以下のようになります。⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪log(10.15−1)=−b1log(10.35−1)=−b1−b2log(10.65−1)=−b1−b3log(10.90−1)=−b1−b4
これを見れば分かりますが,b1 ,b2 は,前に X1 と X2 を使って解いた答えと同じになります。b3 ,b4 についても同じことが言えます。
な ぜこんなことになるかといえば,どの群に属するかという情報だけを使ってロジスティック回帰をするということは,ある群の予測値としては,その群の標本比 率が一番よい(最尤推定)であるということです。しかし同時にそれは,最もシンプルで馬鹿馬鹿しい(?)結果に過ぎないということです。
単純に重回帰分析を使って予測する場合も同じようになります。
No.16728 Re: 前回のロジスティック重回帰分析と単回帰分析の現象と証明 【ヤギ】 2012/04/05(Thu) 23:56
青木先生,本当にありがとうございました。
目から鱗が落ちました。
小生は,X1〜X4群全部で回帰分析したとき,SPSSでどのように計算しているのかがさっぱり分かっていなかったのでした。
最初の段階で,1と0の数値を与えたダミー変数で群への所属を表した3つの説明変数において,1が与えられた3群だけでなく,常に(共通に)0の値が与えられた4つめの群でも,自動的にその群における標本比率(目的変数が1をとる出現率)が算出されているわけですね。
そして,これが回帰式の定数項の算出に効いてくること。
もちろん,それぞれのダミー変数で1が与えられた群での出現率も当然計算され,それらの出現率をもとに,連立方程式から回帰式の定数項と回帰係数が計算されるということ。
今回2つの群の単回帰での比較で,基準とした健常群は,上記のダミー変数が常に0の値をとる群であったということ。
また,今回はわざわざロジスティック分析まで使ってオッズ比で見なくても,単純に標本比率で比較するだけでも良かったということですね。
本当に勉強になりました。また,ここまで丁寧にご指導頂き感激致しました。ありがとうございました。
● 「統計学関連なんでもあり」の過去ログ--- 045 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る