大型看似无关的回归系统的估计

时间:2016-06-21 12:33:20

标签: r regression bayesian matrix

我正在使用贝叶斯方法来估计Seemingly Unrelated Regressions (SUR)的系统。然而,我估计的系统很大,我试图找到一种计算上可行的方法来实现估算。

继续关注维基百科文章的注释,假设m非常大,可能有数百个方程式。每个方程的回归量的数量通常在8和20之间。在吉布斯采样的第k步中,算法提供Sigma的绘制,残差的协方差矩阵(对应于FGLS阶段的第一步)。然而,在第二步中,我必须求解系数向量的矩阵方程组。这些矩阵显然非常大。

在R中,我有效地使用了Matrix包中的一些类来管理一些这些计算的内存,但是目前,计算系数向量及其协方差矩阵所需的时间对于我当前的应用是不可行的。以下是一些示例代码:

library(Matrix)

X0 = bdiag(lapply(equations, get.regressors, regressors = z))
sandwich.term = kronecker(chol2inv(chol(Sigma)), Diagonal(obs))
X0t.O.X0 = t(X0) %*% sandwich.term %*% X0
beta.hat = qr.solve(X0t.O.X0, t(X0) %*% sandwich.term %*% c(y))
cov.beta = chol2inv(chol(X0t.O.X0))

get.regressors函数从数据中选择第i个回归的矩阵Xi的值。

任何提高性能的建议都会非常感激!或者,如果您认为这只是一个维度问题,请告诉我。

0 个答案:

没有答案