Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 最小二乘极小化_R_Least Squares - Fatal编程技术网

R 最小二乘极小化

R 最小二乘极小化,r,least-squares,R,Least Squares,我希望这是提出这样一个基本问题的正确地点。我发现问题和解决方案非常明确,因此它们不能帮助我了解程序的基本原理。 考虑一个随机数据集: x <- c(1.38, -0.24, 1.72, 2.25) w <- c(3, 2, 4, 2) x您可以按如下方式进行操作: optim(mean(x), function(mu) sum(w * (x - mu)^2), method = "BFGS")$par # [1] 1.367273 这里的mean(x)是mu的初始猜测,我不确定这

我希望这是提出这样一个基本问题的正确地点。我发现问题和解决方案非常明确,因此它们不能帮助我了解程序的基本原理。
考虑一个随机数据集:

x <- c(1.38, -0.24, 1.72, 2.25)
w <- c(3, 2, 4, 2)

x您可以按如下方式进行操作:

optim(mean(x), function(mu) sum(w * (x - mu)^2), method = "BFGS")$par
# [1] 1.367273

这里的
mean(x)
mu

的初始猜测,我不确定这是否是您想要的,但这里有一个小代数: 我们想找到mu来最小化

S = Sum{ i | w[i]*(x[i] - mu)*(x[i] - mu) }
展开正方形,然后重新排列为三个求和。把不依赖于我的东西带到总数之外:

S = Sum{i|w[i]*x[i]*x[i])-2*mu*Sum{i|w[i]*x[i]}+mu*mu*Sum{i|w[i]}
定义

W = Sum{i|w[i]}
m = Sum{i|w[i]*x[i]} / W
Q = Sum{i|w[i]*x[i]*x[i]}/W
然后

(第二步是“完成正方形”,这是一项简单但非常有用的技术)


在最后一个等式中,由于平方总是非负的,因此使S最小化的μ值为m。

在这种特殊情况下,
coef(lm(x~1,weight=w))[1]
也将产生相同的结果。
S = W*(Q -2*mu*m + mu*mu) 
  = W*( (mu-m)*(mu-m) + Q - m*m)