解析 gnls 模型中的对称性
Resolving symmetry in gnls model
我正在尝试使用 nlme
包中的 gnls
在 R 中拟合逻辑增长模型。
我之前成功拟合过一个模型:
mod1 <- gnls(Weight ~ I(A/(1+exp(b + v0*Age + v1*Sum.T))),
data = df,
start = c(A= 13.157132, b= 3, v0= 0.16, v1= -0.0059),
na.action=na.omit)
但是,我现在希望约束 b
使其不适合模型,因此尝试拟合第二个模型:
mod2 <- gnls(Weight ~ I(A/(1+exp(log((A/1.022)-1) + v0*Age + v1*Sum.T))),
data = df,
start = c(A= 13.157132, v0= 0.16, v1= -0.0059),
na.action=na.omit)
此模型返回错误:
Error in gnls(Weight ~ A/(1 + exp(log((A/1.022) - 1) + v0 * Age + :
approximate covariance matrix for parameter estimates not of full rank
Warning messages:
1: In log((A/1.022) - 1) : NaNs produced
搜索错误表明问题是由模型中的对称性引起的,具体问题的解决方案涉及使用不同参数调整公式。不幸的是,我的统计知识不足以 a) 完全理解问题或 b) 自己调整公式。
至于警告信息(总共有 15 条,都是一样的)我不明白为什么会出现它们,因为模型的这一部分是单独工作的(带有示例编号)。
对于这些查询中的任何一个,我们将不胜感激。
如果用户知道我最终用一个简单的解决方案解决了这个问题(在朋友的帮助下),这可能会给用户提供信息。
由于exp(a+b) = exp(a)*exp(b)
,等式可以改写为:
Weight ~ I(A/(1+((A/1.022)-1) * exp(v0*Age + v1*Sum.T))
合身没有任何问题。一般来说,用不同的形式写方程似乎是答案。
我正在尝试使用 nlme
包中的 gnls
在 R 中拟合逻辑增长模型。
我之前成功拟合过一个模型:
mod1 <- gnls(Weight ~ I(A/(1+exp(b + v0*Age + v1*Sum.T))),
data = df,
start = c(A= 13.157132, b= 3, v0= 0.16, v1= -0.0059),
na.action=na.omit)
但是,我现在希望约束 b
使其不适合模型,因此尝试拟合第二个模型:
mod2 <- gnls(Weight ~ I(A/(1+exp(log((A/1.022)-1) + v0*Age + v1*Sum.T))),
data = df,
start = c(A= 13.157132, v0= 0.16, v1= -0.0059),
na.action=na.omit)
此模型返回错误:
Error in gnls(Weight ~ A/(1 + exp(log((A/1.022) - 1) + v0 * Age + :
approximate covariance matrix for parameter estimates not of full rank
Warning messages:
1: In log((A/1.022) - 1) : NaNs produced
搜索错误表明问题是由模型中的对称性引起的,具体问题的解决方案涉及使用不同参数调整公式。不幸的是,我的统计知识不足以 a) 完全理解问题或 b) 自己调整公式。
至于警告信息(总共有 15 条,都是一样的)我不明白为什么会出现它们,因为模型的这一部分是单独工作的(带有示例编号)。
对于这些查询中的任何一个,我们将不胜感激。
如果用户知道我最终用一个简单的解决方案解决了这个问题(在朋友的帮助下),这可能会给用户提供信息。
由于exp(a+b) = exp(a)*exp(b)
,等式可以改写为:
Weight ~ I(A/(1+((A/1.022)-1) * exp(v0*Age + v1*Sum.T))
合身没有任何问题。一般来说,用不同的形式写方程似乎是答案。