09.非线性-指数增长模型

Posted waterr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09.非线性-指数增长模型相关的知识,希望对你有一定的参考价值。

import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt

# 凸函数:斜率递增
    # 指数增长模型(exponential growth model) y = a?
    # 半衰期模型(half-life model) 剩余比例 = (1/2) ** (t / H)


# 以 y = exp(x) 为例演示
x = np.arange(1, 10, 0.1)  # 颗粒度越小曲线越平滑
y = np.exp(x)

# plt.plot(x, y)
# plt.show()


"""
如何通过指数函数近似一组数据

为了找到形式为 y = a * exp(b * x)的指数函数的参数,我们使用了优化方法。
为此,scipy.optimize.curve_fit()函数适合我们。
该方法使用非线性最小二乘算法来匹配我们在输入处指定的函数。
"""

x = np.arange(1, 31, 1)
y = np.array([3, 7, 14, 16, 26, 47, 73, 84, 113, 196, 218, 310, 356, 475, 548, 645, 794, 942,
              1096, 1251, 1319, 1462, 1668, 1892, 2203, 2511, 2777, 3102, 3372, 3764])

[a, b], res1 = curve_fit(lambda x1, a, b: a * np.exp(b * x1), x, y)

y1 = a * np.exp(b * x)

# plt.plot(x, y, "b")
# plt.plot(x, y1, "r")
# plt.show()

技术图片

 

以上是关于09.非线性-指数增长模型的主要内容,如果未能解决你的问题,请参考以下文章

python实现logistic增长模型

我需要python中的指数/非线性模型

指数分布族与广义线性模型

机器学习笔记—指数分布簇和广义线性模型

机器学习算法总结——广义线性模型(线性回归,逻辑回归)

机器学习——牛顿法,指数分布簇,广义的线性模型