2013-09-25 1 views
1

저는 R이 처음이므로 R- 제곱 값과 잔여 표준 오류에 대한 95 % 신뢰 구간을 계산하려고합니다. 선형 모델은 부트 스트랩 방법을 사용하여 응답 변수를 다시 샘플링 한 다음 원래의 설명 변수에서 999 부트 스트랩 된 응답 변수를 회귀하여 999 선형 모델을 작성합니다.R - 부트 스트랩 선형 모델에 의한 R 제곱 및 잔류 표준 오류에 대한 95 % 신뢰 구간 계산

우선, R- 제곱에 대한 95 % CI와 ORIGINAL 선형 모델 (부트 스트랩 데이터없이)에 대한 잔류 표준 오차를 계산해야하는지 확신 할 수 없습니다. R- 제곱 값은 해당 선형 모델에 대해 100 % 정확하며 CI에 대한 CI를 계산하는 것은 의미가 없습니다.

맞습니까?

중요한 것은 부트 스트래핑으로 만든 999 선형 모델의 R- 제곱 값과 나머지 표준 오류 값에 대한 CI를 계산하는 방법을 잘 모르겠습니다.

+0

입니다. 당신이하고 싶은 것이 맞습니까? – Seth

+0

응답과 설명 변수 모두를 다시 샘플링한다고 생각하십니까? – user2303557

+0

정상적인 부트 스트랩 절차에서는 원본 데이터 프레임에서 전체 행을 다시 샘플링하여 새 데이터 프레임을 만듭니다. – Seth

답변

2

이 작업을 수행하려면 확실히 부트 패키지를 사용할 수 있습니다. 그러나 당신이 악을 원한 것에 대해 혼란 스러울 수 있기 때문에 단계별로 단계별로 진행하십시오.

나는

n=10 
x=rnorm(n) 
realerror=rnorm(n,0,.9) 
beta=3 
y=beta*x+realerror 

나는에 관심이 통계를 잡기 위해 빈 공간을 일부 가짜 데이터를 확인합니다.

rsquared=NA 
sse=NA 

그런 다음 데이터를 다시 샘플링 것이다 for 루프가하는 실행하기 각 반복에 대해 두 개의 통계를 수집합니다.

for(i in 1:999) 
{ 
    #create a vector of the index to resample data row-wise with replacement. 
    use=sample(1:n,replace=T) 

    lm1=summary(lm(y[use]~x[use])) 

    rsquared[i]=lm1$r.squared 

    sse[i]=sum(lm1$residuals^2) 
} 

지금 나는 그들 각각을 주문 있도록 신뢰 구간을 파악하고 (N * 0.025) 일을보고 싶어하고 (N * 0.975) 첫 번째 순서 번째 통계

sse=sse[order(sse)] 
rsquared=rsquared[order(rsquared)] 
그런 다음 25은 낮은 신뢰 한계와 975번째 내가 응답 변수를 재 샘플링하고 원래의 설명 변수를 사용 들어 본 적이없는 상위 신뢰 한계

> sse[c(25,975)] 
[1] 2.758037 18.027106 
> rsquared[c(25,975)] 
[1] 0.5613399 0.9795167 
관련 문제