Skip to main content

Timeline for Compact Rational Function Fitting

Current License: CC BY-SA 3.0

13 events
when toggle format what by license comment
Apr 25, 2013 at 21:52 vote accept Guillochon
Apr 25, 2013 at 22:05
Feb 11, 2013 at 17:03 comment added murray Ignore! my post about PadeApproximant. (Sorry, only after greatly magnifying the display formula in my browser did I realize you have rational powers of the variable; so this is not Pade approximation.)
Feb 11, 2013 at 16:56 comment added murray Will the built-in PadeApproximant do what you want?
Feb 9, 2013 at 15:38 comment added whuber Eureqa is free software designed to solve this problem. It uses a genetic algorithm. It is quick to learn and very fast in execution. It will return floating-point exponents, not rationals, but that doesn't seem to be an issue: a suitable rational approximation to the exponents will introduce no appreciable error. Indeed, that's the puzzling aspect of this question: why not replace $i/q$ and $j/r$ with arbitrary reals, because nothing whatsoever (in terms of the goodness of fit or number of terms) is gained by restriction to rationals?
Feb 9, 2013 at 14:44 answer added Daniel W timeline score: 6
Jul 30, 2012 at 19:14 comment added Guillochon @MattW-D The sample data can be anything, the particular dataset I was fitting to is not more problematic than any other dataset. Probably the easiest way to construct a test dataset is to create a rational function with random coefficients, and then add some Gaussian noise: Total[(2.*RandomReal[]-1.)x^i, {i,1,5}]/Total[2.*RandomReal[]-1.)x^i,{i,1,5}] + 0.1*RandomVariate[NormalDistribution[]]. The resulting fit need not have the same power series with the same coefficients, just as long as it closely matches the dataset without having any sharp discontinuities.
Jul 27, 2012 at 17:56 comment added Matt W-D Is it possible to upload some sample data online somewhere, so we can experiment with fitting equations to it?
Jun 8, 2012 at 20:47 comment added Guillochon I gave RationalInterpolation a try, in general it seems to produce worse fits with more terms than my algorithm. I think this is because my algorithm eliminates terms and allows the power series to start in either the denominator or numerator from a power greater than 0. For instance, the data I fitted above has only 3 terms in the denominator/numerator, whereas I had to use 4 terms in the RationalInterpolation approach.
Jun 8, 2012 at 19:36 history tweeted twitter.com/#!/StackMma/status/211179795323695106
Jun 8, 2012 at 19:19 comment added rcollyer NonlinearModelFit may not be the best bet as a rational function can be made linear in its arguments, with some modifications. Specifically, look at how FunctionApproximations`RationalInterpolation works. It specifically uses LinearSolve.
Jun 8, 2012 at 18:31 comment added Daniel Lichtblau Have a look here. See in particular the section "A mixed discrete−continuous optimization". It does this sort of thing with polynomials. Should not be too hard to extend to rational functions. (There is a more up to date version of this work that will be freely available, but it has not yet appeared.)
Jun 8, 2012 at 18:11 history edited Guillochon CC BY-SA 3.0
added 3 characters in body
Jun 8, 2012 at 17:55 history asked Guillochon CC BY-SA 3.0