excel做预测的方法集合

news/2024/7/21 6:59:05 标签: excel

一. LINEST函数

首先,一元线性回归的方程:

y = a + bx

相应的,多元线性回归方程式:

y = a + b1x1 + b2x2 + … + bnxn

这里:

  • y - 因变量即预测值
  • x - 自变量
  • a - 截距
  • b - 斜率

LINEST的可以返回回归方程的 截距(a) 和 斜率(b和其他回归统计值。

(1)LINEST 函数语法

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

  • known_y's (必须) 因变量,单行/单列
  • known_x's (必须) 自变量,单行/单列
  • const(可选) :
    • TRUE[默认]:正常计算截距 a
    • FALSE:强制截距 a = 0,此时回归方程 y = bx
  • stats(可选) :
    • TRUE:返回统计值
    • FALSE[默认]:不返回统计值,只返回斜率和截距
注意 LINEST 函数返回值为数组,需要使用数组三键  CTRL + SHIFT + ENTER
使用SLOPE得到的斜率结果与LINEST 函数是一样的

(2)LINEST 返回的回归统计值

当LINEST函数参数 stats = TRUE,此时返回值包含统计值:

如果回归模型为多元线性方程: 

LINEST函数返回值顺序:

最后三行,从第三列开始返回值为#NA,可以通过 IFERROR 函数进行嵌套以消除

二. LINEST 使用举例

(1)一元线性回归: 

【例1】广告投入与雨伞的销量

这里:

  • Advertising 是自变量 x (B2:B13),Umbrellas sold 是因变量 y (C2:C13)
  • 选中单元格 E2:F2 输入 = LINEST(C2:C13, B2:B13)CTRL + SHIFT + ENTER
  • 这里 0.526 是斜率,-4.994 是截距
  • 回归方程为: y=−4.994+0.526∗x
  • 预测:如果投入广告为 $50,预测雨伞的销量为:

-4.994 + 0.526*50 = 21.3

a)通过函数获取回归方程斜率

=SLOPE(C2:C13,B2:B13)

=INDEX(LINEST(C2:C13,B2:B13),1)

LINEST (C2:C13,B2:B13) 返回值为 1 行 2 列的数组

b)通过函数获取回归方程截距

=INTERCEPT(C2:C13,B2:B13)

=INDEX(LINEST(C2:C13,B2:B13),2)

函数对比:

(2)2. 多元线性回归: 

【例2】广告投入,下雨量与雨伞的销量

如果存在两个或更多的自变量 ,�1,�2... ,那么这些自变量必须位于相邻列,整体作为 LINEST 函数 的参数 known_x's .

注意,对于多元线性回归, LINEST函数以逆序的形式返回的 「斜率」,从右往左分别为 

对于例2:

  • Rainfall 是自变量 X1 (B2:B13),Advertising 是自变量 X2 (C2:C13),Umbrellas sold 是因变量 y (D2:D13)。
  • 选中单元格 F2:H2 输入 = LINEST(D2:D13, B2:C13)CTRL + SHIFT + ENTER
  • 这里 0.309 是斜率 b2 ,0.186 是斜率 b1 ,-10.739是截距
  • 回归方程为: y=−10.739+0.186x1+0.309x2
  • 预测:如果投入广告为 $50,当月平均降雨量为 100 mm,预测雨伞的销量为:-10.739 + 0.186 * 100 + 0.309 *50 = 23.31

(3)使用LINEST 函数进行一元线性回归预测

在一元线性回归的应用中,LINEST 除了可以直接返回 斜率 b 以及截距 a 之外,通过结合函数SUM / SUMPRODUCT 可以实现给定自变量 (X) 预测因变量 (y)。

回到例1, 当10月(Oct) 广告支出为 $50,此时预测雨伞销量为:

= SUM(LINEST(C2:C10, B2:B10)*{50,1})

实际应用时,对于给定的自变量(x) ,一般放在单元格中,同时相邻单元格输入 1。

