ロジスティック回帰とt検定の力はどのように比較されますか?


18

ロジスティック回帰とt検定の力は同等ですか?その場合、それらは「データ密度が同等」である必要があります。つまり、固定されたアルファが.05の場合、同じ数の基礎となる観測値が同じパワーを生成します。次の2つのケースを検討してください。

  1. [パラメトリックt検定]:二項観測から30の引き分けが行われ、結果の値が平均化されます。これは、グループA(発生の二項分布Prが.70である)に対して30回、グループB(発生の二項分布Prが.75である)で30回行われます。これにより、グループごとに30の平均が得られ、2項分布からの1,800の描画の要約を表します。58df t検定を実行して、平均を比較します。
  2. [ロジスティック回帰]:ロジスティック回帰は、グループメンバーシップと1,800の各ドローを表すダミーのコード化された勾配で実行されます。

私の質問には2つの部分があります。

  1. アルファ値が.05の場合、これらの方法論の力は同じですか、それとも異なりますか?どうして?どうすればそれを証明できますか?
  2. 質問1の答えは、t検定に入るサンプルサイズ、t検定の各グループのサンプルサイズ、基礎となる二項確率、またはその他の要因に敏感ですか?もしそうなら、どのようにパワーが実際に異なり、どのような変化がパワーのどのような変化を引き起こすかを(シミュレーションなしで)知ることができますか?または、シミュレーションを使用して問題を解決するRコードを作成します。

回答:


19

正しく計算した場合、ロジスティック回帰は漸近的にt検定と同じ力を持ちます。これを確認するには、対数尤度を書き留めて、そのヘッセ行列のグローバルな最大値での期待値を計算します(その負の推定値はMLソリューションの分散共分散行列です)。通常のロジスティックパラメーター化を気にしないでください。問題の2つの確率でパラメーター化する方が簡単です。詳細は、ロジスティック回帰係数の有意性をテストする方法によって異なります(いくつかの方法があります)。

ML推定のカイ2乗理論は対数尤度の正規近似に基づいており、t検定は比率の分布の正規近似に基づいているため、これらの検定が同様の検出力を持っていることは驚くべきことではありません。問題の核心は、両方の方法が2つの比率の同じ推定値を作成し、両方の推定値が同じ標準誤差を持つことです。


実際の分析はより説得力があるかもしれません。特定のグループ(AまたはB)の値にいくつかの一般的な用語を採用しましょう。

  • はa 1の確率です。p
  • は、各描画セットのサイズです。n
  • は、描画セットの数です。m
  • はデータの量です。N=mn
  • 0または 1に等しい)は、 i 番目の描画セットの j 番目の結果の値です。kj01j番目番目
  • は、 i 番目の描画セットの 1の総数 です。k番目
  • は1の総数です。k

ロジスティック回帰は、本質的にのML推定量です。その対数はp

ログL=kログp+Nkログ1p

パラメーターに関するその導関数は次のとおりです。p

ログLp=kpNk1p そして

2ログLp2=kp2+Nk1p2

ゼロ収率ML推定値に最初に設定P = K / N及び第二の発現の逆数に分散生じること目封止P1 - P/ N標準誤差の二乗です。p^=k/Np^1p^/N

t統計は、描画のセットによってグループ化されたデータに基づいて推定から得られるであろう。つまり、平均の差(一方はグループAから、もう一方はグループBから)を、平均の標準偏差から得られるその差の標準誤差で割ったものです。それでは、特定のグループの平均と標準偏差を見てみましょう。平均等しい ML推定器と同一である、P。問題の標準偏差は、描画手段の標準偏差です。つまり、k i / nのセットの標準偏差です。ここに問題の核心がありますので、いくつかの可能性を探りましょう。k/Np^k/n

  1. データが描画にまったくグループ化されていないと仮定します。つまり、およびm = Nです。kは私はドロー手段です。それらのサンプル分散は等しいN /N - 1 、P1 - Pを。このことから、標準誤差は√の係数を除いてML標準誤差と同一であることがわかります。n=1m=NkN/N1p^1p^。N=1800の場合、本質的に1です。したがって、この小さな違いは別として、ロジスティック回帰に基づくテストはt検定と同じになり、基本的に同じ能力を達成します。N/(N1)1N=1800

  2. データがグループ化され、(真の)分散に等しいP 1 - Pを/ N統計が原因でkはiが合計表すNベルヌーイ(P分散と各々 、)変数P 1 - P 。したがって、これらの値のmの平均の予想される標準誤差は、p 1 p / n / m =の平方根です。ki/np(1p)/nkinpp(1p)m前と同じように p 1 p / N。p(1p)/n/m=p(1p)/N

