One of the most difficult challenges faced in understanding the relationship between time series variables is that it’s not easy to distinguish between the correlation and causation and correlation does not imply causality.

Before moving forward let us see first mathematical definition of Granger Causality(GC) followed by its intuitive explanation.

In other words x is Granger causal for y if x helps predict y at some stage in the future. Often you will have that x Granger causes y and y Granger causes x. This is the situation of feedback system.Now let us see how to carry out the process.1.Firstly we need to ensure that time series say x and y is stationary. If original time series is not stationary then you have to carry out some transformations to make them stationary.2.Then we have to check whether some linear relationship exists between the variables. For that we can regress y on x and its lagged values and check whether coefficients are significant. Once relationship is established then we proceed for checking Granger causality.Our hypothesis is that x Granger causes y.First we regress y only on its lagged values but do not include the lagged values of x. Then we regress y both on its lagged values and lagged values of x. The null hypothesis here is that coefficient of lagged values of x is zero. We use F test to check for the results. First regression is restricted one and other one is unrestricted one. F statistics can be used to check for Granger causality. In python already inbuilt function is there using which it can be easily calculated.then we check for the hypothesis that y Granger causes x. If both x Granger causes y and y Granger causes x then we say feedback system is established.Granger Causality can also be established in multivariable VAR framework. We will dig deeper into this in next section.