Excel中的二次和三次回归

时间:2012-06-01 20:59:34

标签: excel regression

我有以下信息:

  Height    Weight

    170     65
    167     55
    189     85
    175     70
    166     55
    174     55
    169     69
    170     58
    184     84
    161     56
    170     75
    182     68
    167     51
    187     85
    178     62
    173     60
    172     68
    178     55
    175     65
    176     70

我想在Excel中构建二次和三次回归分析。我知道如何通过Excel中的线性回归来做到这一点,但是二次和立方呢?我搜索了很多资源,但找不到任何有用的东西。

3 个答案:

答案 0 :(得分:170)

您需要使用Excel LINEST函数的未记录技巧:

=LINEST(known_y's, [known_x's], [const], [stats])

背景

计算常规线性回归(使用您的数据):

=LINEST(B2:B21,A2:A21)

根据公式返回单个值,线性斜率(m):

enter image description here

您的数据:

enter image description here

是:

enter image description here

未记录的技巧编号1

您还可以使用Excel计算回归,其公式使用与x不同的1指数,例如X 1.2

enter image description here

使用公式:

=LINEST(B2:B21, A2:A21^1.2)

为您提供数据:

enter image description here

是:

enter image description here

您不限于一个指数

Excel的LINEST函数还可以计算多个回归,同时在x上使用不同的指数,例如:

=LINEST(B2:B21,A2:A21^{1,2})
  

注意:如果locale设置为欧洲(十进制符号“,”),则逗号应替换为分号和反斜杠,即=LINEST(B2:B21;A2:A21^{1\2})

现在Excel将同时使用x 1 和x 2 计算回归:

enter image description here

如何实际做到

不可能的棘手部分其他回归值没有明显的方法。为此,您需要:

  • 选择包含公式的单元格:

    enter image description here

  • 将选择左侧2个空格扩展(您需要选择至少3个单元格宽度):

    enter image description here

  • F2

  • Ctrl + Shift + 输入

    enter image description here

现在您将看到3个回归常数:

  y = -0.01777539x^2 + 6.864151123x + -591.3531443

Bonus Chatter

我有一个函数,我想使用一些指数执行回归:

  

y = m×x k + b

但我没有知道指数。所以我更改了LINEST函数来改为使用单元格引用:

=LINEST(B2:B21,A2:A21^F3, true, true)

使用Excel然后输出完整的统计数据(第4个参数为LINEST):

enter image description here

我告诉解算器最大化R 2

enter image description here

它可以找出最佳指数。哪个适合您的数据:

enter image description here

是:

enter image description here

答案 1 :(得分:12)

我知道这个问题有点陈旧,但我认为我会提供一种替代方案,在我看来,这可能会更容易一些。如果您愿意将“临时”列添加到数据集,则可以使用Excel的Analysis ToolPak→数据分析→回归。进行二次或三次回归分析的秘诀是定义输入X范围:

如果您正在进行简单的线性回归,您只需要2列,X& Y.如果你正在做二次方,你需要X_1,X_2和& Y,其中X_1是 x 变量,X_2是 x ^ 2 ;同样,如果你做一个立方体,你需要X_1,X_2,X_3和& Y,其中X_1是 x 变量,X_2是 x ^ 2 ,X_3是 x ^ 3 。注意输入X范围是如何从A1到B22,跨越2列。

Input for Quadratic Regression Analysis in Excel

下图为回归分析的输出。我突出了常见的输出,包括R-Squared值和所有系数。

Coefficients of Quadratic Regression Analysis in Excel

答案 2 :(得分:4)

上一个答案中描述的LINEST函数是要走的路,但是更简单的方法来显示输出的3个系数是另外使用INDEX函数。在一个单元格中,键入:= INDEX(LINEST(B2:B21,A2:A21 ^ {1,2},TRUE,FALSE),1)(顺便说一句,B2:B21和A2:我使用的A21只是相同的值是第一张回答过这个问题的海报...当然,您可以根据您的数据适当更改这些范围)。这给出了X ^ 2系数。在相邻的单元格中,再次键入相同的公式,但将最终的1更改为2 ...这将给出X ^ 1系数。最后,在下一个单元格中,再次键入相同的公式,但将最后一个数字更改为3 ...这将给出常量。我注意到这三个系数非常接近,但与使用图表选项卡下的图形趋势线功能得出的系数不完全相同。另外,我发现如果X和Y数据在列(而不是行)中,LINEST似乎只能工作,在该范围内没有空单元格,所以如果你得到#VALUE错误就要注意这一点。