我有两组数据,我想找出它们之间的相关性。虽然有相当多的分散的数据,但有明显的关系。我目前使用的是numpy polyfit(8阶),但有一些“摇摆”的行(特别是在开头和结尾),这是不合适的。第二,我不认为在直线的开始处拟合得很好(曲线应该稍微陡峭一点)。在
如何通过这些数据点获得最佳拟合“样条曲线”?在
我的当前代码:
# fit regression line
regressionLineOrder = 8
regressionLine = np.polyfit(data['x'], data['y'], regressionLineOrder)
p = np.poly1d(regressionLine)
看看@MatthewDrury对Why use regularisation in polynomial regression instead of lowering the degree?的回答。这简直太棒了,而且很到位。最有趣的一点出现在最后,当他开始谈论用一个自然三次样条曲线来拟合一个回归,而不是一个10次的正则多项式。您可以使用^{} 的实现来完成非常类似的事情。对于类似的方法,^{} 中包含了许多其他样条线方法的类。在
下面是一个简单的例子:
相关问题 更多 >
编程相关推荐