로지스틱 회귀와 t- 검정의 힘은 어떻게 비교됩니까?


18

로지스틱 회귀와 t- 검정의 검정력은 동일합니까? 그렇다면, 그들은 "데이터 밀도 동등성"이어야합니다. 즉, 동일한 수의 기본 관측치가 고정 된 알파 0.05가 주어지면 동일한 검정력을 얻습니다. 두 가지 경우를 고려하십시오.

  1. [parametric t-test] : 이항 관측에서 30 개의 드로우가 만들어지고 결과 값이 평균화됩니다. 이것은 그룹 A (이항 Pr이 .70의 발생)에 대해 30 번 수행되고 그룹 B에 대해 (이항 Pr이 .75의 발생)에 대해 30 번 수행됩니다. 이항 분포에서 1,800 개의 추첨을 요약 한 그룹당 30 개의 평균을 산출합니다. 평균을 비교하기 위해 58df t- 검정을 수행합니다.
  2. [로지스틱 회귀] : 로지스틱 회귀는 그룹 멤버쉽과 1,800 개의 각 추첨을 나타내는 더미 코딩 된 경사로 수행됩니다.

내 질문에는 두 부분이 있습니다.

  1. 알파가 0.05로 설정되면 이러한 방법론의 힘이 동일하거나 다릅니 까? 왜? 그것을 어떻게 증명할 수 있습니까?
  2. 질문 1에 대한 답은 t- 검정으로 들어가는 표본 크기, t- 검정에서 각 그룹의 표본 크기, 기본 이항 확률 또는 다른 요인에 민감합니까? 그렇다면 전력이 실제로 다르다는 것을 어떻게 알 수 있습니까? 또는 시뮬레이션을 사용하여 문제를 해결하는 해결 된 R 코드를 제공하십시오.

답변:


19

올바르게 계산하면 로지스틱 회귀는 무증상 적으로 t- 검정과 동일한 검정력을 갖습니다. 이를 확인하려면 로그 우도를 기록하고 전체 최대치에서 Hessian의 기대치를 계산하십시오 (음수는 ML 솔루션의 분산-공분산 매트릭스를 추정합니다). 일반적인 로지스틱 매개 변수화에 신경 쓰지 마십시오. 문제의 두 가지 확률로 매개 변수화하는 것이 더 간단합니다. 세부 사항은 로지스틱 회귀 계수의 유의성을 테스트하는 방법에 따라 다릅니다 (몇 가지 방법이 있음).

ML 추정치에 대한 카이-제곱 이론은 로그 우도에 대한 정규 근사값을 기반으로하고 t- 검정은 비율 분포에 대한 정규 근사값을 기반으로하기 때문에 이러한 검정의 유사한 검정력을 갖는 것은 그리 놀라운 일이 아닙니다. 문제의 요점은 두 방법 모두 두 비율의 동일한 추정치이며 두 추정치의 표준 오차는 동일하다는 것입니다.


실제 분석이 더 설득력이있을 수 있습니다. 주어진 그룹 (A 또는 B)의 값에 대한 일반적인 용어를 채택합시다.

  • p 는 1의 확률입니다.
  • n 은 각 추첨 세트의 크기입니다.
  • m 은 추첨 세트 수입니다.
  • N=mn 은 데이터의 양입니다.
  • 0 1 j th i thkij ( 또는 과 동일 )는 결과 값으로 추첨 세트입니다.01jthith
  • I 번째ki 는 추첨 세트의 총 개수입니다 .ith
  • k 는 총 1입니다.

로지스틱 회귀 는 본질적으로 의 ML 추정량입니다 . 로그는p

log⁡(L)=klog⁡(p)+(N−k)log⁡(1−p).

매개 변수 대한 파생어 는p

∂log⁡(L)∂p=kp−N−k1−p and

−∂2log⁡(L)∂p2=kp2+N−k(1−p)2.

첫 번째를 0으로 설정하면 ML 추정치 산출되고 두 번째 표현식의 역수에 연결하면 분산 , 이는 표준 오차의 제곱입니다. P (1 - P )/Np^=k/Np^(1−p^)/N

