如何最小化R中的两个或更多个方程

时间:2014-05-25 11:04:23

标签: r estimation

我试图找到一种迭代方法来解决这两个具有两个未知参数的M-估计方程。

对于每位患者,我们测量他的血压两次$ Y_ {i1} $和$ Y_ {i2} $并注意他的饮酒量$ X_i $。我们已经给出了以下M估计量,并证明这些可以得到无偏见的结果:

$$ \总和\ limits_ {I = 1} ^ N \总和\ limits_ {J = 1} ^ 2 \大(Y_ {IJ} - \ beta_0- \ beta_1X_i \大)= 0 \四\ MBOX {和} \总和\ limits_ {I = 1} ^ N \总和\ limits_ {J = 1} ^ 2 \大(Y_ {I} - \ beta_0- \ beta_1X_i \大)X_I = 0 $ $

(使用OLS或最大似然,我们假设所有测量都是独立的。)

我知道有可能通过分析来解决这些问题,但是如果这两个方程非常复杂,我如何在R中以数字方式求解这些方程?

对于多个方程,是否有类似nlm的东西?

1 个答案:

答案 0 :(得分:0)

我应该做的是最小化两个方程的范数,nlm能够最小化具有两个未知变量的函数。这个R脚本工作正常:

y <- data_long$y
x <- data_long$x

f <- function(beta){
  temp_1 <- sum(y - beta[1] - beta[2] * x) 
  temp_2 <- sum(x*(y - beta[1] - beta[2] * x))
  sqrt(temp_1^2 + temp_2^2)
}
m_estimator <- nlm(f, c(0,0))

使用data_long我的模拟数据,以及beta我的两个估算值。