如何在 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 中执行其他常见任务:

VBA:如何对值列表进行分类
VBA:如何计算范围的标准差
VBA:如何计算加权平均值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注