例如,下图 E2 输入自变量 x,F2 输入常量 1,单元格 G2 代表计算的预测值 y,通过:

  • SUMPRODUCT (使用 ENTER

= SUMPRODUCT(LINEST(C2:C10, B2:B10)*(E2:F2))

  • SUM(使用 CTRL + SHIFT + ENTER

= SUM(LINEST(C2:C10, B2:B10)*(E2:F2))

(4) 使用LINEST 函数进行多元线性回归预测

同样在多元线性回归的应用中,LINEST 也可以结合函数SUM / SUMPRODUCT 可以实现给定多个自变量 ( X1,X2... ) 预测因变量 (y)。

回到例2, 当广告支出为 $50 ( X2 ),下雨量为100 ( X1),此时预测雨伞的销量为:

= SUM(LINEST(D2:D10, B2:C10)*{50,100,1})

注意,对于多元线性回归, LINEST函数以逆序的形式返回的 「斜率」,从右往左分别为   。因此在如上函数中常数数组顺序为{50,100,1} 分别代表

实际应用时,对于给定的多个自变量(x) ,放在相邻单元格中,同时最后单元格输入 1。

例如,下图 F2 输入自变量 X2 ,G2 输入自变量 X1 ,H2 输入常量 1,单元格 I2 代表计算的预测值 y,通过:

  • SUMPRODUCT (使用 ENTER

= SUMPRODUCT(LINEST(C2:C10, B2:B10)(F2:H2))

  • SUM (使用 CTRL + SHIFT + ENTER

= SUM(LINEST(C2:C10, B2:B10)(F2:H2))

(5)使用LINEST 进行线性回归的统计值

前面关于LINEST函数的语法中,只要参数 stats = TRUE 函数会返回回归统计值。

对于例2, 若要返回回归统计值:

= LINEST(D2:D13, B2:C13, TRUE, TRUE)

这里列 B 和列 C 分别代表两个自变量,因此选择 3 行(2个斜率一个截距) 5 列的区域 [F2:H6],同时输入如上公式

对于LINEST返回值包含 #NA 错误,可以使用嵌套 IFERROR 函数,如下:  = IFERROR(LINEST(D2:D13, B2:C13, TRUE, TRUE), "")

下图解释了LINEST函数返回统计值的含义:

简单介绍除斜率和截距外的其他返回值:

三. 5 个关于LINEST函数的知识点

四. LINEST 函数报错处理

  1. LINEST 返回值只有斜率值,此时应检查公式是否为数组公式输,即是否使用 CTRL + SHIFT + ENTER 输入
  2. REF!错误,检查参数 known_x's 和参数 known_y's 是否大小一致
  3. VALUE 错误
  4. 检查 参数 known_x's 和参数 known_y's 是否包含空单元格,文本值,文本型数值
  5. 检查参数 const 或 stat 输入值非 FALSE / TRUE

http://www.niftyadmin.cn/n/5249187.html

相关文章

Ubuntu系统使用快速入门实践(七)——软件安装与使用(3)

Ubuntu系统使用快速入门实践系列文章 下面是Ubuntu系统使用系列文章的总链接,本人发表这个系列的文章链接均收录于此 Ubuntu系统使用快速入门实践系列文章总链接 下面是专栏地址: Ubuntu系统使用快速入门实践系列文章专栏 文章目录 Ubuntu系统使用快速…

response应用及重定向和request转发

请求和转发: response说明一、response文件下载二、response验证码实现1.前置知识:2.具体实现:3.知识总结 三、response重定向四、request转发五、重定向和转发的区别 response说明 response是指HttpServletResponse,该响应有很多的应用&…

如何将腾讯混元大模型AI接入自己的项目里(中国版本ChatGPT)

如何将腾讯混元大模型AI接入自己的项目里 一、腾讯混元大模型API二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、腾讯混元大模型API 基于腾讯混元大模型AI的智能文本对话AI机器人…

tidb安装 centos7单机集群

安装 [rootlocalhost ~]# curl --proto https --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh [rootlocalhost ~]# source .bash_profile [rootlocalhost ~]# which tiup [rootlocalhost ~]# tiup playground v6.1.0 --db 2 --pd 3 --kv 3 --host 192.168.1…

爬虫 selenium语法 (八)

目录 一、为什么使用selenium 二、selenium语法——元素定位 1.根据 id 找到对象 2.根据标签属性的属性值找到对象 3.根据Xpath语句获取对象 4.根据标签名获取对象 5.使用bs语法获取对象 6.通过链接文本获取对象 三、selenium语法——访问元素信息 1.获取属性的属性值…

1、关于前端js-ajax绕过

1、Ajax知识 、js--Ajax 传统请求跟js--Ajax请求的差别 在实例中用的上js-ajax的有 表单验证: 在用户填写表单时,可以使用 Ajax 在不刷新页面的情况下验证表单字段,并提供即时反馈。 实时搜索: 在搜索框中输入内容时&#xff0…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(完整版)

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的…

WPF(Windows Presentation Foundation)的 ToolBar控件

WPF(Windows Presentation Foundation)的 ToolBar 是一种用于创建工具栏的控件。 工具栏通常位于应用程序窗口的顶部或侧边,并提供了一组常用的工具按钮或命令,用于执行特定的操作或访问特定的功能。 ToolBar 控件是 WPF 中的一个…