2013-07-28 2 views
0

변수 x [1 : 3]의 벡터와 그 공분산 행렬 V [1 : 3,1 : 3]에 대한 추정치가 주어지면, 선형 또는 둘 개 이상의 변수 비선형 함수 같은R - 추정 된 벡터와 그 공분산 행렬의 함수

X [4] =를 X [1] + X [2]

X [5] =를 X [4]/X [3].

x [4]와 x [5]의 추정 된 값은 간단한 대수를 필요로합니다.

선형 변환 X 포함 공분산 행렬는 [4]

H는 =

| 1 0 0 | 
| 0 1 0 | 
| 0 0 1 | 
| 1 1 0 | 

X 부가 공분산 행렬 [5] 일 수 (H의 * 브이 *의 H '), 단순히 =

| 1 0 0 0 | 
| 0 1 0 0 | 
| 0 0 1 0 | 
| 1 1 0 0 | 
| 0 0 a b | 

H : 조건 A 및 B에 대해 1 차 테일러 급수 근사치 추정개념 상, 알고리즘이 어떻게 작동하는지 알고 있습니다. 그러나 특히 사용자 인터페이스에서 일종의 범용 방정식 파서 (parser)를 시도하면 많은 코딩이 필요합니다.

이 문제점에 대해 작동하는 기존 R 라이브러리가 있습니까?

답변

0

정확한 값을 원할 경우 numDeriv 패키지를 사용하여 그라디언트를 수치로 계산할 수 있습니다 ( 또는 Ryacas).

library(numDeriv) 
f <- function(x) c(x, x[1] + x[2], (x[1] + x[2])/x[3]) 
x0 <- c(1,1,1) 
V <- diag(1:3) 
J <- jacobian(f, x0) 
J 
#  [,1] [,2] [,3] 
# [1,] 1 0 0 
# [2,] 0 1 0 
# [3,] 0 0 1 
# [4,] 1 1 0 
# [5,] 1 1 -2 
f(x0)    # (Biased) estimator of the mean of f(X) 
J %*% V %*% t(J) # Estimator of the variance of f(X) 

헤센을 포함하면 더 좋은 근사치를 제공합니다.

+0

감사합니다. 빈센트. 이것은 내가 찾고있는 것입니다! –

+0

관련 질문 : (x [5]> = 0) 같은 부등식 제약 조건을 부과하는 라이브러리 함수가 있습니까? –