MATLAB 加权多元回归

MATLAB Weighted Multiple Regression

我有一组数据,其中包含 821 个观测值,每个观测值有 20 个测量值。我想在 MATLAB 中使用多元线性回归对一组单一因变量进行回归。但是,我也想根据自己的计算在回归中对每个观察值进行不同的加权。例如,我想给第一个观察值赋予 1 的权重,给第二个观察值赋予 1.6 的权重,这样理想情况下会将回归拉向权重更大的第二个观察值。

在 MATLAB 中可以进行这样的计算吗?如果是这样,什么函数最适合执行此类计算?

感谢您的帮助!

借助 Statistics Toolbox,您可以使用 fitlm 创建线性回归模型,应用 Weights 选项提供您的权重。

注意,在旧版本的 MATLAB 中,您需要使用 LinearModel.fit 而不是 fitlm,但它们做同样的事情。

您实际上不需要 统计工具箱 来执行此操作。内置函数 lscov 会做你想做的一切。

[b,bse] = lscov(X,y,w)

将提供加权 OLS 估计及其标准误差。如果您想要回归中的常量,则在 X 中包含一列 1。