2013-07-28 101 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 * V * H'),其中

H =

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

協方差矩陣將X [5]可以是與第一階泰勒級數近似估計術語A和b:

H =

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

在概念上,我知道算法應該如何工作。但是這需要很多編碼,特別是如果我在用戶界面中嘗試某種通用的公式分析器。

是否有任何現有的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)? –