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.hqwc.cn/news/258738.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DouyinAPI接口开发系列丨商品详情数据丨视频详情数据

电商API就是各大电商平台提供给开发者访问平台数据的接口。目前,主流电商平台如淘宝、天猫、京东、苏宁等都有自己的API。 二、电商API的应用价值 1.直接对接原始数据源,数据提取更加准确和完整。 2.查询速度更快,可以快速响应用户请求实现…

麒麟系统系统添加路由

系统添加路由 一、路由的解释: 路由工作在OSI参考模型第三层——网络层的数据包转发设备(TCP/IP)路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据…

Linux基础——进程初识(一)

1. 硬件 ①冯诺依曼体系 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。其详细结构如下图所示 在这里有几点要说明 1. 这里的储存器实际上指的是内存 2. 输入设备与输出设备都属于外设 常见的输入设备…

uniapp实战 —— 轮播图【数字下标】(含组件封装,点击图片放大全屏预览)

组件封装 src\components\SUI_Swiper2.vue <script setup lang"ts"> import { ref } from vue const props defineProps({config: Object, })const activeIndex ref(0) const change: UniHelper.SwiperOnChange (e) > {activeIndex.value e.detail.cur…

JS加密/解密之HOOK实战2

上一篇文章介绍了HOOK常规的应用场景&#xff0c;这篇我们讲一下HOOK其他原生函数。又是一个新的其他思路 很多时候&#xff0c;当我们想要某些网站的请求参数的时候&#xff0c;因为某些加密导致了获取起来很复杂。 这时候hook就十分方便了 源代码 var _JSON_Parse JSON.…

在Pytorch中使用Tensorboard可视化训练过程

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 本节课我们来讲一下如何在pytouch当中去使用我们的tensorboard 对我们的训练过程进行一个可视化 左边有一个visualizing models data and training with tensorboard 主要是这么一个教程 那么这里…

Java多线程并发(二)

四种线程池 Java 里面线程池的顶级接口是 Executor&#xff0c;但是严格意义上讲 Executor 并不是一个线程池&#xff0c;而只是一个执行线程的工具。真正的线程池接口是 ExecutorService。 newCachedThreadPool 创建一个可根据需要创建新线程的线程池&#xff0c;但是在以前…

麒麟系统进入救援模式或者是crtl D界面排查方法

如出现以下图片的情况可能需要修复磁盘&#xff1a; V10GFB-desktop&#xff1a; 开机后发现一致卡在此界面&#xff1a; 按esc键后有以下报错信息说明在/etc/fstab里面编写的外挂磁盘的命令有问题 解决方法如下&#xff1a;进入单用户模式对/etc/fstab进行修改&#xff1a; …

Opencv制作电子签名(涉及知识点:像素过滤,图片通用resize函数,像素大于某个阈值则赋值为其它的像素值)

import cv2def resize_by_ratio(image, widthNone, heightNone, intercv2.INTER_AREA):img_new_size None(h, w) image.shape[:2] # 获得高度和宽度if width is None and height is None: # 如果输入的宽度和高度都为空return image # 直接返回原图if width is None:h_ratio …

gitee配置

注册配置gitee Gitee官网 进入官网之后&#xff0c;有账号直接登录&#xff0c;没有账号注册一个新的账号 下载安装git客户端 官网地址 下载完成&#xff0c;一路直接点击安装直接安装成功 检查是否安装成功 鼠标留在桌面–>右击–>出现Git GUI Here/Git Bash Her…

理解VAE(变分自编码器)

1.贝叶斯公式 贝叶斯理论的思路是&#xff0c;在主观判断的基础上&#xff0c;先估计一个值&#xff08;先验概率&#xff09;&#xff0c;然后根据观察的新信息不断修正(可能性函数)。 P(A)&#xff1a;没有数据B的支持下&#xff0c;A发生的概率&#xff0c;也叫做先验概率。…

Linux基础命令练习2

案例2&#xff1a;创建命令练习 请在/root创建三个目录分别为student、file、stu18 请在/opt创建三个文本文件分别为1.txt、a.txt、stu.txt 案例3&#xff1a;复制、删除、移动 在目录/opt下创建一个子目录 etime 在目录/opt/etime/创建文件readme.txt,利用vim写入内容 …