R-来自两个NLS回归的参数的联合估计



首先,我是董事会的新手,所以请原谅,如果我不是以最佳方式写这篇文章。

除此之外,我正在尝试在连续的产品/服务一代为最佳输入时机上运行一些模型。模型定义如下:模型,其中f(t)是:f(t),S1是第一产品生成的累积销售,而S2是第二个产品一代的累积销售,而Tau2是第二个产品生成的引言时间。M1,M2,Q_G和P_Q是需要估算的参数。

在有关该主题的文献中,假定Q_G和P_G在产品一代中是相同的,这意味着Q_G和P_G在S1和S2的模型中应相同。这是我遇到麻烦的地方。

到目前为止,我已经能够使用NLS分别为每一代单独估算Q_G和P_G。请参阅下面:

S1.cum.func <- nls(S1.cum ~ M1.cum * 
           ((1-exp(-(P.cum+Q.cum)*T))/((Q.cum/P.cum)*exp(-(P.cum+Q.cum)*T)+1)) #F1
          * ifelse(T2>0,(1-((1-exp(-(P.cum+Q.cum)*T2))/((Q.cum/P.cum)*exp(-(P.cum+Q.cum)*T2)+1))),One.vec)
          ,start=c(list(M1.cum=sum(S1.cum),P.cum=0.001,Q.cum=0.5))) #Start values 
S2.cum.func <- nls(S2.cum.new ~ (M2.cum + M1.cum*
                ((1-exp(-(P.cum2+Q.cum2)*T.new))/((Q.cum2/P.cum2)*exp(-(P.cum2+Q.cum2)*T.new)+1))) #F1(t)
               *((1-exp(-(P.cum2+Q.cum2)*T2.new))/((Q.cum2/P.cum2)*exp(-(P.cum2+Q.cum2)*T2.new)+1)) #F2(t-Tau2)
               ,start=c(list(M2.cum=1223000,P.cum2=0.001,Q.cum2=0.5)))

我的问题是 - 是否有任何方法可以同时运行S1和S2上的回归,以便一组Q_G和P_Q的一组估计参数会尽可能多地描述两个因变量?

非常感谢。

这是一个示例,我们在其中分别运行fo1fo2,然后使用单独的a1a2和CONCON b组合它们。下次,请提供A 完整示例,包括所有输入,以便可以使用复制和粘贴进行复制。

set.seed(123)
# Separate nls runs
x1 <- 1:10
y1 <- 1 + 2 * x1 + rnorm(10)
fo1 <- y1 ~ a1 + b1 * x1
nls(fo1, start = list(a1 = 0, b1 = 0))
x2 <- 11:20
y2 <- 4 * 2 * x2 * rnorm(10)   
fo2 <- y2 ~ a2 + b2 * x2       
nls(fo2, start = list(a2 = 0, b2 = 0))
# combined nls run with different a's and common b
y12 <- c(y1, y2)
fo12 <- y12 ~ c(a1 + b * x1, a2 + b * x2)   
nls(fo12, start = list(a1 = 0, a2 = 0, b = 0))

最新更新