Windows 7 Ultimate (8.00GB RAM Intel Core i5-2400 3GHz 프로세서)를 사용하는 PC에서 R 버전 2.14.0을 실행 중입니다. 다른 사양이 필요한지 알려주세요.'qbeta'에서 전체 정밀도가 달성되지 않았을 수 있습니다.
상관 관계가있는 베타 분산 데이터를 시뮬레이션하려고합니다.
http://onlinelibrary.wiley.com/doi/10.1002/asmb.901/pdf
- 는 기본적으로, 나는 (MASS에서
mvrnorm()
기능을 사용하여) 다변량 정규 데이터를 시뮬레이션하여 시작 : 내가 사용하는 방법은이 문서에 기록 된 것을의 확장입니다. - 그런 다음
pnorm()
을 사용하여 새 데이터 벡터가 (0,1)에 살도록 이러한 데이터에 프로 비트 변환을 적용합니다. 그리고 이전 진술에 따라 여전히 상관 관계가 있습니다. - 그런 다음이 probit로 변환 된 데이터를 통해 특정 mean1 및 분산 특성을 갖는 상관 된 베타 데이터를 얻기 위해 특정 shape1 및 shape2 매개 변수와 함께
qbeta()
함수를 적용합니다.
상관 관계가있는 베타 데이터를 생성하는 다른 방법이 있습니다. 나는 왜 qbeta()
이 특정 "씨앗"에 대해이 방법을 실패하게하는지에 관심이 있습니다. 다음은 내가받는 오류 메시지입니다.
Warning message:
In qbeta(probit_y0, shape1 = a0, shape2 = b0) :
full precision may not have been achieved in 'qbeta'
이것은 무엇을 의미합니까? 어떻게 피할 수 있습니까? 더 큰 시뮬레이션의 컨텍스트 내에서 발생하는 경우이 문제가 전체 소스 코드 (source()) 시뮬레이션 코드를 종료하지 않도록하는 가장 좋은 방법은 무엇입니까?
정수 시드가 1 : 1000 인 경우 다음 코드를 실행했습니다. Seed = 899는 나에게 문제를 일으키는 유일한 가치였다. 문제가 여기에 있다면, 그것은 필연적으로 다른 종자들에게도 문제가 될 것입니다.
library(MASS)
set.seed(899)
n0 <- 25
n1 <- 25
a0 <- 0.25
b0 <- 4.75
a1 <- 0.25
b1 <- 4.75
varcov_mat <- matrix(rep(0.25,n0*n0),ncol=n0)
diag(varcov_mat) <- 1
y0 <- mvrnorm(1,mu=rep(0,n0),Sigma=varcov_mat)
y1 <- mvrnorm(1,mu=rep(0,n1),Sigma=varcov_mat)
probit_y0 <- pnorm(y0)
probit_y1 <- pnorm(y1)
beta_y0 <- qbeta(probit_y0, shape1=a0, shape2=b0)
beta_y1 <- qbeta(probit_y1, shape1=a1, shape2=b1)
위의 코드는 더 큰 시뮬레이션 프로젝트의 조각입니다. 그러나 qbeta() 경고 메시지는 현재 두통을주는 것입니다.
그룹이 제공 할 수있는 도움이 있으면 대단히 감사하겠습니다.
건배 크리스
R 3.0.1에서는 경고 메시지가 표시되지 않습니다. R 업데이트를 고려하십시오. – Roland
R 2.15.1에 대한 경고가 없습니다. – eddi
감사합니다. @Roland. 최신 버전의 R 3.0.1 (32 비트)을 다운로드했습니다. 위의 ... set.seed (216)와 같은 코드를 실행하여 동일한 오류가 발생했습니다. 경고 메시지 : qbeta (probit_y1, shape1 = a1, shape2 = b1)에서 : 전체 정밀도가 ' qbeta ' – Chris