태그 보관물: generalized-linear-model

generalized-linear-model

모집단 R 제곱 변경에 대한 신뢰 구간을 얻는 방법 Δ의 ρ2Δρ2\Delta \rho^2 ? 모집단

간단한 예제를 위해 두 개의 선형 회귀 모델이 있다고 가정합니다.

  • 모델 1은이 세 가지 예측, x1a, x2b, 및x2c
  • 모형 2에는 모형 1의 예측 변수 3 개와 추가 예측 변수 2 개가 x2a있으며x2b

설명 된 모집단 분산이 모형 1의 경우

ρ(1)2

이고 모형 2의 경우 모집단 회귀 방정식이 있습니다. 모집단의

ρ(2)2

모형 2가 설명하는 증분 분산은

Δρ2=ρ(2)2−ρ(1)2

나는의 추정에 대한 표준 오차와 신뢰 구간을 얻기에 관심

Δρ2

. 이 예에는 각각 3 개와 2 개의 예측 변수가 포함되어 있지만 필자의 연구 관심 분야에는 다양한 수의 예측 변수 (예 : 5와 30)가 있습니다. 내 첫 번째 생각은

Δ아르 자형ㅏ디제이2=아르 자형ㅏ디제이(2)2−아르 자형ㅏ디제이(1)2

를 추정기로 사용하고 부트 스트랩하는 것이었지만 이것이 적절한 지 확실하지 않았습니다.

질문

  • 가요
    Δ아르 자형ㅏ디제이2

    합리적인 추정 Δρ2

    ?
  • 모집단 r- 제곱 변화 (즉,
    Δρ2

    )에 대한 신뢰 구간을 어떻게 얻을 수 있습니까?
  • 부트 스트랩
    Δρ2

    가 신뢰 구간 계산에 적합합니까?

시뮬레이션이나 출판 된 문헌에 대한 언급도 환영합니다.

예제 코드

도움이된다면 R에 작은 시뮬레이션 데이터 세트를 작성하여 답변을 시연하는 데 사용할 수 있습니다.

n <- 100
x <- data.frame(matrix(rnorm(n *5), ncol=5))
names(x) <- c('x1a', 'x1b', 'x1c', 'x2a', 'x2b')
beta <- c(1,2,3,1,2)
model2_rho_square <- .7
error_rho_square <- 1 - model2_rho_square
error_sd <- sqrt(error_rho_square / model2_rho_square* sum(beta^2))
model1_rho_square <- sum(beta[1:3]^2) / (sum(beta^2) + error_sd^2)
delta_rho_square <- model2_rho_square - model1_rho_square

x$y <- rnorm(n, beta[1] * x$x1a + beta[2] * x$x1b + beta[3] * x$x1c +
               beta[4] * x$x2a + beta[5] * x$x2b, error_sd)

c(delta_rho_square, model1_rho_square, model2_rho_square)
summary(lm(y~., data=x))$adj.r.square -
        summary(lm(y~x1a + x1b + x1c, data=x))$adj.r.square

부트 스트랩에 대한 우려 이유

약 300 건의 사례와 간단한 모델에서는 5 명의 예측 변수, 전체 모델에서는 30 명의 예측 변수로 부트 스트랩을 실행했습니다. 조정 된 r- 제곱 차이를 사용한 표본 추정치는 0.116이지만, 증폭 된 신뢰 구간은 대부분 CI95 % (0.095 ~ 0.214)였으며 부트 스트랩의 평균은 표본 추정치 근처에 없었습니다. 오히려, 증폭 된 샘플의 평균은 샘플에서 r- 제곱 사이의 차이의 샘플 추정치에 중심을 둔 것으로 나타났다. 이것은 차이를 추정하기 위해 샘플 조정 r- 제곱을 사용하고 있다는 사실에도 불구하고 있습니다.

흥미롭게도 나는 다른 방법으로 를 계산하려고 시도했다.

Δρ2
  1. 표본 제곱 변화 계산
  2. 표준 조정 된 r- 제곱 공식을 사용하여 샘플 r- 제곱 변경을 조정하십시오.

표본 데이터에 적용 할 때 이것은 의 추정치 를 줄 였지만 신뢰 구간은 처음 언급 한 방법 인 CI95 % (.062, .179)에 대해 .118의 평균으로 적합 해 보였습니다.

Δρ2

.082

대체로 부트 스트래핑은 표본이 모집단이라고 가정하므로 과적 합에 대한 감소가 제대로 수행되지 않을 수 있습니다.



답변

인구 아르 자형2

먼저 모집단 R-squared 의 정의를 이해하려고합니다 .

당신의 의견을 인용 :

또는 표본 크기가 무한대에 가까워짐에 따라 표본에 설명 된 분산 비율로 무증상으로 정의 할 수 있습니다.

나는 이것이 모델을 무한히 여러 번 복제 할 때 (각 복제에서 동일한 예측 변수를 사용 하여) 샘플 의 한계라고 생각합니다 .

아르 자형2

그래서 샘플의 점근 값에 대한 공식 무엇 ? https://stats.stackexchange.com/a/58133/8402 에서와 같이 선형 모델 Y = μ + σ G 를 작성하고이 링크와 동일한 표기법을 사용하십시오.
그런 다음 샘플 R 2p o p R 2 로 이동 하는지 확인할 수 있습니다 : = λ

아르 자형²

와이=μ+σ지


아르 자형2

