如何在nlslm中使用非线性回归模型的鲁棒拟合?

时间:2017-02-06 13:05:41

标签: r estimation nls robust

我的目标是估计模型的两个参数(参见CE_hat)。 我使用7个观察值来拟合两个参数:(w,a),因此过度拟合会发生几次。一种想法是限制每个观察的影响,以便异常值不“劫持”参数估计。 之前向我建议的方法是nlrob。然而,问题是如下例所示的极端情况返回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

0 个答案:

没有答案