1
$\begingroup$

I'm working with vegetation data (NDVI collected from MODIS) that is collected at 16-day intervals. I'm doing a time series analysis on a particular site to see how it changes over time. I've already lagged the data once, so, as I'm thinking of it, my data now shows the change in NDVI between each interval. Here's the plot for that: enter image description here

There is still seasonality, as can be seen with the ACF:

Plot of the ACF after data has been lagged once

I'd like to try and lag the data to remove the seasonality. Since this is vegetation data, I know that the length of a season is 365 days. However, my data is collected at 16 day intervals, and 16 doesn't divide evenly into 365 (365/16 = 22.8125). This means that I know that my season length (in terms of the data that I have) is 22.8125. However, I can't lag my data by 22.8125. If I were to just round and lag the data by 23, then it would probably work at first but become less effective as the number of data points increases. Is there any way that I can get around this and remove the seasonality?

$\endgroup$

1 Answer 1

1
$\begingroup$

One thing you could consider if working in R is converting your differenced (you call it lagged) NDVI series to an msts class instead of a ts class.

The msts class is available in the forecast package. Unlike the ts class, it supports multiple seasonality and is flexible enough to handle non-integer frequencies. See https://robjhyndman.com/hyndsight/seasonal-periods/ for details.

The forecast package also comes with a function called tbats which would enable you to simultaneously estimate the local trend in your (non-differenced) NDVI series and the seasonality. See here for the function documentation: https://www.rdocumentation.org/packages/forecast/versions/8.4/topics/tbats. This post is also useful: How to interpret TBATS model results and model diagnostics as is this: https://robjhyndman.com/hyndsight/forecasting-weekly-data/.

$\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.