我想在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 中制作这个函数吗?我需要使用什么样的函数? 谢谢。
这行得通吗?
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