recreg
递归线性回归
语法
描述
recreg
递归估计系数(β)及其标准误差的多元线性回归模型的形式y=Xβ+ε通过使用嵌套或滚动窗口执行连续回归。recreg
有OLS、HAC和FGLS估计的选项,以及估计的迭代图。
[
返回表中的回归系数估计值CoeffTbl
,SETbl
= recg (资源描述
)CoeffTbl
,以及表中的标准误差估计SETbl
从递归回归到线性模型中的变量表或时间表资源描述
.
回归中的响应变量是最后一个表变量,所有其他变量都是预测变量。要为回归选择不同的响应变量,请使用ResponseVariable
名称-值参数。要选择不同的预测变量,请使用PredictorNames
名称-值参数。
recreg (___)
绘制多元线性回归模型中每个系数±2标准误差带的迭代系数估计值。
___= recreg (
中指定的轴上的绘图斧头
,___)斧头
而不是新数字的轴。的选项斧头
可以放在前面语法中任何输入参数组合的前面。
[___,
另外返回绘制图形对象的句柄。使用元素coeffPlots
= recg (___)coeffPlots
在创建后修改图的属性。
例子
检查消费模型系数的结构变化
检查第二次世界大战前后粮食需求模型中不稳定性的系数估计。在滚动窗口中实现向前和向后递归回归。
加载美国食品消费数据集,其中包含1927年至1962年的年度测量数据,由于二战而缺少数据。
负载Data_Consumption
有关数据的更多详细信息,请输入描述
在命令提示符处。
画出级数。
P =数据(:,1);食品价格指数I = Data(:,2);可支配收入指数Q =数据(:,3);食品消费指数图(日期,[P I Q])轴紧网格在包含(“年”) ylabel (“指数”)标题(\bf全系列时间序列图)传说(“价格”,“收入”,“消费”位置=“东南”)
从1942年到1947年的测量数据缺失,这与二战相对应。
为了检查弹性,对每个系列应用对数变换。
LP = log(P);LI = log(I);LQ = log(Q);
考虑一个模型,其中对数消费是食品价格和收入对数的线性函数。换句话说,
是一个均值为0,标准差为0的高斯随机变量 .
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);
使用1/3样本量的滚动窗口绘制递归回归系数估计值。
window = cell (T*1/3);recreg (X, y,窗口=窗口,情节=“组合”PlotVars = PlotVars,...VarNames = VarNames);
使用样本量1/2大小的滚动窗口绘制递归回归系数估计值。
window = cell (T*1/2);recreg (X, y,窗口=窗口,情节=“组合”PlotVars = PlotVars,...VarNames = VarNames);
随着窗口大小的增加,线条显示出较小的波动性,但系数确实表现出不稳定性。
检查真实的美国GNP模型的不稳定性
使用嵌套窗口应用递归回归来寻找横跨二战时期的实际GNP解释模型中的不稳定性。
加载Nelson-Plosser数据集。
负载Data_NelsonPlosser
数据集中的时间序列包含从1860年到1970年的年度宏观经济测量数据。有关详细信息、变量列表和描述,请输入描述
在命令行中。
有几个系列数据缺失。将样本聚焦到1915年至1970年的测量值。找出1945年(二战结束)对应的指数,作为测试的断点。
Span =(1915 <=日期)&(日期<= 1970);Bp = find(日期(span) == 1945);
考虑多元线性回归模型
将模型变量收集到一个表格数组中。在前三列中放置预测器,在最后一列中放置响应。计算模型中的系数数。
Tbl = DataTable(span,[4,5,10,1]);numCoeff =身高(Tbl);
使用递归回归估计系数,并为迭代估计返回单独的图。确定与战争结束相对应的迭代。
recreg(台);
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时刻发生变化。
为均值为0,标准差为0.5的一系列高斯变换。 为均值为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=“独立”);
在暂态效应之后,5
在拦截估计的置信范围内。在迭代50中有一个不重要但持续的冲击。系数估计显示迭代60后的结构变化。
为了解释自相关的创新,使用OLS估计递归回归系数,但使用neweey - west稳健标准误差。对于估计HAC标准误差,使用二次谱加权方案。
hacOptions。重量=“QS”
hacOptions =带字段的结构:重量:“QS”
[CoeffNW,SENW] = recreg(x,y,Estimator=“肝”选择= hacOptions,...情节=“独立”);
HAC系数估计值与OLS估计值相同。置信界限略有不同,因为标准误差估计器是不同的。
输入参数
X
- - - - - -预测数据X
数字矩阵
预测数据X对于多元线性回归模型,指定为anumObs
——- - - - - -numPreds
数字矩阵。
每一行代表一个numObs
观察结果和每一列表示其中的一个numPreds
预测变量。
数据类型:双
y
- - - - - -响应数据y
数值向量
响应数据y对于多元线性回归模型,指定为anumObs
-by-1数值向量。行y
和X
对应。
数据类型:双
资源描述
- - - - - -结合预测器和反应数据
表格|时间表
组合预测器和响应数据的多元线性回归模型,指定为表或时间表与numObs
行。每行资源描述
是一种观察。
测试返回响应变量,这是中的最后一个变量资源描述
在预测变量上,也就是所有其他变量资源描述
.要为回归选择不同的响应变量,请使用ResponseVariable
名称-值参数。要选择不同的预测变量,请使用PredictorNames
要选择的名称-值参数numPreds
预测因子。
请注意
南
年代X
,y
,或资源描述
指示缺失的值,和recreg
删除至少包含一个的观测值南
.也就是去除南
年代X
或y
,recreg
合并变量(X, y)
,然后它使用列表删除来删除至少包含一个的任何行南
.recreg
的任意行资源描述
至少包含一个南
.删除南
数据中的S减少了样本量,可以创建不规则的时间序列。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:recreg(资源描述,ResponseVariable =“GDP”,拦截= false,估计量=“备受”)
从回归模型中排除一个截距项,其中响应变量为变量国内生产总值
在表格中资源描述
,并利用FGLS估计系数和标准误差。
拦截
- - - - - -包含拦截的标志
真正的
(默认)|假
标志,以包含模型截距,该截距作为此表中的值指定。
价值 | 描述 |
---|---|
真正的 |
recreg 在回归模型中包含一个截距项。numCoeffs =numPreds + 1。 |
假 |
recreg 拟合回归模型时不包括截距。numCoeffs =numPreds . |
例子:拦截= false
数据类型:逻辑
窗口
- - - - - -窗口长度
数字标量
窗口长度,指定为数值标量。
要使用嵌套窗口计算估计值,请不要指定
窗口
.在这种情况下,recreg
从第一个开始numCoeffs
+ 1个观测值,然后在每次迭代中添加一个观测值。迭代次数为numIter
=numObs
- - - - - -numCoeffs
.若要使用滚动窗口计算估计值,请指定窗口长度。在这种情况下,
recreg
在每次迭代中进行一次观察。窗口
至少是numCoeffs
最多+ 1numObs
.迭代次数为numIter
=numObs
- - - - - -窗口
+ 1。
例子:窗口= 10
数据类型:双
选项
- - - - - -hac
和备受
可选的名称-值参数名称和相应的值
结构标量
hac
和备受
可选的名称-值参数名称和对应的值,指定为结构标量。
使用选项
要设置除的任何名称-值参数VarNames
,拦截
,显示
,情节
,ResponseVariable
,PredictorVariables
.有关这些选项,请参见相应的recreg
名称-值参数。
默认情况下,recreg
调用hac
或备受
使用缺省值。如果ols估计量= " "
,recreg
忽略了选项
.
例子:选择=结构(“ARLags”,2)
包括两个滞后的AR创新模型的FGLS估计器。
数据类型:结构体
方向
- - - - - -迭代方向
“转发”
(默认)|“落后”
|特征向量
迭代方向,在此表中指定为值。
价值 | 描述 |
---|---|
“转发” |
前向递归将观察窗口从数据的开始移动到结束。 |
“落后” |
向后递归首先颠倒观察的顺序,然后实现正向递归。 |
例子:=“落后”的方向
数据类型:字符
|字符串
情节
- - - - - -系数估计小区控制
“独立”
|“组合”
|“关闭”
|特征向量
图控制系数估计值,在本表中指定为一个值。图显示迭代系数估计值具有±2个标准误差带。
价值 | 描述 |
---|---|
“独立” |
recreg 为每个系数生成单独的数字。 |
“组合” |
recreg 在一组坐标轴中组合所有的图。 |
“关闭” |
recreg 关闭所有绘图。 |
默认值为:
“关闭”
当recreg
返回输出参数“独立”
否则
例子:情节=了
数据类型:字符
|字符串
VarNames
- - - - - -标绘系数的变量名
字符串向量|特征向量|字符串的单元格向量|特征向量的单元向量
绘制系数的变量名,指定为字符串向量或长度字符串的单元格向量numCoeffs
:
如果
拦截= true
,VarNames (1)
拦截的名称(例如“常量”
),VarNames (
指定要用于变量的名称j
+ 1)X (:,
或j
)PredictorVariables (
.j
)如果
拦截= false
,VarNames (
指定要用于变量的名称j
)X (:,
或j
)PredictorVariables (
.j
)
默认值是以下选项之一,以“常量”
当模型中存在截距时:
例子:VarNames=["Const" "AGE" "BBD"]
数据类型:字符
|细胞
|字符串
ResponseVariable
- - - - - -变量资源描述
用于响应
第一个变量资源描述
(默认)|字符串向量|特征向量的单元向量|整数向量|逻辑向量
变量资源描述
中包含变量名的字符向量的字符串向量或单元格向量Tbl.Properties.VariableNames
,或表示名称索引的整数或逻辑向量。所选变量必须为数字。
recreg
对所有测试使用相同的指定响应变量。
例子:ResponseVariable =“GDP”
例子:ResponseVariable=[true false false false]
或ResponseVariable = 1
选择第一个表变量作为响应。
数据类型:双
|逻辑
|字符
|细胞
|字符串
PredictorVariables
- - - - - -变量资源描述
用于预测器
字符串向量|特征向量的单元向量|整数向量|逻辑向量
变量资源描述
中包含变量名的字符向量的字符串向量或单元格向量Tbl.Properties.VariableNames
,或表示名称索引的整数或逻辑向量。所选变量必须为数字。
recreg
对所有测试使用相同的指定预测器。
默认情况下,recreg
中使用所有变量资源描述
属性未指定的ResponseVariable
名称-值参数。
例子:PredictorVariables =(“联合国”“CPI”)
例子:PredictorVariables=[false true true false]
或DataVariables = 3 [2]
选择第二个和第三个表变量。
数据类型:双
|逻辑
|字符
|细胞
|字符串
输出参数
CoeffTbl
-各子样本回归的系数估计
表格
每个子样本回归的系数估计作为numCoeffs
——- - - - - -numIter
表格recreg
返回CoeffTbl
当你提供输入时资源描述
.
为我
= 1,…,numCoeffs
、行我
的CoeffTbl
包含估计的系数我
在回归模型中,它有标签VarNames (
.变量我
)j
包含迭代的估计j
它有标签Iter
.j
SETbl
-每个子样本回归的标准误差估计
表格
每个子样本回归的标准误差估计,返回为numCoeffs
——- - - - - -numCoeffs
表中包含系数协方差矩阵估计EstCoeffCov
.recreg
返回SETbl
当你提供输入时资源描述
.
为我
= 1,…,numCoeffs
、行我
的SETbl
包含系数的标准误差估计我
在回归模型中,它有标签VarNames (
.变量我
)j
包含迭代的估计j
它有标签Iter
.j
coeffPlots
-绘制图形对象的句柄
图形对象向量
绘制图形对象的句柄,作为图形对象的向量返回。coeffPlots
包含唯一的地块标识符,可用于查询或修改地块的属性。
coeffPlots
的值是否不可用情节
名称-值参数为“关闭”
.
提示
嵌套窗口估计的图通常显示在“老化”期间的波动,在此期间子样本观测的数量仅略大于模型中的系数数量。在这段时间之后,任何进一步的波动都是系数不稳定的证据。系数值的突然变化可以表明结构变化,持续的变化可以表明模型规范错误。有关结构更改测试,请参见cusumtest
和chowtest
.
参考文献
[1]恩德斯,沃尔特。应用计量经济学时间序列.霍博肯,新泽西州:约翰·威利父子公司,1995年。
[2]约翰斯顿,j·j·迪纳尔多。计量经济学方法。纽约:麦格劳希尔出版社,1997年。
版本历史
在R2016a中引入R2022a:recreg
当您提供一个数据表时,在表中返回估计值
如果你提供一个时间序列数据表资源描述
,recreg
返回以下输出:
在第一个位置,
recreg
返回表格CoeffTbl
包含迭代系数估计多项式系数
.行对应模型系数,变量对应迭代,标记为Iter
对于迭代j
j
.在第二个位置,
recreg
返回一个包含估计迭代系数标准误差的表SE
与尺寸相对应的尺寸CoeffTbl
.
R2022a之前,recreg
当您提供输入数据表时,在输出的不同位置返回数值输出。
从R2022a开始,如果您提供了一个输入数据表,请更新代码以返回第一个到第三个输出位置的所有输出。
[CoeffTbl,CovTbl,coeffPlots] = recreg(Tbl,Name=Value)
如果您请求更多输出,recreg
产生一个错误。
此外,通过使用表索引访问结果。详情请参见访问表中的数据.
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。