Python绘制具有固定终点的多项式

时间:2016-12-01 22:24:59

标签: python numpy matplotlib scipy data-analysis

我需要一个python解决方案来强制多项式在特定点结束。我已经阅读了这里提供的解决方案:How to do a polynomial fit with fixed points一个类似的问题,但是我无法让任何这些方法在我的数据集上工作,因为没有定义端点,而是多项式传递的位置。

因此,我需要一种解决方案来强制多项式曲线在特定位置结束。

为了把这个放在上下文中我需要它的例子如下图所示,我需要一条最适合下面数据的线,绿点表示原始数据,粉红点是平均值。每个x值的绿点。最佳拟合应该是三阶多项式,直到数据变为水平线性线。黑线是我目前尝试使用np.ployfit()的最佳拟合线,我已经将多项式定义为仅绘制直到我将开始线性最佳拟合线的位置,但是你可以看到它的尾部多项式从远到低,因此我想强迫它结束/经过一个特定的点。

我愿意接受所有选择以获得一个很好的数学上最合适的选择,因为我已经对这个问题进行了长时间的反击。Wind Turbine SCADA Data

2 个答案:

答案 0 :(得分:1)

使用逻辑sigmoid而不是多项式:

logistic sigmoid data fit

从一些样本数据点生成的公式和参数(取自图片):

logistic sigmoid fit parameters

其中 S(x)sigmoid function

答案 1 :(得分:0)

一种独特的方法,因为您似乎想要在水平维度中识别异常值

按功率对数据进行分层,比如10千瓦的间隔,这样每个间隔都包含足够的数据。指出使用它们分散的一些稳健的估计。在每个层中丢弃上极端观察值,直到稳健估计值下降到稳定值。现在使用分层的最大值作为判断任何给定设备是否被视为“效率低下”的标准。