t 통계치는 무 세트에 의하여 그룹핑 된 상기 데이터에 기초 추정기로부터 얻어진다; 즉, 평균의 차이 (하나는 그룹 A에서, 다른 하나는 그룹 B에서)를 그 차이의 표준 오차로 나눈 값으로, 이는 평균의 표준 편차로부터 얻어진다. 주어진 그룹에 대한 평균 및 표준 편차를 살펴 보겠습니다. 평균은 이며 ML 추정기 동일합니다 . 문제의 표준 편차는 인발 수단 의 표준 편차입니다. 즉, 집합의 표준 편차입니다 . 여기에 문제의 요점이 있으므로 몇 가지 가능성을 살펴 보겠습니다.P는 K I / Nk/Np^ki/n

  1. 데이터가 드로우로 그룹화되지 않았다고 가정하십시오 (즉, 및 . 연신 수단이다. 그들의 표본 분산은 동일 번 . 이로부터 표준 오류는 의 요소를 제외하고 ML 표준 오류와 동일하며, 때 본질적으로 입니다. 따라서이 작은 차이를 제외하고 로지스틱 회귀에 기반한 모든 테스트는 t- 테스트와 동일하며 본질적으로 동일한 힘을 달성 할 것입니다.m = N k는 i 개의 N / ( N - 1 ) P ( 1 - P를 ) √n=1m=NkiN/(N−1)p^(1−p^) 1N=1800N/(N−1)1N=1800

  2. 데이터가 그룹화 될 때 의 (true) 분산 은 과 같습니다. 통계 는 각각 분산이 인 Bernoulli ( ) 변수 의 합을 나타 내기 때문 입니다. 따라서 이러한 값 의 평균의 예상 표준 오차는 이전과 마찬가지로 제곱근입니다 .p ( 1 - p ) / n k i n p p ( 1 - p ) m p ( 1 - p ) / n / m = p ( 1 - p ) / Nki/np(1−p)/nkinpp(1−p)mp(1−p)/n/m=p(1−p)/N

숫자 2는 표본 분산의 조정으로 인한 작은 영향을 제외하고 , 검정력이 그림이 어떻게 할당되는지 (즉, 과 이 따라 변하는 방식에 따라) 눈에 변하지 않아야 함을 나타냅니다. (각 그룹 내에서 극소수의 무승부 세트를 사용하는 것이 어리석지 않은 한).n m n = Nmnmn=N

(필수 로지스틱 회귀)을 포함하는 에서 (각각 10,000 회 반복) 을 비교하기위한 제한된 시뮬레이션 ; ; 그리고 (샘플 분산 조정 최대화)이이를 나타냅니다. 처음 두 경우 의 검정력 ( , 단측)은 0.59 인 반면 세 번째 경우에는 조정 계수가 재료의 변화 (1798 또는 58 대신에 단지 2 개의 자유도가 있음)는 0.36으로 떨어집니다. 과 를 비교하는 또 다른 테스트p=0.70p=0.74m=900,n=1m=n=30m=2,n=450α=0.05p=0.50p=0.52 우리는 각각 0.22, 0.21, 0.15의 거듭 제곱을 제공합니다. 다시, 우리는 무승부로 그룹화하지 않는 것 (= 로지스틱 회귀)에서 30 개의 그룹으로 그룹화하는 것에서 두 그룹으로의 실질적인 감소로 약간의 감소 만 관찰합니다.

이 분석 의 도덕 은 다음과 같습니다.

  1. 당신은 잃게 많이 당신이 당신의 분할 때하지 않는 큰 번호로 데이터 값을 "무"의 상대적으로 작은 그룹.Nm
  2. 적은 수의 그룹을 사용하면 상당한 전력을 잃을 수 있습니다 ( 은 작고 은 그룹당 데이터 양이 큽니다).mn
  3. 데이터 값을 "드로우"로 그룹화하지 않는 것이 가장 좋습니다 . 로지스틱 회귀 및 t- 테스트를 포함한 모든 합리적인 테스트를 사용하여 그대로 분석하십시오.N

1
@suncoolsu 업데이트를 투표 할 수 없다는 것은 부끄러운
— chl

2
@chl .. 동의합니다. (+2) :-)를주고 싶습니다. 실제로이 업데이트가 나올 때까지이 질문에 대해 깊이 생각해 본 적이 없습니다.
— suncoolsu

평소와 같이 Bill Huber의 투어가 진행됩니다. 나는 t 테스트에 대한 검정력을 로지스틱 회귀와 비교하는 방법에 대해 의문을 제기했다. 그러나 공통점이 비율 테스트 작업에 두 가지 방법을 모두 적용하고있는 것 같습니다.
— Michael R. Chernick

8

다음은 whuber 's 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
이것을 공유해 주셔서 감사합니다! (. 내가 그들을 주석 명확하게 모든 매개 변수 변수를 만들고 당신의 스타일처럼) 오늘 투표의 모든 아웃이야 :-( 내가 그것을 upvote에 기다려야 할 것이다, 그래서.
— whuber

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

@chl 감사합니다. 나는 R을 배우기 위해이 질문들을 사용하고 있습니다! 따라서 귀하와 같은 의견은 소중합니다.

@Skrikant LOL 난 그냥 추가했다 : "BTW 나는 당신이 R을 배우는 방식을 좋아합니다!"
— chl

혼란 스러워요. 이것이 t.test의 힘만을 제공하지 않습니까?
— russellpierce
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.