我正在分析财务数据,并想找到一条线的拐点。我知道我可以使用导数来做到这一点,但首先我需要一个方程。有没有办法根据一系列数字生成方程。我需要以编程方式执行此操作。
4 回答
样条插值对你来说可能比多项式插值更有用:如果你拟合一个多项式,它必须不可避免地偏离你的数据范围之外的 +/- 无穷大。
您还需要一种允许稍微松散拟合的方法:财务数据通常有点嘈杂,如果您尝试精确拟合,可能会导致非常奇怪的曲线。
已经建立了将一组现有数据点转换为多项式的程序;这称为多项式插值。维基百科中的这篇文章:http ://en.wikipedia.org/wiki/Polynomial_interpolation 从数学上解释了它。你可以很容易地用谷歌搜索算法。
给定足够多的点,您的多项式可以很好地跟踪原始的未知函数,因此多项式的拐点应该与数据的波峰和波谷大致重合。
另一方面,我们都知道财务数据背后并没有真正的功能。因此,如果我是你,我会沿着这些点进行扫描,并找到在其两侧具有较小值的每个点,并声明其为高点;低点反之亦然。将这些数据强制拟合到一个虚构的函数中不会使它变得更有用。
更新: Tom Smith 建议对于这种事情,样条插值优于多项式插值,维基百科支持他。或者更确切地说,这是看好他的回答。
你在想的是分析微积分......当有离散数据(例如点)时,你必须用数字来做。现在,一条线通常没有拐点,所以我猜你正在考虑一条曲线。您可以通过点插值某种形式,然后计算一阶导数(也可以在数字上,但对于更多的点),或者您可以只计算您拥有的点的一阶导数(这将更好取决于你实际有多少分)。
但实际上,这只是理论,因为我们不知道数据的性质、语言或任何东西。
有关主题搜索的更多信息: wiki 上的数值分析,然后从那里开始。
我认为曲线拟合在这种情况下可能会对您有所帮助。这是一个可能很方便的讨论。
干杯