如何使用vgxvarx在matlab中运行这个简单的VAR(VARX?)模型?

如何使用vgxvarx在matlab中运行这个简单的VAR(VARX?)模型?,matlab,Matlab,基本上,我想运行一个具有线性时间趋势和常数的VAR模型(双变量)。也就是说,我要估计一个形式的方程(请原谅糟糕的符号,但我相信这里没有mathjax,我觉得方程比文字更容易) 其中,e是错误项(白噪声),g是“gammas”,即时间趋势上的常数,c是常数,{t-1}项是滞后项,它们相乘的矩阵是滞后项上的系数 我的问题,或者至少是我似乎不明白的,是如何实现[g^x g^y]*t术语。这是因为,如果我指定t作为时间序列的一部分,vgxvarx,那么t的滞后项将被包括在内,这不是我想要的。然而,如果我

基本上,我想运行一个具有线性时间趋势和常数的VAR模型(双变量)。也就是说,我要估计一个形式的方程(请原谅糟糕的符号,但我相信这里没有mathjax,我觉得方程比文字更容易)

其中,
e
是错误项(白噪声),
g
是“gammas”,即时间趋势上的常数,
c
是常数,
{t-1}
项是滞后项,它们相乘的矩阵是滞后项上的系数

我的问题,或者至少是我似乎不明白的,是如何实现
[g^x g^y]*t
术语。这是因为,如果我指定
t
作为时间序列的一部分,vgxvarx,那么
t
的滞后项将被包括在内,这不是我想要的。然而,如果我将
t
作为外部数据,那么matlab会给我一个(1x1)系数矩阵,
b
。但是,我正在寻找系数的(2x1)向量

也就是说,matlab似乎将外部数据实现为
X_t*b
,其中
X_t
是(nxr),而
b
是大小为
r
的回归系数向量

我意识到我可以使用
mvregresse
来估计这个等式,我已经这样做了。然而,我很好奇,是否有可能用vgxvarx来估计方程

多谢各位

编辑:也许可以稍微详细说明一下我的问题:我希望估算的规范有
[g^x g^y]*t
,其中
g^x
g^y
是我需要估算的系数,
y
,它只是当前时间段,是一个输入(回归器)。然而,当给出vgxvarx的外部数据时,Matlab会估计
X_t*b
,这给我带来了麻烦(首先,我需要有
X\u t
至少有两个维度,但是
t
在规范中是一维的。即使我说OK,让
X\u t
是二维的,
b
是一维的,当我需要一个(2 X 1)系数向量…)

编辑2:一些有用的链接:

3-37有一个我发现有点类似的例子。我将把一些相关代码放在下面:

        tcell = cell(1000,1); % Time as exogenous input
        for i=1:1000
              tcell{i} = [i;0];
        end
正如代码片段所示,它们包含“作为外部输入的时间”,但同样是二维的,这不是我想要的

编辑3:我没有尝试重新计算方程尝试在没有
*t
项的情况下编写它。也许这就是解决方案。如果是这样,我不需要计算出数学,但请告诉我这是否是使用vgxvarx估算方程的唯一(或唯一可行的方法)

这应该有帮助:

在坚果壳里

EstY = [yourData];   % In-sample responses
estX = [eXogenous];  % In-sample exogenous
n = size(EstY,2);    % num. of Series 

% **** MAYBE THIS IS WHAT YOU ARE LOOKING FOR ****

EstExpandX = kron(estX,eye(n));
EstCellX = mat2cell(EstExpandX,n*ones(estT,1));
nX = size(EstExpandX,2);

% *******************************


% Estimate the model

 Mdl = vgxset('n',n,'nAR',4,'nX',nX,'Constant',true);


 EstMdl = vgxvarx(Mdl,EstY,EstCellX);

 vgxdisp(EstMdl)

我不熟悉Matlab中的
vgxvarx
函数,但不需要在方程中包含t。也就是说,2g参数本身就是漂移项,因为它们表示每个时间步要向x和y加/减多少。还要注意,包括漂移项和2x2矩阵P表示您希望一个没有整体趋势的平稳模型。如果你更喜欢只包含漂移/偏差项的随机游走VAR,那么你需要包括向量g,但将P设置为单位矩阵I。虽然g参数是常数,也就是说,它们不随时间变化?它们仍然是漂移项吗?因为没有t,它们基本上是第二个相加项nstant…?是的,g元素是常数,它们与c中的元素是不可识别的。此外,正如我所提到的,包含对角元素<| 1 |的P矩阵将是平稳的(均值回复),因此不会有任何漂移/偏差。好的,非常感谢。我非常感谢。
EstY = [yourData];   % In-sample responses
estX = [eXogenous];  % In-sample exogenous
n = size(EstY,2);    % num. of Series 

% **** MAYBE THIS IS WHAT YOU ARE LOOKING FOR ****

EstExpandX = kron(estX,eye(n));
EstCellX = mat2cell(EstExpandX,n*ones(estT,1));
nX = size(EstExpandX,2);

% *******************************


% Estimate the model

 Mdl = vgxset('n',n,'nAR',4,'nX',nX,'Constant',true);


 EstMdl = vgxvarx(Mdl,EstY,EstCellX);

 vgxdisp(EstMdl)