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 |