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。
我有一组数据,其中包含 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。