1
$\begingroup$

I know I can use the NonLinearModelFit function to fit to a particular set of data, but I have to decide ahead of time what type of equation to use, exponential, polynomial, etc. Is there any way to use Mathematica to discover the type of model or equation which would best for data? For example, I have some data:

100%   0.52 
 75%   0.45 
 50%   0.37 
 25%   0.30 
  0%   0.25

How can I find what type of equation to use? By best, I mean the smoothest curve. I know you can always fit an N-degree polynomial to a set of N-data points, but this results in a crazy curve that goes up and down radically; it is not a smooth curve. So, there is a balance between curve smoothness (lack of change) and closeness to the data points.

In the example above I could do this process manually. For example, I could first try fitting a square curve (Ax^2 + B) and then try fitting a log curve (A log x + B) and then try maybe an exponential curve (A^Bx + C) and find out which gave the best result. Is there any way for Mathematica to do this automatically, rather than have me laboriously try every type of equation I can think of?

$\endgroup$

closed as off-topic by Feyre, corey979, m_goldberg, MarcoB, J. M. will be back soon Dec 16 '16 at 2:31

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question arises due to a simple mistake such as a trivial syntax error, incorrect capitalization, spelling mistake, or other typographical error and is unlikely to help any future visitors, or else it is easily found in the documentation." – Feyre, corey979, m_goldberg, MarcoB, J. M. will be back soon
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    $\begingroup$ Have you seen FindFormula[]? $\endgroup$ – J. M. will be back soon Dec 15 '16 at 19:22
  • 1
    $\begingroup$ You data is linear as heck. For other, I'd also recommend FindFormula. $\endgroup$ – corey979 Dec 15 '16 at 19:44

Browse other questions tagged or ask your own question.