1
$\begingroup$

I have a time series which represent the sine curve. Now I want a regressor to learn this curve, and being able to predict for future values.

PS: Sine curve is only for testing purposes. What I want is to learn that function and its parameters as well which need not be sine.

$\endgroup$
1
  • 1
    $\begingroup$ I don't quite understand your problem. What is the input, and what is the desired output? $\endgroup$ Apr 20, 2017 at 8:08

2 Answers 2

1
$\begingroup$

Use nonlinear regression: https://en.wikipedia.org/wiki/Nonlinear_regression. Write down a model, e.g., $f(x) = \sin(\alpha x + \beta)$, and then try to find parameters $\alpha,\beta$ that minimize the regression error (the sum of the squared error at each point; i.e., square of difference between model's prediction and observed value). You can use gradient descent or other forms of mathematical optimization for that. If a sin function isn't the right model, you can write down some other model (with some parameters) and use optimization to find the best values for the parameters.

$\endgroup$
1
  • 1
    $\begingroup$ Sine curve is just a dummy data. What I want is to learn that function and its parameters as well which need not be sine. $\endgroup$ Apr 15, 2017 at 10:42
1
$\begingroup$

You could try symbolic regression (SR).

The general idea is finding a function that fits the given data points without making any assumptions about the structure of that function.

Genetic programming (GP) is well suited to this sort of task since it makes no such assumptions. SR was one of the earliest applications of GP and continues to be widely studied.

In general, SR is more computationally intensive and produces less accurate models than the other nonlinear technique.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.