简体   繁体   中英

In Java, does an implementation exist for interpolating non-uniformly distributed time series data?

I have some matlab code which requires time series data that is uniformly distributed in time to produce an answer. The driver matlab code which reads the data file also runs an interp1 ( x, y, xi, 'cubic') on the data after it reads the file because the data is not uniformly distributed in time.

Now I have to port this process to Java to add to some production process. The matlab version isn't anemiable to large numbers of data files and can't be used in production.

My actual question is where can I find a Java library that already implements the interp1 'cubic' method to use when the data is read into the process?

According to the MATLAB docs, 'cubic' is the same as piecewise cubic hermite interpolating polynomial (pchip) interpolation. 'spline' produces unacceptable results. I have already looked at Apache commons-math and JAMA .

DREJ.

http://www.gregdennis.com/drej/

Nonlinear least squares via regression on data sets. You can specify the lamda value ( goodness of fit) and get a cheaper fit to the data.

It will interpolate and extrapolate, but don't extrapolate too far;

If you want some specific extrapolated far-field behavior add another point out there somewhere!

It uses kernel regression so you can get different kinds of fits pretty easily. Kardi Teknomo has a good page on kernel regression.

It works.

Have you checked Java LAPACK? http://www.netlib.org/java/f2j/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM