我需要能够使用 2-n 个数据点来推断一条曲线趋势线,然后可以“查询”该趋势线。在我看来,它看起来有点像这样(蓝线):
这是一个“卡路里计算器” - 我有关于基于特定体重的事件燃烧的卡路里量的数据点:例如如果你是 65 公斤,你会燃烧大约 420 卡路里,如果你是 70 公斤,你会燃烧 480 卡路里,如果你是 75 公斤,你会燃烧 550 卡路里,等等。一根轴代表卡路里,另一个为重量。
显然,如果我想找出没有数据点的体重消耗的卡路里量,我需要一条趋势线来“查询”,这让我进入了问题的第二部分:我该怎么做?
总结:
- 如何在 Python 中推断趋势线?
- 如何“查询”该趋势线以获取基于该趋势线上的点的估计值?
最佳答案
numpy 和 scipy 包含可让您将表达式拟合到数据点的例程。一旦你有了一个表达式,你就可以在你喜欢的任何时间范围内绘制它。
这个答案 - Nonlinear e^(-x) regression using scipy, python, numpy - 包含一个非线性回归的例子(它是一个指数,就像你的问题一样,但是有负指数 - 一般来说,用正指数拟合和外推指数是一个坏主意,因为外推对噪声/不确定性非常敏感,它很快就变得毫无意义)。
关于Python:使用 2 个或更多数据点推断趋势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299350/