估计向量的R-函数及其协方差矩阵

估计向量的R-函数及其协方差矩阵,r,covariance,nonlinear-functions,taylor-series,R,Covariance,Nonlinear Functions,Taylor Series,给定一个变量向量x[1:3]及其协方差矩阵V[1:3,1:3]的估计,我寻求一个将线性或非线性函数应用于两个或多个变量的实用程序,例如 x[4]=x[1]+x[2] x[5]=x[4]/x[3] x[4]和x[5]的估计值需要简单的代数 包括线性变换x[4]的协方差矩阵简单地为(H*V*H'),其中 H= 加上x[5]的协方差矩阵可通过项a和b的一阶泰勒级数近似进行估计: H= 在概念上,我知道算法应该如何工作。但是这需要大量的编码,特别是如果我尝试在用户界面中使用某种通用的等式解析器 是否有任

给定一个变量向量x[1:3]及其协方差矩阵V[1:3,1:3]的估计,我寻求一个将线性或非线性函数应用于两个或多个变量的实用程序,例如

x[4]=x[1]+x[2]

x[5]=x[4]/x[3]

x[4]和x[5]的估计值需要简单的代数

包括线性变换x[4]的协方差矩阵简单地为(H*V*H'),其中

H=

加上x[5]的协方差矩阵可通过项a和b的一阶泰勒级数近似进行估计:

H=

在概念上,我知道算法应该如何工作。但是这需要大量的编码,特别是如果我尝试在用户界面中使用某种通用的等式解析器


是否有任何现有的R库可以解决此问题?

您可以使用
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)
库(numDeriv)

谢谢你,文森特。这正是我要找的!相关问题:是否有一个库函数会施加不等式约束,例如(x[5]>=0)?
| 1 0 0 0 | 
| 0 1 0 0 |
| 0 0 1 0 |
| 1 1 0 0 |
| 0 0 a b |
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)