主要内容

recreg

递归线性回归

描述

recreg递归估计系数(β)及其标准误差的多元线性回归模型的形式y+ε通过使用嵌套或滚动窗口执行连续回归。recreg有OLS、HAC和FGLS估计的选项,以及估计的迭代图。

例子

多项式系数SE= recg (Xy返回回归系数估计值的矩阵多项式系数以及相应的标准误差估计矩阵SE由多元线性回归模型的递归回归yXβ+ε

例子

CoeffTblSETbl= recg (资源描述返回表中的回归系数估计值CoeffTbl,以及表中的标准误差估计SETbl从递归回归到线性模型中的变量表或时间表资源描述

回归中的响应变量是最后一个表变量,所有其他变量都是预测变量。要为回归选择不同的响应变量,请使用ResponseVariable名称-值参数。要选择不同的预测变量,请使用PredictorNames名称-值参数。

例子

___= recreg (___名称=值使用由一个或多个名称-值参数指定的其他选项,使用前面语法中的任何输入-参数组合。recreg返回对应输入参数的输出参数组合。例如,recreg(资源描述,ResponseVariable =“GDP”,拦截= false,估计量=“备受”)从回归模型中排除一个截距项,其中响应变量为变量国内生产总值在表格中资源描述,并利用FGLS估计系数和标准误差。

例子

recreg (___绘制多元线性回归模型中每个系数±2标准误差带的迭代系数估计值。

___= recreg (斧头___中指定的轴上的绘图斧头而不是新数字的轴。的选项斧头可以放在前面语法中任何输入参数组合的前面。

___coeffPlots= recg (___另外返回绘制图形对象的句柄。使用元素coeffPlots在创建后修改图的属性。

例子

全部折叠

检查第二次世界大战前后粮食需求模型中不稳定性的系数估计。在滚动窗口中实现向前和向后递归回归。

加载美国食品消费数据集,其中包含1927年至1962年的年度测量数据,由于二战而缺少数据。

负载Data_Consumption

有关数据的更多详细信息,请输入描述在命令提示符处。

画出级数。

P =数据(:,1);食品价格指数I = Data(:,2);可支配收入指数Q =数据(:,3);食品消费指数图(日期,[P I Q])轴网格包含(“年”) ylabel (“指数”)标题(\bf全系列时间序列图)传说(“价格”“收入”“消费”位置=“东南”

图中包含一个轴对象。标题空白T i m e空白S e r e S空白P l o T空白of空白A l l空白S e e S的轴对象包含3个类型为行的对象。这些对象代表价格、收入、消费。

从1942年到1947年的测量数据缺失,这与二战相对应。

为了检查弹性,对每个系列应用对数变换。

LP = log(P);LI = log(I);LQ = log(Q);

考虑一个模型,其中对数消费是食品价格和收入对数的线性函数。换句话说,

江西 t β 0 + β 1 t + β 2 LP + ε t

ε t 是一个均值为0,标准差为0的高斯随机变量 σ 2

1945年二战结束时的断点指数。忽略缺少数据的年份。

numCoeff = 4;三个预测器和一个截距T =数字(日期(~isnan(P)));%样本量bpIdx = find(日期(~isnan(P)) >= 1945,1) - numCoeff
bpIdx = 12

第12次迭代对应着战争的结束。

使用样本量的1/4滚动窗口绘制递归回归系数估计值。表示出的系数LP只是在相同的数字。

X = [lp li];y = LQ;Varnames = [“Log-price”“Log-income”];Plotvars = [false true true];window = cell (T*1/4);recreg (X, y,窗口=窗口,情节=“组合”PlotVars = PlotVars,...VarNames = VarNames);

图中包含一个轴对象。标题为空白的轴对象包含6个类型为line的对象。这些对象表示Log-price, Log-income。

使用1/3样本量的滚动窗口绘制递归回归系数估计值。

window = cell (T*1/3);recreg (X, y,窗口=窗口,情节=“组合”PlotVars = PlotVars,...VarNames = VarNames);

图中包含一个轴对象。标题为空白的轴对象包含6个类型为line的对象。这些对象表示Log-price, Log-income。

使用样本量1/2大小的滚动窗口绘制递归回归系数估计值。

window = cell (T*1/2);recreg (X, y,窗口=窗口,情节=“组合”PlotVars = PlotVars,...VarNames = VarNames);

图中包含一个轴对象。标题为空白的轴对象包含6个类型为line的对象。这些对象表示Log-price, Log-income。

随着窗口大小的增加,线条显示出较小的波动性,但系数确实表现出不稳定性。

使用嵌套窗口应用递归回归来寻找横跨二战时期的实际GNP解释模型中的不稳定性。

加载Nelson-Plosser数据集。

负载Data_NelsonPlosser

数据集中的时间序列包含从1860年到1970年的年度宏观经济测量数据。有关详细信息、变量列表和描述,请输入描述在命令行中。

有几个系列数据缺失。将样本聚焦到1915年至1970年的测量值。找出1945年(二战结束)对应的指数,作为测试的断点。

Span =(1915 <=日期)&(日期<= 1970);Bp = find(日期(span) == 1945);

考虑多元线性回归模型

GNPR t β 0 + β 1 新闻学会 t + β 2 E t + β 3. 或者说是 t

将模型变量收集到一个表格数组中。在前三列中放置预测器,在最后一列中放置响应。计算模型中的系数数。

Tbl = DataTable(span,[4,5,10,1]);numCoeff =身高(Tbl);

使用递归回归估计系数,并为迭代估计返回单独的图。确定与战争结束相对应的迭代。

recreg(台);

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。该对象表示Const。

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。该节点表示IPI。

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。这个对象表示E。

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。该对象表示WR。

bpIter = bp - numCoeff
b皮特= -25

默认情况下,recreg使用嵌套窗口形成子示例。战争结束(1945年)发生在第27次迭代。

在“老化”期间,所有系数都显示出一些初始的、短暂的不稳定性(参见提示).的情节或者说是似乎稳定,因为这条线相对平坦。然而,情节E新闻学会,截距(常量)表现出不稳定性,特别是在迭代27之后。

返回迭代系数估计值表和标准误差表。

[CoeffTbl,SeTbl] = recreg(Tbl)
CoeffTbl =表4×52Iter1 Iter2 Iter3 Iter4 Iter5 Iter6 Iter7 Iter8 Iter9 Iter10 Iter11 Iter12 Iter14 Iter15 Iter16 Iter17 Iter18 Iter19 Iter20 Iter21 Iter22 Iter23 Iter24 Iter25 Iter26 Iter27 Iter28 Iter29 Iter30 Iter31 Iter32 Iter33 Iter34 Iter35 Iter36 Iter37 Iter38 Iter39 Iter40 Iter41 Iter42 Iter43 Iter44 Iter45 Iter46 Iter47 Iter48 Iter49 Iter50 Iter51 Iter52 _________ _________ _________ _________ _________ _________ _________ _________ ________ _________ _________ _________ _________ __________________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ _________ ________ _________ _________ _________ _________ _________ _________ _________ ________ _________ _________ _________ _________ Const -68.313 -68.159 -69.09 -82.751 -103.08 -110.89 -128.78 -143.35 -145.34 -145.7 -144.99 -144.89 -138.22 -132.97-136.44 -138.5 -137.67 -133.23 -134.23 -138.4 -136.51 -135.89 -137.4 -123.62 -123.76 -133.27 -137.67 -136.66 -133.9 -134.03 -118.43 -100.44 -88.055 -79.962 -74.23 -71.441 -76.452 -78.424 -77.625 -78.071 -77.155 -75.387 -69.307 -63.127 -56.891 -48.067 -41.498 -37.059 -34.289 -34.159 -33.111 ipi -0.19396 -0.26934 -0.23743 1.1147 1.1563 1.4004 1.7091 1.8108 1.9295 1.6962 1.8353 1.989 1.1656 2.2272 1.3415 1.15931.0618 1.1066 1.2453 1.2701 1.7212 2.3317 2.9193 3.0347 3.9503 2.9431 2.9503 2.9536 2.9781 3.1112 3.2635 3.4263 3.6943 3.9185 4.0934 4.2018 4.208 4.3063 e 0.0052645 0.0055309 0.0055981 0.0053891 0.0048281 0.0046665 0.0049113 0.0053202 0.005254 0.0054972 0.0043011 0.0045254 0.0046878 0.0046215 0.0042438 0.0043549 0.0043299 0.0043661 0.0044527 0.0044182 0.0043448 0.00365660.0030707 0.0026066 0.0022932 0.0019903 0.0018696 0.0020991 0.0021159 0.0020759 0.0019813 0.0017761 0.0014596 0.0013216 0.001264 0.0012525 0.0012474 0.0012488 0.0013136 wr -0.1097 -0.52635 -0.62228 0.10675 1.2592 1.7072 1.8568 1.6799 1.6407 2.4802 2.9305 2.7864 2.664 2.7035 2.8985 2.8403 3.0737 3.208 3.2268 3.1978 3.1503 3.2559 3.2607 3.3254 3.4107 3.4009 3.3355 3.3959 3.427 3.7646 3.6554 3.7218 3.73933.8059 3.8214 3.7642 3.6691 3.4004 3.1159 2.866 2.7074 2.6967 2.4962
SeTbl =表4×52Iter1 Iter2 Iter3 Iter4 Iter5 Iter6 Iter7 Iter8 Iter9 Iter10 Iter11 Iter12 Iter14 Iter15 Iter16 Iter17 Iter18 Iter19 Iter20 Iter21 Iter22 Iter23 Iter24 Iter25 Iter26 Iter27 Iter28 Iter29 Iter30 Iter31 Iter32 Iter33 Iter34 Iter35 Iter36 Iter37 Iter38 Iter39 Iter40 Iter41 Iter42 Iter43 Iter44 Iter45 Iter46 Iter47 Iter48 Iter49 Iter50 Iter51 Iter52 _________ __________ __________ ________ _________ _________ _________ _______ _________ _________ _________ _________ ________ ___________________ __________ __________ __________ __________ __________ __________ __________ __________ __________ _________ __________ __________ __________ __________ __________ __________ __________ __________ __________ __________ __________ __________ __________ _________ __________ __________ ________ __________ ________ ________ __________ __________ __________ __________ __________ __________ __________ Const 25.046 17.761 13.542 26.937 23.487 22.49 24.476 23.21 21.624 20.733 19.635 18.80419.415 19.645 16.837 16.147 15.053 14.482 14.056 16.437 15.861 15.51 17.403 20.502 20.579 18.795 18.287 17.856 17.98 18.278 19.066 21.269 21.564 20.02 19.564 19.066 16.675 11.6 11.285 10.99 10.724 10.927 ipi 1.372 0.8095 0.63806 1.3034 1.1015 1.0866 0.9022 0.93004 0.82359 0.89532 0.69814 0.5849 0.50843 0.59812 0.56616 0.48871 0.52933 0.51865 0.49419 0.48475 0.465150.45985 0.46714 0.47995 0.51801 0.5138 0.46896 0.46184 0.4317 0.41892 0.40603 0.39424 0.38492 0.38225 0.3798 0.36581 0.34681 0.24661 0.24761 0.24761 0.24761 0.19106 0.16727 0.16107 e 0.0029773 0.00088806 0.00061649 0.001268 0.0012745 0.0012768 0.0015111 0.0011703 0.0011097 0.001074 0.0010721 0.00086491 0.00080439 0.00069756 0.00059868 0.00054492 0.00064127 0.00061363 0.00056167 0.00067026 0.00065521 0.000661660.00067179 0.00069178 0.00078678 0.00072299 0.00068182 0.00060376 0.00055766 0.0005213 0.00049814 0.00046066 0.00042075 0.000408 0.00037819 0.00037353 0.00037624 0.00037624 0.00037624 0.00037624 0.00037624 0.00037624 0.00037624 0.00037821 wr 4.4923 1.0841 0.69505 1.3781 1.1311 1.0576 1.3167 1.2237 1.0535 0.94646 0.86648 0.73106 0.67509 0.53986 0.48929 0.42646 0.38471 0.39531 0.37585 0.49299 0.48526 0.50132 0.54059 0.2494 0.657640.65499 0.63966 0.62063 0.61069 0.59915 0.56739 0.55232 0.54357 0.53533 0.54476 0.54798 0.54741 0.52804 0.47669 0.44754 0.4222 0.38934 0.38022

如果线性回归模型违反经典线性模型假设,则OLS系数标准误差是不正确的。然而,recreg具有对异方差或自相关创新具有鲁棒性的估计系数和标准误差的选项。

从该分段回归模型中模拟一个具有AR(1)误差的序列,其回归系数在第51时刻发生变化。

y t 5 + 3. x t + u t u t 0 6 u t - 1 + ε t t 1 5 0 y t 5 - x t + u t u t 0 6 u t - 1 + ε t t 5 1 1 0 0

ε t 为均值为0,标准差为0.5的一系列高斯变换。 x t 为均值为1,标准差为0.25的高斯分布。

rng (1);%用于再现性T = 100;muX = 1;sigmaX = 0.25;x = sigmaX*randn(T,1) + muX;Ar = 0.6;σ = 0.5;C = 5;B = [3 -1];y = 0 (T,1);Mdl1 = regARIMA(AR= AR,方差=sigma,截距=c,Beta=b(1)); y(1:T/2) = simulate(Mdl1,T/2,X=x(1:T/2)); Mdl2 = regARIMA(AR=ar,Variance=sigma,Intercept=c,Beta=b(2)); y((T/2 + 1):T) = simulate(Mdl2,T/2,X=x((T/2 + 1):T));

使用OLS估计递归回归系数。

[CoeffOLS,SEOLS] = recreg(x,y,Plot=“独立”);

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。该对象表示Const。

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。这个对象表示x1。

在暂态效应之后,5在拦截估计的置信范围内。在迭代50中有一个不重要但持续的冲击。系数估计显示迭代60后的结构变化。

为了解释自相关的创新,使用OLS估计递归回归系数,但使用neweey - west稳健标准误差。对于估计HAC标准误差,使用二次谱加权方案。

hacOptions。重量=“QS”
hacOptions =带字段的结构:重量:“QS”
[CoeffNW,SENW] = recreg(x,y,Estimator=“肝”选择= hacOptions,...情节=“独立”);

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。该对象表示Const。

图中包含一个轴对象。标题为空白的轴对象包含3个类型为line的对象。这个对象表示x1。

HAC系数估计值与OLS估计值相同。置信界限略有不同,因为标准误差估计器是不同的。

输入参数

全部折叠

预测数据X对于多元线性回归模型,指定为anumObs——- - - - - -numPreds数字矩阵。

每一行代表一个numObs观察结果和每一列表示其中的一个numPreds预测变量。

数据类型:

响应数据y对于多元线性回归模型,指定为anumObs-by-1数值向量。行yX对应。

数据类型:

组合预测器和响应数据的多元线性回归模型,指定为表或时间表与numObs行。每行资源描述是一种观察。

测试返回响应变量,这是中的最后一个变量资源描述在预测变量上,也就是所有其他变量资源描述.要为回归选择不同的响应变量,请使用ResponseVariable名称-值参数。要选择不同的预测变量,请使用PredictorNames要选择的名称-值参数numPreds预测因子。

要绘制的坐标轴,指定为的向量属性所指定的绘图数目的长度相等的情节PlotVars名称-值对参数。

默认情况下,recreg为每个图创建一个单独的图形。

请注意

年代Xy,或资源描述指示缺失的值,和recreg删除至少包含一个的观测值.也就是去除年代Xyrecreg合并变量(X, y),然后它使用列表删除来删除至少包含一个的任何行recreg的任意行资源描述至少包含一个.删除数据中的S减少了样本量,可以创建不规则的时间序列。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:recreg(资源描述,ResponseVariable =“GDP”,拦截= false,估计量=“备受”)从回归模型中排除一个截距项,其中响应变量为变量国内生产总值在表格中资源描述,并利用FGLS估计系数和标准误差。

标志,以包含模型截距,该截距作为此表中的值指定。

价值 描述
真正的 recreg在回归模型中包含一个截距项。numCoeffsnumPreds+ 1。
recreg拟合回归模型时不包括截距。numCoeffsnumPreds

例子:拦截= false

数据类型:逻辑

窗口长度,指定为数值标量。

  • 要使用嵌套窗口计算估计值,请不要指定窗口.在这种情况下,recreg从第一个开始numCoeffs+ 1个观测值,然后在每次迭代中添加一个观测值。迭代次数为numIternumObs- - - - - -numCoeffs

  • 若要使用滚动窗口计算估计值,请指定窗口长度。在这种情况下,recreg在每次迭代中进行一次观察。窗口至少是numCoeffs最多+ 1numObs.迭代次数为numIternumObs- - - - - -窗口+ 1。

例子:窗口= 10

数据类型:

估算方法,在本表中指定为值。

价值 描述
“ols”

普通最小二乘

“肝”

异方差和自相关一致性(HAC)标准误差

“备受”

可行广义最小二乘系数和标准误差

“肝”“备受”调用hac备受的指定的可选名称-值参数选项

例子:估计量= "备受"

数据类型:字符|字符串

hac备受可选的名称-值参数名称和对应的值,指定为结构标量。

使用选项要设置除的任何名称-值参数VarNames拦截显示情节ResponseVariable,PredictorVariables.有关这些选项,请参见相应的recreg名称-值参数。

默认情况下,recreg调用hac备受使用缺省值。如果ols估计量= " "recreg忽略了选项

例子:选择=结构(“ARLags”,2)包括两个滞后的AR创新模型的FGLS估计器。

数据类型:结构体

迭代方向,在此表中指定为值。

价值 描述
“转发”

前向递归将观察窗口从数据的开始移动到结束。

“落后”

向后递归首先颠倒观察的顺序,然后实现正向递归。

例子:=“落后”的方向

数据类型:字符|字符串

图控制系数估计值,在本表中指定为一个值。图显示迭代系数估计值具有±2个标准误差带。

价值 描述
“独立” recreg为每个系数生成单独的数字。
“组合” recreg在一组坐标轴中组合所有的图。
“关闭” recreg关闭所有绘图。

默认值为:

  • “关闭”recreg返回输出参数

  • “独立”否则

例子:情节=了

数据类型:字符|字符串

要绘制的系数的标志,指定为长度的逻辑向量numCoeffs.第一个元素对应于拦截,如果有的话,后面跟着每项的指标numPred预测在X资源描述.默认为真正的(numCoeffs, 1)画出所有的系数。

例子:plotars =[false true true false]绘制四个系数中的第二个和第三个系数。

数据类型:逻辑

绘制系数的变量名,指定为字符串向量或长度字符串的单元格向量numCoeffs

  • 如果拦截= trueVarNames (1)拦截的名称(例如“常量”),VarNames (j+ 1)指定要用于变量的名称X (:,jPredictorVariables (j

  • 如果拦截= falseVarNames (j指定要用于变量的名称X (:,jPredictorVariables (j

默认值是以下选项之一,以“常量”当模型中存在截距时:

  • {x1, x2,…}当你提供输入时Xy

  • Tbl.Properties.VariableNames当您提供输入表或时间表资源描述

例子:VarNames=["Const" "AGE" "BBD"]

数据类型:字符|细胞|字符串

变量资源描述中包含变量名的字符向量的字符串向量或单元格向量Tbl.Properties.VariableNames,或表示名称索引的整数或逻辑向量。所选变量必须为数字。

recreg对所有测试使用相同的指定响应变量。

例子:ResponseVariable =“GDP”

例子:ResponseVariable=[true false false false]ResponseVariable = 1选择第一个表变量作为响应。

数据类型:|逻辑|字符|细胞|字符串

变量资源描述中包含变量名的字符向量的字符串向量或单元格向量Tbl.Properties.VariableNames,或表示名称索引的整数或逻辑向量。所选变量必须为数字。

recreg对所有测试使用相同的指定预测器。

默认情况下,recreg中使用所有变量资源描述属性未指定的ResponseVariable名称-值参数。

例子:PredictorVariables =(“联合国”“CPI”)

例子:PredictorVariables=[false true true false]DataVariables = 3 [2]选择第二个和第三个表变量。

数据类型:|逻辑|字符|细胞|字符串

输出参数

全部折叠

每个子样本回归的系数估计值,作为a返回numCoeffs——- - - - - -numIter数字矩阵。recreg返回多项式系数当你提供输入时Xy

第一行包含截距(如果存在),然后按列顺序的行表示预测系数X资源描述窗口决定了numIter,列数。

每个子样本回归的标准误差估计,返回为numCoeffs——- - - - - -numIter数字矩阵。recreg返回SE当你提供输入时Xy

行顺序和列数对应多项式系数

每个子样本回归的系数估计作为numCoeffs——- - - - - -numIter表格recreg返回CoeffTbl当你提供输入时资源描述

= 1,…,numCoeffs、行CoeffTbl包含估计的系数在回归模型中,它有标签VarNames (.变量j包含迭代的估计j它有标签Iterj

每个子样本回归的标准误差估计,返回为numCoeffs——- - - - - -numCoeffs表中包含系数协方差矩阵估计EstCoeffCovrecreg返回SETbl当你提供输入时资源描述

= 1,…,numCoeffs、行SETbl包含系数的标准误差估计在回归模型中,它有标签VarNames (.变量j包含迭代的估计j它有标签Iterj

绘制图形对象的句柄,作为图形对象的向量返回。coeffPlots包含唯一的地块标识符,可用于查询或修改地块的属性。

coeffPlots的值是否不可用情节名称-值参数为“关闭”

提示

嵌套窗口估计的图通常显示在“老化”期间的波动,在此期间子样本观测的数量仅略大于模型中的系数数量。在这段时间之后,任何进一步的波动都是系数不稳定的证据。系数值的突然变化可以表明结构变化,持续的变化可以表明模型规范错误。有关结构更改测试,请参见cusumtestchowtest

参考文献

[1]恩德斯,沃尔特。应用计量经济学时间序列.霍博肯,新泽西州:约翰·威利父子公司,1995年。

[2]约翰斯顿,j·j·迪纳尔多。计量经济学方法。纽约:麦格劳希尔出版社,1997年。

版本历史

在R2016a中引入

全部展开

另请参阅

功能

对象