Python:使用2个或更多数据点推断趋势

时间:2011-09-04 12:53:17

标签: python

我需要能够使用2-n数据点推断出一条曲线趋势线,然后可以对其进行“查询”。在我看来,它看起来有点像这样(蓝线):

Example graph

这是一个'卡路里计算器' - 我有基于一定重量的活动燃烧卡路里数量的数据点:例如如果你体重65公斤,你会燃烧大约420卡路里的热量,如果你的体重是70公斤,那么你将燃烧480卡路里的热量,如果你的体重是75公斤,那么你将燃烧550卡路里的热量等。一个轴就是卡路里,另一个是体重。

显然,如果我想找出一个我没有数据点的重量消耗的卡路里量,我需要一个趋势线来“查询”,这将我带到我问题的第二部分:我该怎么做呢?

总结:

  • 如何在Python中推断趋势线?
  • 如何根据此趋势线上的某个点“查询”此趋势线以获取估算值?

1 个答案:

答案 0 :(得分:4)

numpy和scipy包含允许您将表达式拟合到数据点的例程。一旦你有了表达式,你可以在任何你喜欢的时间范围内绘制它。

这个答案 - Nonlinear e^(-x) regression using scipy, python, numpy - 包含一个非线性回归的例子(它是一个指数,就像你的问题,但是一个带有负指数 - 一般来说,用正指数拟合和推断指数是一个坏主意因为外推对噪声/不确定性非常敏感,所以它很快变得毫无意义。)