0

我有以下向量:

x = [0.0069    0.0052    0.0034    0.0024    0.0001   -0.0013   -0.0003 ...
   -0.0026   -0.0040   -0.0031   -0.0034   -0.0017   -0.0013   -0.0017 ...
   -0.0010   -0.0019   -0.0015   -0.0018   -0.0031   -0.0020   -0.0008 ...
    0.0007    0.0031    0.0036    0.0060]

y = [0.0069    0.0061    0.0044    0.0031    0.0012   -0.0016   -0.0027 ...
   -0.0032   -0.0033   -0.0042   -0.0031   -0.0019   -0.0021   -0.0013 ...
   -0.0007   -0.0021   -0.0020   -0.0011   -0.0028   -0.0033   -0.0011 ...
    0.0018    0.0027    0.0038    0.0051]

我正在使用稳健拟合以获得y=f(x)=m*x+p最适合 y 与 x 的线性函数,忽略可能的异常值:

[b,stats] = robustfit(x,y)

我得到一个斜坡m = b(2) = 1.0402 +/- 0.0559

和一个 y 截距p = b(1) = 5.1496e-06 +/- 1.6907e-04

不确定性是我从中得到的值stats.se,根据手册,它们是系数估计的“标准”误差。但是正如您所见,y 截距的不确定性太大,这似乎没有任何意义(如果我们得到的不确定性不可靠,那么使用稳健拟合有什么意义?)。任何有关改进这一点的帮助将不胜感激!

非常感谢您!

4

1 回答 1

1

y 截距的标准误差相对于 y 截距本身很大,但相对于该拟合中的 y 数据仍然非常小。您可以从统计上推断出,由 给出的值robustfit优于零的概率非常低。这不是稳健回归的弱点 - 这是您的数据似乎大致通过原点的事实。您可以通过绘制它们来查看标准误差有多小:

scatter(x,y)
hold on
axis equal
grid on
plot(x, m             *x + p            )
plot(x, m             *x + p+stats.se(1),'m--')
plot(x,(m+stats.se(2))*x + p            ,'c--')
plot(x, m             *x + p-stats.se(1),'m--')
plot(x,(m-stats.se(2))*x + p            ,'c--')
legend('Raw data','y=m*x+p','y=m*x+p±stats.se(1)','y=(m±stats.se(2))*x+p','Location','best')

稳健拟合 ± 标准误差

请注意,这些标准误差不是置信区间 - 该图仅说明了它们的大小。

对于您提供的数据,我认为如果不改进数据,就没有有意义地改进这种拟合的空间。事实上,如果没有对基础数据来源的具体了解,我会假设使用 OLS 回归的拟合与稳健回归一样可能是线性关系的最佳估计。

于 2015-12-22T13:46:15.983 回答