I would like to perform a Granger Causality test on time series data using Python Pandas and I have two questions.
(1) I have tried using the pandas.stats.var
package, but that seems to be deprecated. Are there any other recommended options?
(2) I'm having difficulty interpreting the output of the VAR.granger_causality()
function in the pandas.stats.var
package. The only reference I could find is a comment in the source code that says:
Returns the f-stats and p-values from the Granger Causality Test.
If the data consists of columns x1, x2, x3, then we perform the
following regressions:
x1 ~ L(x2, x3)
x1 ~ L(x1, x3)
x1 ~ L(x1, x2)
The f-stats of these results are placed in the 'x1' column of the
returned DataFrame. We then repeat for x2, x3.
Returns
-------
Dict, where 'f-stat' returns the DataFrame containing the f-stats,
and 'p-value' returns the DataFrame containing the corresponding
p-values of the f-stats.
For example, the output of a trial run is shown below:
p-value:
C B A
A 0.472122 0.798261 0.412984
B 0.327602 0.783978 0.494436
C 0.071369 0.385844 0.688292
f-stat:
C B A
A 0.524075 0.065955 0.680298
B 0.975334 0.075878 0.473030
C 3.378231 0.763898 0.162619
I understand that each cell in the p-value table corresponds to a cell in the f-stat table, but I do not understand what the cells in the f-stat table refer to. For example, what does the value 0.52 in column C, row A mean?
The Granger causality test is a statistical hypothesis test for determining whether one time series is useful for forecasting another. If probability value is less than any level, then the hypothesis would be rejected at that level.
Granger causality is a way to investigate causality between two variables in a time series. The method is a probabilistic account of causality; it uses empirical data sets to find patterns of correlation. Causality is closely related to the idea of cause-and-effect, although it isn't exactly the same.
Toda-Yamamoto (TY) Causality The cointegration test verifies the existence of long-term equilibrium relationships between variables. If there is a cointegration relationship, a long run equilibrium relationship or ECM is applied.
If P-value is less than 5% (or 0.05), then we can reject the Null hypothesis (H0), and can conclude that Xt granger causes Yt.
So where ever your P-value is less than 0.05, you can consider those features.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With