2013-01-02 2 views
2

X이 유일한 알려지지 않은 변수이고 함수 f()이 다 변수 학생 t 분포 인 방정식을 풀고 싶습니다. 좀 더 정확하게 말하자면, 나는 학생 밀도 함수에 대한 다중 k 차원 적분을 가지고 있으며, 이는 결과로서 확률을 제공하며,이 확률은 q로 주어진다는 것을 알고 있습니다. 모든 적분에 대한 하한은 -Inf이고 마지막 k-1 차원의 상한은 주어진대로 알고 있습니다. 유일한 미지 변수는 첫 번째 적분의 상한입니다. 변수와 하나의 방정식에 대한 해답이 있어야합니다. 나는 R에서 그것을 풀려고 노력했다. 나는 t- 분포를 지정하기 위해 상관 관계 행렬을 갖기 위해 동적 조건 상관을 수행했다. 그래서이 상관 행렬을 내 다중 t 분포 "dmvt"에 연결하고 "큐베이스"패키지의 "adaptIntegral"함수를 사용하여 "uniroot"명령의 인수로 함수를 구성하여 첫 번째 적분의 상한을 해결합니다. 그러나 나는 얻고 자하는 것을 성취하기가 어렵습니다. (나는 내 ​​질문이 분명하기를 바란다.) 내가 전에 코드를 제공했는데, 누군가 문제가 있다고 말했지만 문제가있는 이유를 찾을 수 없다. 많은 도움을 주셔서 미리 감사드립니다.다 변수 적분 방정식을 상한선에서 변수로 풀는 법

이제는 하나의 차원 적분으로 어떻게 처리 할 수 ​​있습니까? 그러나 R에서 다차원 적분 방정식이 어떻게 풀릴 수 있는지 모르겠습니다. (2 차원의 경우를 예를 들어)

\int_{-\infty}^{X} 
    \int_{-\infty}^{Y_{1}} \cdots 
     \int_{-\infty}^{Y_{k}} 
      f(x,y_{1},\cdots y_{k}) 
     d_{x}d_{y_{1},}\cdots d_{y_{k}} = q 

이 코드는 실패 mvtnorm 이후

require(cubature) 
require(mvtnorm) 
corr <- matrix(c(1,0.8,0.8,1),2,2) 
f <- function(x){ dmvt(x,sigma=corr,df=3) } 
g <- function(y) adaptIntegrate(f, 
        lowerLimit = c(-Inf, -Inf), 
        upperLimit = c(y, -0.1023071))$integral-0.0001  
uniroot(g, c(-2, 2)) 
+1

패키지'R2Cuba' 또는'cubature' 월을 (. mvtnorm도 전용 "equicoordinate"값에 대한 분위수 기능 qmvt 만 포함) 그래서

도움이 되길. –

+0

... 또한'mvtnorm' 패키지 ... –

+0

두 분 모두에게 감사드립니다 ... 나는 당신이 언급 한 것을 시도했습니다 ... 그러나 결과는 이상합니다 ... 코드 : 요구 (큐브) (x, df = 3) } f <- function (y) adaptIntegrate (f, lowerLimit = c (y, -0.1023071)) $ integ-0.0001 uniroot (g, c (-2, 2)) – Zhili

답변

2

는 다변량 t 분포의 CDF를 계산하는 pmvt 기능을 포함, 당신은 적분을 수행 할 필요가 없습니다 무차별 한 힘에 의해서.

library(mvtnorm) 
g <- function(y1_upr,y2_upr=-0.123071,target=1e-4,df=3) { 
    pmvt(upper=c(y1_upr,y2_upr),df=df)-target 
} 
uniroot(g,c(-10000,0)) 
## $root 
## [1] -17.55139 
## 
## $f.root 
## [1] -1.699876e-11 
## attr(,"error") 
## [1] 1e-15 
## attr(,"msg") 
## [1] "Normal Completion" 
## 
## $iter 
## [1] 18 
## 
## $estim.prec 
## [1] 6.103516e-05 
## 

한 번 확인 :

pmvt(upper=c(-17.55139,-0.123071),df=3) 
## [1] 1e-04 
## attr(,"error") 
## [1] 1e-15 
## attr(,"msg") 
## [1] "Normal Completion" 
관련 문제