知识库 > 数学方法 > 时间序列分析 > 协整分析

Granger因果检验    

  • Granger因果关系检验是研究两个变量是否存在因果关系的常用方法。因果性检验假定了有关x和y每一变量预测的信息全部包含在这些变量的时间序列中,检验构造的回归模型为:


    式中: 分别为时间序列,分别为白噪声,并假设它们之间不相关,分别为滞后阶数,分别为系数。
    两个回归模型的原假设是:如果 在总体上显著不为0,而在总体上显著等于0,那么可认为存在x到y的单向因果,即x是引起y变化的原因,反之,可认为存在y到x的单向因果,即 y是引起x变化的原因。如果在总体上都显著不为0,那么可认为y,x存在双向因果关系。
    怎么检验呢?再增加一个模型:

    原假设:
    我们可以构造统计量


    定义:Times_Granger(Y:Array,X:Array;Q:Integer,Alpha:Real):Array
    说明:Granger因果检验,原假设:X不是Y的Granger原因,输出检验的F统计量,P值,以及Hypothesis值,Hypothesis为1表示接受原假设,0表示拒绝原假设
    参数:
    Y:被解释变量,为一维数组类型
    X:解释变量,为一维数组类型
    Q:滞后阶数,为整数类型
    Alpha:显著性水平,为实数类型,一般在0-1之间



    定义:Times_GrangerCausality(Y:Array, Q:Integer):Array
    说明:进行多元时间序列的Granger因果分析,原假设:输出结果的第二列不是第一列的Granger原因
    参数:
    Y:多元时间序列数据,二维数组,每行为一时间,每列为一指标
    Q:滞后阶数,为整数类型
    输出结果:
    第["result"]列 :Granger因变量,结果
    第["cause"]列 :Granger自变量,原因
    第["F-Stat"]列 :F统计量
    第["P-Value"]列:F统计量的P值

    只说明该函数的用法,不考虑实际背景应用,我们继续使用招商银行,浦发银行的收盘价数据来做Granger因果检验。
    return Times_GrangerCausality(close1|close2,2);
    结果:
    array(("result":0,"cause":1,"F-Stat":123.8121,"P-Value":0.00),
    ("result":1,"cause":0,"F-Stat":1.5181,"P-Value":0.2201))
    1是0的Granger原因,0不是1的Granger原因。即浦发银行是招商银行股价波动的原因。