Python 拟合经过特定点的幂/指数曲线

Python 拟合经过特定点的幂/指数曲线,python,r,regression,curve-fitting,Python,R,Regression,Curve Fitting,我想拟合指数或渐近模型: 或 重要的是模型应该是凹的,并显示某种饱和效果 我们有两个外生变量x1,x2和一个约束:拟合曲线应该经过原点和另一个点 如果我适合我的函数,我可以得到这个,这对于一个变量来说是非常好的 n1这实际上是一个数学问题,而不是一个编程问题。让我们来看看饱和指数(它有三个参数,所以约束其中两个来迫使曲线通过(0,0),最右边的点(我称之为(xr,yr)将留下一个自由参数。假设f(x)=a-(a-b)*exp(-c*x) 如果我们想要f(0)=0我们需要设置b=0(数学作为

我想拟合指数或渐近模型:

重要的是模型应该是凹的,并显示某种饱和效果

我们有两个外生变量x1,x2和一个约束:拟合曲线应该经过原点和另一个点

如果我适合我的函数,我可以得到这个,这对于一个变量来说是非常好的


n1这实际上是一个数学问题,而不是一个编程问题。让我们来看看饱和指数(它有三个参数,所以约束其中两个来迫使曲线通过(0,0),最右边的点(我称之为(
xr
yr
)将留下一个自由参数。假设
f(x)=a-(a-b)*exp(-c*x)

  • 如果我们想要
    f(0)=0
    我们需要设置
    b=0
    (数学作为练习)
  • 那么
    f(xr)=yr
以下是一些示例数据:


xvec这实际上是一个数学问题,而不是一个编程问题。让我们来看看饱和指数(它有三个参数,因此约束其中两个参数使曲线通过(0,0),最右边的点(我将调用(
xr
yr
)将留下一个自由参数。假设
f(x)=a-(a-b)*exp(-c*x)

  • 如果我们想要
    f(0)=0
    我们需要设置
    b=0
    (数学作为练习)
  • 那么
    f(xr)=yr
以下是一些示例数据:


xvec对于“通过一个点”肯定有很大帮助约束。然而,我如何才能将初始曲线拟合问题添加到该约束中?我成功地用一个变量拟合了一条曲线,如果我想添加第二个变量x2,并拟合与最高点相同约束的曲线,该怎么办?恐怕我不明白。
x2
是预测变量吗(即,您观察到的东西以及每个数据点的
x1
)或一个参数?您可以编辑您的问题以给出一个例子吗?我已经显示了
c
的三个不同值的曲线(可能对应于您的
x2
?它主要影响曲率)…是否要使用附加参数扩展函数形式?为什么?能否进一步介绍上下文?(这肯定会进入一个领域……我已经做了一个编辑。x2是另一个预测变量,它只能影响曲率。系统的数据来源只能影响曲率,而不能影响曲线的水平。这对“通过一个点”肯定有很大帮助。)约束。然而,我如何才能将初始曲线拟合问题添加到该约束中?我成功地用一个变量拟合了一条曲线,如果我想添加第二个变量x2,并拟合与最高点相同约束的曲线,该怎么办?恐怕我不明白。
x2
是预测变量吗(即,您观察到的东西以及每个数据点的
x1
)或一个参数?您可以编辑您的问题以给出一个例子吗?我已经显示了
c
的三个不同值的曲线(可能对应于您的
x2
?它主要影响曲率)…是否要使用附加参数扩展函数形式?为什么?能否进一步介绍上下文?(这肯定会进入一个领域…我已经做了一个编辑。x2是另一个预测变量,它只能影响曲率。系统的数据来源只能影响曲率,而不能影响曲线的水平。你能编辑你的帖子以表明你在交叉发布吗?你能编辑你的帖子以表明你把它交叉贴在哪里了?
a*(1-exp(-c*xr)) = yr  ## set b=0
a = yr/(1-exp(-c*xr))  ## solve for a
nls(y~ cfun(x1, c=d+e*x2), data=..., start=list(d=0.03, e=0))
a*xr^b = yr
a = yr/(xr^b)