MATLAB在Stata中使用的稳健SE的等效命令
什么是Stata中线性回归中稳健标准误差的MATLAB等效命令(例如reg y x, robust
)?MATLAB在Stata中使用的稳健SE的等效命令
我想HAC可能是答案(http://www.mathworks.com/help/econ/hac.html)。
任何人都可以展示一个简单的MATLAB例子,它可以产生与下面列出的Stata代码相同的结果。
webuse iris, clear
reg seplen sepwid
reg seplen sepwid, r
在MATLAB中,我发现robustfit(http://www.mathworks.com/help/stats/robustfit.html),但它不应该是等效的命令,因为它会影响估计的β值的价值,什么是robustfit和稳健标准误差之间的关系?
正如Nick Cox在评论中所述,您不会使用robustfit。相反,您将使用hac分别评估可靠的标准错误,如下面的一小段代码。系数估计值使用fitlm命令找到。
% Load/define data
load fisheriris;
sepwid = meas(:,2);
seplen = meas(:,1);
% Estimates
fit = fitlm(sepwid,seplen);
[~,SE,coef] = hac(fit,'type','HC','weights','HC1','display','off');
% Output non-robust
fit.Coefficients(:,1:2)
% Output Robust
[coef SE]
注意MATLAB放在顶部的固定/拦截,而不是在底部(如塔塔)。或者,您可以使用Oleg Komarov(*)的regstats2,这会给你p值等。
% Estimates
fit2 = regstats2(seplen,sepwid,'linear','all');
% Output
[fit2.beta fit2.hc1.se]
(*)http://www.mathworks.com/matlabcentral/fileexchange/26169-regstats2
很酷的答案!但我注意到“fitlm”和“hac”仅在2013版本的matlab中引入,如果我使用以前版本的matlab(R2010a),我想我可以使用“regress”替换fitlm,该命令取代hac,是否可用? – johnsonzhj
答复已更新。希望这适合您的需求。 – harre
注意,它的工作原理!我如何在没有更正regstats2的情况下获得SE? – johnsonzhj
乐百氏(耐)回归,具有替代最小二乘法,是无关回归稳健标准误差。 –