如何在 vba 中使用 linest 函数(附示例)
您可以使用 VBA 中的LinEst方法来拟合线性回归模型。
该函数使用以下基本语法:
LinEst(Arg1, Arg2, Arg3, Arg4)
金子:
- Arg1 :y 值集
- Arg2 :值x的集合
- Arg3(可选) :TRUE = 正常计算拦截,FALSE = 强制拦截为零
- Arg4(可选) :TRUE = 计算附加回归统计数据,FALSE = 仅计算系数
以下示例演示如何使用LinEst方法在 VBA 中实际拟合回归模型。
示例:如何在 VBA 中使用 LinEst 函数
假设我们有以下数据集,其中包含预测变量 (x) 和响应变量 (y):
我们可以创建以下宏,使用LinEst方法来拟合此数据集的简单线性回归模型:
Sub UseLinEst() Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 ")) End Sub
当我们运行这个宏时,我们会收到以下输出:
结果值代表回归模型的系数:
- β 0的系数为3.52169 。
- β1的系数为0.693717 。
使用这些值,我们可以写出这个简单回归模型的方程:
y = 3.52169 + 0.693717(x)
我们将此解释为预测变量 x 每增加 1 个单位,响应变量 y 平均增加0.693717 。
我们将原始术语解释为当 x 为零时,y 的平均值为3.52169 。
如果我们想使用LinEst方法来生成额外的回归统计数据,我们可以使用以下语法:
Sub UseLinEst() Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True) End Sub
当我们运行这个宏时,我们会收到以下输出:
以下屏幕截图提供了结果中每个值的解释:
通过向LinEst方法的最后一个参数提供True ,我们可以计算几个附加的回归统计数据。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: