y <- rnorm(5)
X <- matrix(rnorm(15),5)
b <- rep(0, 3)
e <- y - X%*%b
w <- rep(0, 3)
A <- c(1,2,1)
for(i in 1:10){
for(j in 1:3){
e <- e + X[,j]*b[j]
xe <- sum(X[,j]*e)
w[j] <- xe
b[j] <- xe - (A%*%w - 1.5)
e <- e - X[,j]*b[j]
}
}
这是一个生成向量b
的虚拟代码。这里的问题是循环中的一个向量是w
,它取决于b
中的所有项:
此w
向量会将b
作为向量而不是按术语进行影响。但w
中的字词也取决于b[j]
。
在内循环中w
向量是
1.78787 0.00000 0.00000 # first iteration
1.787870 -1.231099 0.000000 # second iteration
1.787870 -1.231099 7.507026 # Third iteration
分别用于i
上的第一次迭代。
根据理论,w
应采用第三次迭代的形式,而不是采用零的形式。这意味着对于b[1]
,w
有三个零,b[2]
,w
有两个零等,但我需要对所有{w
使用相同的b[j]
{1}}的
我希望,我解释得恰到好处。也许这很简单,但我很困惑。
对此情况进行编码的最佳方法是:估算b
的迭代取决于b
中的所有字词?
这背后的数学总结如下。迭代b[j]
直到收敛。