Abstract
Complex systems, such as in brains, markets, and societies, exhibit internal dynamics influenced by external factors. Disentangling delayed external effects from internal dynamics within these systems is often difficult. We propose using a Vector Autoregressive model with eXogenous input (VARX) to capture delayed interactions between internal and external variables. Whereas this model aligns with Granger's statistical formalism for testing "causal relations", the connection between the two is not widely understood. Here, we bridge this gap by providing fundamental equations, user-friendly code, and demonstrations using simulated and real-world data from neuroscience, physiology, sociology, and economics. Our examples illustrate how the model avoids spurious correlation by factoring out external influences from internal dynamics, leading to more parsimonious explanations of these systems. For instance, in neural recordings we find that prolonged response of the brain can be explained as a short exogenous effect, followed by prolonged internal recurrent activity. In recordings of human physiology, we find that the model recovers established effects such as eye movements affecting pupil size and a bidirectional interaction of respiration and heart rate. We also provide methods for enhancing model efficiency, such as L2 regularization for limited data and basis functions to cope with extended delays. Additionally, we analyze model performance under various scenarios where model assumptions are violated. MATLAB, Python, and R code are provided for easy adoption: https://github.com/lcparra/varx.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have