我想在R中创建一个函数,它使未知参数的目标最小化。 确切的等式是
Q_beta=min_{beta} sum_{i=1}^{i=n} || x_i - f(beta) ||^2
此处,||.||
表示欧几里德度量,我想对所有n
个对象求和。
x_i
是一个向量,f(beta)
是与x_i
相同的维度向量,它包含未知参数beta
。
在这种情况下,我想最小化所有n
平方欧几里德目标的总和,我也想知道哪个beta
最小化它们。
我可以在R中使用它吗?我需要使用什么样的功能? 谢谢。
答案 0 :(得分:0)
这有用吗?
rm(list=ls())
lower <- -2 ## lower interval endpoint of possible betas
upper <- 2 ## upper interval endpoint
beta0 <- runif(1,lower,upper) ## true beta, randomly selected from interval
t <- seq(0,1,by=.01) ## grid of values that function is fit over
x <- beta0*t^2
## goal is to find beta0
f <- function(beta) beta*t^2
g <- function(beta) sum((x-f(beta))^2)
fit <- optimize(g,lower=lower,upper=upper)
## the following two should match
fit$minimum
beta0