Stata中线性回归中稳健标准误差的MATLAB等效命令是什么(例如reg y x, robust
)?
我猜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和鲁棒标准误差之间的关系?
答案 0 :(得分:3)
正如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将常量/截距放在顶部而不是底部(如Stata)。或者你可以使用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