I'm currently facing a problem for which I am given several time series that all describe the feature.

E.g. the height of several trees of the same kind was measured over a period of time each. However, the time periods are rather random and do not necessarily overlap. For instance for the height of tree 1 we know that it was 2m on 01.01.2000, 2.1m on 08.05.2000, 3m on 06.12.2006. For tree 2 we know that its height was 2.5m on 17.03.2004 and 2.9m on 16.06.2006. this is just an example and my data is far more complex, contains a whole lot more data points and time series, but that's basically the nature of my problem.

My aim is to find a function (not yet clear if it should be linear, exponential, etc.) as a prognosis of the height of this particular sort of tree that best fits my data. However, since the dates where the heights were measured do not at all coincide and also the heights at which measurements were started are not alike, I basically have no clue how to approach this challenge.

Unfortunately I have never worked with advanced statistics or data analysis before and googling e.g. "analysis of multiple time series" does not yield anything I could work with.

Is there anyone here who's familiar with such analysis of time series? I bet there must be plenty of similar problems and lots of approaches to tackle them. I would be grateful for any suggestions! :)

Thanks a lot!!!


This is a perfectly good instance of general curve fitting! You have some data, and you want a curve to fit to it. Let's say that the 'growth' function, over time, is something like $f(t)$, where $t=0$ corresponds to when the tree first began to grow, and $t$ is measured in days. Convert your timestamp data to some normalized "day count": what you choose as your starting point is pretty much up to you. One option would be tracking the data for each tree from when the first data was recorded. In your example then, you would get something like 01.01.2000 -> day 0, 08.05.2000 -> day 200ish, 06.12.2006 -> day 2200ish.

Then you can fit your data to the curve $f(t-A)$, where $A$ is the parameter you're fitting to. If you get $A = -500$, for instance, that means the tree began to grow on day $-500$: late 1998.

In practice, you might have more parameters you want in your model, to describe different levels of success for different trees. I don't know much about your trees, but a few possibilities are:

  • Proportional - $f(t) = Bt$
  • Logistic - $f(t) = \frac{D}{1+e^{-Bt+C}}$ (makes sense if the trees 'max out' in height)
  • Hyperbolic - $f(t) = A(\sqrt{x^2+Bx+1}-1)$ (means they start off growing at one rate, but as an adult grow at a different steady rate)

In terms of finding the software to do this, SciPy, Mathematica, MATLAB, and R all have easy to use functions for this kind of general fitting.


Your Answer

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

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