我有一些数据需要执行简单的线性回归。问题是我需要消除异常值,因此我使用cftool
并将其从回归中删除。我有以下代码
cftool(avg_strain_values,avg_stress_values);
当cftool
加载时,标准公式是一个多项式,我必须手动更改为y=ax+b
。我的问题是:有没有办法调用cftool
并自动更改等式?或者每次都必须手动完成?在文档和网络上提到了fit
并且可以做到,但是当我尝试它时,我无法消除异常值。
答案 0 :(得分:1)
没有简单的方法来以编程方式控制cftool
,但也没有理由这样做,因为使用各种拟合/回归函数可以实现相同的目的。
如果在拟合时,您有一个标准,您可以评估哪些点是异常值,您可以使用
为拟合算法指定它们(或标准本身,参见文档)fit(..., 'Exclude', [1,3,7])
在documentation中查看Exclude
的其他选项。
如果您事先不知道哪些点是异常值,您可以使用某种形式的稳健回归(如评论中所述:robustfit
,fit(..., 'Robust', 'Bisquare')
),权重明显异常值更弱。
另请参阅:Robust Regression — Reduce Outlier Effects,Remove Outliers Programmatically。