# Does anyone have experience with performing symbolic regression using Mathematica?

I understand that there is at least one Mathematica package, DataModeler commercially available for symbolic regression. I'm seeking any observations with this or any other similar tool.

I'm interested in solving single input/single output as well as multi input/single output problems.

• Last time I searched for this I haven't found any freely available and useable package, but I haven't done an extensive search. I don't think you'll find anything ready to use, but it'd be interesting to see some answers implementing very basic approaches. Oct 8, 2013 at 17:53
• For those not familiar with it, symbolic regression is a fitting method where the system will figure out the best simple formula to fit the data points (as opposed to having to provide a formula with unknown parameters). Here's an example of how these techniques might be applied. Steve, for better answers you might want to explain this a bit in the question. Oct 8, 2013 at 17:57
• @Szabolcs Does symbolic regression as discussed here differ from FindFormula, introduced in v10.2 in 2015? Aug 6, 2019 at 12:36
• @ChrisK I think it's essentially the same, except that FindFormula is a black box with little control on how it searches for formulas Aug 6, 2019 at 13:05
• @Szabolcs FindFormula is a "black box", but it does have control options like the SpecificityGoal and TargetFunctions. (Control-wise those are more directly controlling than the rest.) Nov 27, 2020 at 13:41

I could be perceived as biased since I'm the CTO of Evolved Analytics (www.evolved-analytics.com) and wrote much of the DataModeler code over the past 13 years, however, DM is probably the most efficient, complete and powerful symbolic regression platform out there for any environment. In addition to the basic model development, it supports the entire workflow from data exploration to model analysis and insight generation.

The industrial and corporate analysis roots of DM run pretty deep and the continual enhancement draws upon our ongoing project efforts. It is not "freely available"; however, the academic and commercial licensing rates are very reasonable. We also offer two-month trial licenses (but you have to provide your own copy of Mathematica) for those interested in putting it through its paces.

There is quite a bit of information available at the website as well as papers and tutorials on industrial data modeling which we have presented at the major evolutionary computing conferences for those seeking more information.

• Hey Mark, welcome to the party! Oct 8, 2013 at 20:07
• Are you aware of any freely available Mathematica packages, or just code examples, that demonstrate what is possible with these methods? (I'm not looking for a fully usable or useful package, just something to give a taste.) Oct 8, 2013 at 20:42
• @Mark Kotanchek, I've seen the material at your website, very thorough and impressive. How is forward-compatibility handled? I understand that Mathematica version 10 is in the pipeline. Oct 8, 2013 at 21:06
• @Szabolcs, Bob Nachbar did a GP evolution of chemical structure about 20 years ago in a Mathematica Journal if you can dig up a copy. It was pretty good. Also, Christian Jacob had an excellent book, "Illustrating Evolutionary Computation with Mathematica" which is interesting. The other option, of course, is to explore the papers, case studies, FAQ, etc. available at the E-A site. Oct 8, 2013 at 21:43
• @Steve, DataModeler is compatible with both Mma 8 and 9. So far, we haven't found any issues with the prerelease version of Mma 10 (which I will be using for my talk at the upcoming Wolfram Tech Conference). Wolfram snuck in some significant changes in between the last prerelease and released versions of 9 which caused hate and discontent; however, we worked around those pretty quickly and we will do that as required for Mma 10. The Mma core doesn't change that much at this point so the adaptation generally doesn't take much time. Oct 8, 2013 at 21:57

I have come very late to this party, but maybe you would like to check out Paul Knysh's "sym" package on GitHub. I played a bit with it today using Mma 11.0. The code definitely runs; however, I did not run extensive searches because I was afraid of melting my MacMini :-).

• Interesting, thanks for sharing! Yes, the code works, and it is very slow. (Over a trivial dataset.) Nov 27, 2020 at 13:35
• @AntonAntonov Glad that it worked in your hands. Would you give me a +1 for it? ;-) Nov 29, 2020 at 11:27

As far as I know, Mathematica is rather limited at symbolic regression. It is preferable to use an external tool for that.

Eureqa used to be popular before it was purchased by a consulting company in 2017. In 2020 a new symbolic regression tool called TuringBot was developed, and it was shown in arXiv:2010.11328 to be more efficient than Eureqa at finding formulas. So I would recommend TuringBot.