【发布时间】:2022-01-03 23:35:43
【问题描述】:
我正在使用 Gerhard Dikta 和 Marsel Scheer 所著“Bootstrap Methods: With Applications in R”一书中的代码使用 R:
set.seed(123,kind ="Mersenne-Twister",normal.kind ="Inversion")
semiparametric_data <-
data.frame(X = runif(400, min = 1, max = 30)) %>%
dplyr::mutate(
mu = 4 * exp(-X/2) - 3 * exp(-X/10), epsilon = rnorm(400, sd = 0.25),
Y = mu + epsilon)
fit_sp <- minpack.lm::nlsLM(
formula = Y ̃ a * exp(X/b) + c * exp(X/d),
data = semiparametric_data,
start = c(a = 4, b = -2, c = -3, d = -10),
control = nls.control(maxiter = 1000))
fit_sp
## Nonlinear regression model
## model: Y ̃ a * exp(X/b) + c * exp(X/d)
## data: semiparametric_data
## a b c d
## 3.707 -2.105 -3.025 -9.797
## residual sum-of-squares: 23.76
##
## Number of iterations to convergence: 3
## Achieved convergence tolerance: 1.49e-08
- 什么是最小化
nls函数? RMSE 还是 MSE? - 最小化 RMSE 或 MSE 有什么区别?
从理论/数学的角度来看,得到的系数应该是相同的,但实际上得到的系数略有不同。
- 在非线性最小二乘法中,在 RMSE 和 MSE 之间最小化哪种方法更有效?
【问题讨论】:
-
nls 最小化残差平方和。
-
@jdobres 感谢您的建议。我在这里发布了这个问题,因为我认为系数估计的差异可以用求解器的效率来解释。从统计的角度来看,RMSE 和 MSE 最小化之间应该没有区别。
-
我不确定您在这里比较的哪些系数“略有不同”;您只显示来自
minpack.lm::nlsLM的适合。您是否将此与nls进行比较?正如我在回答中提到的,nls和nlsLM使用不同的算法(Gauss-Newton vs Levenberg-Marquardt)。