我有一些 matlab 代码需要在时间上均匀分布的时间序列数据来产生答案。读取数据文件的驱动程序 matlab 代码也运行 interp1。 ( x, y, xi, 'cubic') 读取文件后的数据,因为数据在时间上不是均匀分布的。
现在我必须将此过程移植到 Java 以添加到某些生产过程中。 matlab版本对大量数据文件不敏感,不能用于生产。
我的实际问题是,在将数据读入进程时,我在哪里可以找到已经实现了 interp1 'cubic' 方法的 Java 库?
根据 MATLAB 文档,'cubic' 与 piecewise cubic hermite interpolating polynomial 相同(pchip) 插值。 “样条曲线”产生 Not Acceptable 结果。我已经看过 Apache commons-math和 JAMA .
最佳答案
德杰。
http://www.gregdennis.com/drej/
通过对数据集进行回归的非线性最小二乘法。 您可以指定 lamda 值(拟合优度)并获得更便宜的数据拟合。
它会内插和外推,但不要外推太远;
如果您想要一些特定的外推远场行为,请在某处添加另一个点!
它使用内核回归,因此您可以很容易地获得不同类型的拟合。 Kardi Teknomo有一个关于内核回归的好页面。
有效。
关于java - 在 Java 中,是否存在用于对非均匀分布的时间序列数据进行插值的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3824178/