两个 NLS 回归参数的联合估计

Joint estimation of parameters from two NLS-regressions

首先,我是董事会的新手,如果我没有以最佳方式写这篇 post,请原谅。

除此之外,我正在尝试 运行 一些关于连续 product/service 代的最佳进入时机的模型。模型定义如下:Models, 其中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 以及共同的 [=15] 组合它们=].下次请提供一个 完整 示例,包括所有输入,以便可以使用复制和粘贴复制它。

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))