Data: Multivariate Time Series, Series

  1. Demand of a product
  2. Rainfall data both available at monthly level from 2010-2013.

Approach: I am trying to estimate the effect of rainfall on demand of the product using VAR( Vector Autoregression) model. Demand data has some outliers, like a month of sudden high demand and followed by zero values.

Question: How to treat these outliers (I am working in R), since I already have few data and deleting them is not an option for me.


Why would you do VAR on product demand and rainfall? VAR assumes that the impact goes both ways, and I find it unusual to assume that demand for the product causes rainfall. It's not entire impossible, of course. After all our farming impacts weather according to global warming alarmists. However, me thinks in your case it's not what you are trying to say.

That's why I'd start with ARIMAX models, here's MATLAB example. In R there's astsa package with similar functionality. In ARIMAX X stands for the exogenous time series, in your example it would rainfall. Your dependent variable would be the demand. This is a univariate set up, much simpler and makes more sense, in my opinion.

The things you have to be aware of is the causality issues. It's often very difficult to establish causality. What if your product demand is not driven by rainfall, but by something else, which is linked to the annual cyclicality, which in turn is correlated with a rainfall? So, the fact that betas are significant doesn't automatically mean that rainfall causes or impacts the demand.

There are statistical methods for testing causality in the sense of Granger, for instance.

However, I would rely less on stats and more on your underlying theory or a domain knowledge. Let's say we're talking about umbrellas. Clearly, one would expect demand to depend on rainfall.


You could always try an estimator that is robust to outlying values, such as this one:

Muler & Yohai (2013): Robust estimation for vector autoregressive models

From a cursory Google search, it does seem that you might have to code this up yourself. Regardless, the literature discussion in the first two sections might help you understand the issues involved.


You can include dummy variables for the outliers, if they are caused by special events in the demand for the product. The dummy take the value of 1 on the outliers, and zero otherwise.

  • $\begingroup$ but that 'solution' supposes that the index of the outliers are known. $\endgroup$ – user603 Jan 19 '14 at 11:17
  • $\begingroup$ Yes I suppose you'd have to identify them first. Is this a problem? $\endgroup$ – fredrikhs Jan 19 '14 at 17:33

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.