I've collected some interesting data from a fairly complex Python program I've written and I'm curious to figure out the mathematics behind it; or, at least, the empirical mathematics. Analyzing the program itself is far beyond my skills, so I'm wondering if there's a specific technique that may be helpful for fitting a curve to the observed data. The plot essentially looks like this (both X and Y are discrete, and ignore the sudden truncation at the end (x should continue indefinitely)):

enter image description here

So it kind of looks like the non-negative part of a sine wave whose period increases as $x$ does, and whose amplitude is decreasing. What techniques do you know to fit a function to data like this? If you know these techniques, can you apply it to this data? I will provide it in CSV format here for those who are interested:


  • $\begingroup$ Could you tell us what the axes represent? What is being plotted? $\endgroup$ – whuber Mar 23 '18 at 13:43
  • $\begingroup$ The number of occurrences of an event out of 1000 given the value of X is known. The event itself is pretty complicated to explain. $\endgroup$ – ereHsaWyhsipS Mar 23 '18 at 13:48
  • $\begingroup$ The pattern is clear: it is close to a periodic symmetric triangular wave as a function of $\log_3(X)$: that is, it repeats every time you triple the value of $X.$ (The response is remarkably homoscedastic, despite the appearances.) That should give you some clues concerning what aspect(s) of your program are determining this behavior. $\endgroup$ – whuber Mar 23 '18 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.