0

我的目标是估计模型的两个参数(参见 CE_hat)。我使用 7 个观察值来拟合两个参数:(w,a),因此会发生几次过拟合。一个想法是限制每个观察的影响,以便异常值不会“劫持”参数估计。之前向我建议的方法是nlrob。然而,问题在于极端情况(例如下面的示例) return Missing value or an infinity produced when evaluating the model。为了避免这种情况,我使用nlsLM了以返回古怪估计为代价实现收敛的方法。

关于如何在此示例中使用稳健拟合的任何想法?

我在下面包含一个可重现的示例。这里的可观察量是 CE、H 和 L。这三个元素被输入一个函数 (CE_hat) 以估计“a”和“w”。通常认为“a”接近 1 和“w”接近 0.5 的值更合理。正如您 - 希望 - 可以看到,当包括所有观测值时,a=91,而 w=0 旁边。但是,如果我们要排除第 4(或第 7)个观测值(对于 CE、H 和 L),我们得到更合理的估计。理想情况下,我希望在不排除这些观察的情况下获得相同的结果。一种想法是限制他们的影响力。我知道为什么这些观察结果构成某种“异常值”可能不是很清楚。它'

library("minpack.lm")
options("scipen"=50)
CE<-c(3.34375,6.6875,7.21875,13.375,14.03125,14.6875,12.03125)
H<-c(4,8,12,16,16,16,16)
L<-c(0,0,0,0,4,8,12)
CE_hat<-function(w,H,a,L){(w*(H^a-L^a)+L^a)^(1/a)}
aw<-nlsLM(CE~CE_hat(w,H,a,L), 
      start=list(w=0.5,a=1),
      control = nls.lm.control(nprint=1,maxiter=100))
summary(aw)$parameters
4

0 回答 0