모델Y=μ+σG를무한히복제 할 때 n + λ .

피영형피아르 자형2: =λ엔+λ

와이=μ+σ지

예를 들어 :

> ## design of the simple regression model lm(y~x0)
> n0 <- 10
> sigma <- 1
> x0 <- rnorm(n0, 1:n0, sigma)
> a <- 1; b <- 2 # intercept and slope
> params <- c(a,b)
> X <- model.matrix(~x0)
> Mu <- (X%*%params)[,1]
>
> ## replicate this experiment k times
> k <- 200
> y <- rep(Mu,k) + rnorm(k*n0)
> # the R-squared is:
> summary(lm(y~rep(x0,k)))$r.squared
[1] 0.971057
>
> # theoretical asymptotic R-squared:
> lambda0 <- crossprod(Mu-mean(Mu))/sigma^2
> lambda0/(lambda0+n0)
          [,1]
[1,] 0.9722689
>
> # other approximation of the asymptotic R-squared for simple linear regression:
> 1-sigma^2/var(y)
[1] 0.9721834

하위 모델의 인구 아르 자형2

이제 모델을 가정이고 H 1 : μ W 1 및 하위 모델 고려 H 0 : μ W 0 .

와이=μ+σ지

H1:μ∈여1

H0:μ∈여0

아르 자형2

H1

피영형피아르 자형12: =λ1엔+λ1

λ1=”피지1μ”2σ2

지1=[1]⊥∩여1

”피지1μ”2=∑(μ나는−μ¯)2

아르 자형2

H0

아르 자형2

H0

H1

답변

당신이 묻는 질문에 대답하기보다는 그 질문을 왜하는지 물어볼 것입니다. 나는 당신이 알고 싶어 가정

mod.small <- lm(y ~ x1a + x1b + x1c, data=x)

최소한만큼 좋다

mod.large <- lm(y ~ ., data=x)

설명에 y. 이러한 모델이 중첩되어 있기 때문에이 질문에 대답하는 확실한 방법은 두 GLM에 대한 편차 분석을 실행할 때와 같은 방법으로 모델을 비교하는 분산 분석을 실행하는 것 같습니다.

anova(mod.small, mod.large)

그런 다음 모집단 R- 제곱을 이해할 수 있다고 가정 할 때 항상 모집단에서 적합 개선이 무엇인지에 대한 최선의 추측으로 모델 간의 표본 R- 제곱 개선을 사용할 수 있습니다. 개인적으로 나는 확신 할 수 없지만 이것으로 어느 쪽도 중요하지 않습니다.

보다 일반적으로 모집단 수량에 관심이있는 경우 일반화에 관심이있을 수 있으므로 표본 적합도 측정 값은 원하는 것이 아니지만 ‘수정’됩니다. 예를 들어, MSE와 같이 샘플에서 발생할 것으로 예상되는 실제 오류의 정렬 및 수량을 추정하는 일부 수량의 교차 검증은 원하는 결과를 얻는 것처럼 보입니다.

하지만 내가 여기서 뭔가를 놓친 것 같습니다 …


답변

ρ2

이중 조정 R- 스퀘어 부트 스트랩

대답에 대한 나의 가장 좋은 추측은 이중 조정 r- 정사각형 부트 스트랩을하는 것입니다. 기술을 구현했습니다. 다음과 관련이 있습니다.

  • 현재 데이터에서 부트 스트랩 샘플 세트를 생성하십시오.
  • 부트 스트랩 된 각 샘플에 대해 :
    • 두 모델의 첫 번째 조정 된 r- 제곱을 계산
    • 이전 단계의 조정 된 r- 제곱 값에서 두 번째 조정 된 r- 제곱을 계산합니다.

    • Δρ2

이론적 근거는 첫 번째 조정 된 r- 제곱은 부트 스트랩에 의해 도입 된 편향을 제거한다는 것입니다 (즉, 부트 스트랩 핑은 샘플 r- 제곱이 모집단 r- 제곱이라고 가정합니다). 두 번째 조정 된 r- 제곱은 모집단 r- 제곱을 추정하기 위해 일반 표본에 적용되는 표준 보정을 수행합니다.

이 시점에서 볼 수있는 것은이 알고리즘을 적용하면 올바르게 보이는 추정치를 생성한다는 것입니다 (즉, 부트 스트랩의 평균 theta_hat은 샘플 theta_hat에 매우 가깝습니다). 표준 오류는 내 직감과 일치합니다. 나는 데이터 생성 프로세스가 알려진 곳에서 적절한 잦은 적용 범위를 제공하는지 여부를 아직 테스트하지 않았으며,이 시점에서 논쟁이 첫 번째 원칙에서 어떻게 정당화 될 수 있는지 완전히 확신하지 못한다

이 방법이 문제가되는 이유를 아는 사람이 있다면 그 점에 대해 감사하게 생각합니다.

Algina 등의 시뮬레이션

Δρ2

비중 심성 매개 변수 사용에 대한 Smithson (2001)

아르 자형2

에프2

아르 자형2

참고 문헌

  • Algina, J., Keselman, HJ, & Penfield, 제곱 된 다중 반 부분 상관 계수에 대한 RD 신뢰 구간 PDF
  • Smithson, M. (2001). 다양한 회귀 효과 크기 및 매개 변수에 대한 정확한 신뢰 구간 : 컴퓨팅 구간에서 비 중심 분포의 중요성. 교육 및 심리 측정, 61 (4), 605-632.