数値2は、おそらくサンプルの調整によるかなり小さな影響は別として、テストの力が、ドローの配分方法(つまり、nm n = Nに従って変化する方法によってそれほど変化しないことを示します。変動(各グループ内で非常に少数のドローセットを使用するほど愚かでない限り)。mnmn=N

m = 900 n = 1(本質的にロジスティック回帰)を含むからp = 0.74(それぞれ10,000回の反復) を比較するための限定されたシミュレーションm = n = 30 ; そして、m = 2 n = 450(サンプル分散調整の最大化)は、これを裏付けています。パワー(α = 0.05で)p=0.70p=0.74m=900,n=1m=n=30m=2,n=450α=0.05、片側)は最初の2つのケースで0.59であるのに対し、3番目のケースでは調整係数が重要な変更を行う(1798または58の代わりに2つの自由度のみが存在する)場合、0.36に低下します。p = 0.52を比較する別のテストでは、それぞれ0.22、0.21、および0.15のべき乗が得られます。繰り返しますが、グループ化なしから引き分け(=ロジスティック回帰)から30グループへのグループ化と実質的なドロップダウンまでわずかな低下のみが観察されますちょうど2つのグループに。p=0.50p=0.52

この分析のモラルは次のとおりです。

  1. データ値を多数のm個の比較的小さな「描画」グループに分割しても、多くを失うことはありません。Nm
  2. 少数のグループを使用すると、かなりの電力を失う可能性があります(は小さく、n-グループごとのデータ量-は大きい)。mn
  3. データ値を「描画」にグループ化しないことをお勧めします。そのまま分析するだけです(ロジスティック回帰やt検定などの妥当なテストを使用して)。N

1
@suncoolsu更新に投票できないのは残念です...
chl

2
@chl ..私は同意します、私は(+2)を与えたいと思います:-)、実際、私はこの更新までこの質問についてそれほど深く考えたことがありませんでした。
suncoolsu

いつものようにビル・フーバーからの力強いツアー。IIは、t検定の検出力をロジスティック回帰と比較する方法に関して困惑した質問を見ていきます。しかし、共通性が割合..テストのタスクに両方の方法を入れているようだ
マイケルR. Chernick

8

whuberのanswerのシミュレーションを示すRのコードを次に示します。Rコードの改善に関するフィードバックは大歓迎です。

N <- 900            # Total number data points
m <- 30;            # Size of draw per set
n <- 30;            # No of sets

p_null <- 0.70;     # Null hypothesis
p_alternate <- 0.74 # Alternate hypothesis
tot_iter <- 10000;

set.seed(1);        # Initialize random seed
null_rejected <- 0; # Set counter to 0
for (iter in 1:tot_iter)
{
    draws1 <- matrix(0,m,n);
    draws2 <- matrix(0,m,n);
    means1 <- matrix(0,m);
    means2 <- matrix(0,m);

    for (obs in 1:m)
    {
        draws1[obs,] <- rbinom(n,1,p_null);
        draws2[obs,] <- rbinom(n,1,p_alternate);

        means1[obs,] <- mean(draws1[obs,]);
        means2[obs,] <- mean(draws2[obs,]);
    }
    if (t.test(means1,means2,alternative="l")$p.value <= 0.05)
    {
        null_rejected <- null_rejected + 1; 
    }
}
power <- null_rejected / tot_iter

1
これを共有していただきありがとうございます!(。Iすべてのパラメータ変数を作成し、明確にそれらをコメントのあなたのスタイルのように)私は、今日の投票のすべてのアウトだ:-(私はそれをupvoteするのを待つ必要がありますので。
whuber

2
replicate()rbinom() k{*}apply()

@chlありがとう。これらの質問を使用してRを学習しています。したがって、あなたのようなフィードバックは貴重です。

@Skrikant LOL私はちょうど追加しました:「ところで、私はあなたがRを学ぶ方法が好きです!」
chl

よくわかりません; これはt.testの力を与えるだけではありませんか?
ラッセルピアス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.