论文阅读之【Is GPT-4 a Good Data Analyst?(GPT-4是否是一位好的数据分析师)】
文章目录
- 论文阅读之【Is GPT-4 a Good Data Analyst?(GPT-4是否是一位好的数据分析师)】
- 背景:数据分析师工作范围
- 基于GPT-4的端到端数据分析框架
- 将GPT-4作为数据分析师的框架的流程图
- 实验分析
- 评估指标
- 表1:GPT-4性能表现
- 表2:专业的数据分析师与GPT-4的比较
- 表3:
- 启发
论文阅读之【Is GPT-4 a Good Data Analyst?(GPT-4是否是一位好的数据分析师)】
为了更加清晰地理解ChatGPT等大模型对数据分析领域的影响和帮助我们在工作中灵活应用大模型,下面我们来阅读一下阿里达摩院与新加坡南洋理工大学的一篇评估GPT-4作为数据分析师能力的论文。
| 论文标题 | Is GPT-4 a Good Data Analyst? |
|---|---|
| 论文地址 | https://arxiv.org/abs/2305.15038 |
| 论文预览 | https://browse.arxiv.org/pdf/2305.15038.pdf |
| GitHub代码地址 | https://github.com/DAMO-NLP-SG/GPT4-as-DataAnalyst |

在论文中,为了回答“GPT-4是否是一位好的数据分析师”的研究问题,作者设计了一项对比研究。他们将GPT-4视为一位数据分析师,并使用各种领域的数据库进行端到端的数据分析。
为了进行实验,他们精心设计了GPT-4的提示信息,并设计了几个针对特定任务的评估指标,以系统地比较几位专业的人类数据分析师和GPT-4之间的性能。
实验结果表明,GPT-4在性能方面可以击败一个初级数据分析师,并且在性能上可以与一位高级数据分析师相媲美。在成本和时间方面,与雇佣一位数据分析师相比,GPT-4更便宜和更快速。
另外,作者还对评估结果进行了深入讨论,通过理解这些内容可以启发我们在数据分析领域中ChatGPT/GPT-4等大模型的灵活应用。
背景:数据分析师工作范围
通常而言,数据分析师的主要工作范围包括如下:
- 收集数据并进行初步处理。
- 清洗数据,将原始数据转化为可供分析的数据。
- 描述性统计分析,对数据进行描述和总结。
- 探索性数据分析,通过图表、报告等方式展示数据。
- 推断性分析,根据已有数据推断出未知信息。
- 预测性分析,基于历史数据预测未来趋势。
在论文中也介绍了数据分析师的主要工作范围:包括利用业务数据识别有意义的模式和趋势,并为利益相关者提供有价值的洞察,以支持战略决策。
为了实现这一目标,数据分析师必须具备包括SQL查询编写、数据清洗和转换、可视化生成和数据分析等。
基于上述提到的三个主要技能,数据分析师的主要工作范围可以分为三个步骤:数据收集、数据可视化和数据分析。
初始步骤涉及理解业务需求并决定哪些数据来源与解答问题相关。一旦确定了相关的数据表,分析师可以通过SQL查询或其他提取工具提取所需数据。
第二步是创建图表和图形等可视化工具,有效传达洞察。
最后,在数据分析阶段,分析师可能需要确定不同数据点之间的相关性,识别异常值和离群值,并追踪随时间变化的趋势。从这个过程中得出的洞察可以通过书面报告或演示文稿传达给利益相关者。
基于GPT-4的端到端数据分析框架
对于典型的数据分析师工作范围,论文作者提出了一个端到端的自动化框架(end-to-end automatic framework),用于进行数据收集、可视化和分析。
端到端的自动化框架(end-to-end automatic framework)是一种用于自动化数据分析和处理的框架。该框架通过以下三个主要步骤来实现自动化:
-
代码生成(code generation):利用GPT-4的能力,根据输入问题和数据,自动生成相应的代码。这些代码用于数据处理和分析。
-
代码执行(code execution):运行生成的代码,从数据库中提取数据并生成图表(处理和分析数据)。
-
分析生成(analysis generation):对提取的数据进行分析,识别趋势、模式和洞见。自动生成分析报告或可视化结果,帮助用户更好地理解和解释数据,
将GPT-4作为数据分析师的框架的流程图
使用GPT-4自动化整个数据分析过程如下图所示:

※图1:将GPT-4作为数据分析师的框架的流程图
将GPT-4视为数据分析师的框架的流程可以表示为以下步骤:
-
接收业务问题和数据库:
GPT-4必需的输入信息包括业务问题和数据库(右上方的蓝色框所示)。
业务问题提供了分析数据的目的和目标,而数据库则为GPT-4提供了所需的数据来源。 -
对业务问题和数据库进行分析:(生成代码)
GPT-4根据用户提出的问题,理解和解析数据库中的数据(Schema),生成SQL和可视化代码,以便找到与业务问题相关的数据。 -
从数据库中提取数据:(执行代码)
根据业务问题和数据库的分析结果,GPT-4从数据库中提取与业务问题相关的数据。
这可以包括从数据库中检索特定类型的数据,或者根据业务问题的需求对数据进行筛选、处理和清洗。
GPT-4需要处理提取的数据,这可能包括统计分析、预测模型的构建等。同时,GPT-4还需要将处理后的数据可视化,例如创建图表、图形或图像来帮助理解和解释数据。 -
接收可选输入
可选输入指的是外部知识来源,用于查询与问题相关的额外文本信息(左上方的红色虚线框)。 -
输出提取的数据、数据可视化和分析结果:(生成分析)
GPT-4根据需要输出提取的数据、数据可视化的结果和分析结果(底部的绿色框)。
这些输出可以包括“data.txt”文件(包含提取的数据)、“figure.pdf”文件(包含数据可视化的结果)和分析报告(包含分析结果)。
实验分析
在论文中设计了上述框架,让GPT-4从各种领域数据库中进行端到端的数据分析,并将其性能与使用精心设计的任务特定评估指标的专业人类数据分析师进行了比较。
评估指标
作者精心设计了几个人工评估指标,分别评估生成的图表和数据分析。
图表评估包括如下3个指标:
- 信息准确性:图表中显示的数据和信息是否准确?
- 图表类型准确性:图表类型是否与问题要求匹配?
- 美观度:图表是否美观清晰,没有任何格式错误?
分析评估包括如下4个指标:
- 准确性:分析中是否包含错误的数据或信息?
- 对齐度:分析是否与问题一致?
- 复杂度:分析的复杂程度和深度如何?
- 流畅度:生成的分析是否流畅,语法正确,没有不必要的重复?
通过几个表格列举了GPT-4模型和数据分析师的各种比较数据。
表1:GPT-4性能表现

上表是GPT-4模型作为数据分析师的性能表现。
GPT-4在图表处理(生成)方面的各指标如下:
- 信息准确性:平均得分为0.78(满分为1),尽管存在一些小错误,但大多数图表基本上能够获得正确的结果。
- 图表类型准确性:平均得分为0.99%(满分为1),几乎满分的分数
- 美观度:平均得分为2.73(满分为3),大多数生成的图表对观众来说清晰无误,没有任何格式错误。
GPT-4在数据分析方面的各指标如下:
- 准确性:平均得分为0.94(满分为1),分析的正确性得分平均比图表的信息正确性得分要高得多。
- 复杂度:平均得分为2.16(满分为3),合理且令人满意
- 对齐度:平均得分为1.0(满分为1),满分
- 流畅度:平均得分为3.0(满分为3),满分
表2:专业的数据分析师与GPT-4的比较

专业的数据分析师与GPT-4的比较结果显示GPT-4能力介于初级分析师和高级分析师之间,但GPT-4花费的时间比人类数据分析师要短得多。
表3:

GPT- 4的成本约为初级数据分析师成本的0.71%,高级数据分析师成本的0.45%。
启发
通过这篇论文,我们可以学到以下几点:
-
如何使用GPT-4模型进行数据分析。
首先,需要提出一个问题,然后根据问题的性质选择合适的图表类型,并使用适当的软件或编程语言生成图表。最后,需要对数据进行分析以识别趋势、模式和洞察力,从而回答初始问题。 -
端到端的框架来自动化整个数据分析过程。
该框架包括三个步骤:代码生成、代码执行和分析生成。通过执行Python代码,可以获得图表和提取的数据。然后,使用GPT-4模型生成分析和见解,以强调关键要点。
根据业务场景,我们也可以借鉴这个框架来设计符合特定要求的自己框架。 -
大模型(如GPT-4)在数据分析领域具有潜力和应用价值。
尽管目前还没有关于是否可以用人工智能完全替代人类数据分析师的明确结论,但论文研究试图通过进行一系列初步实验来回答这个问题。通过实验的结果可以看到大模型(如GPT-4)在数据分析领域具有潜力和应用价值。在实际工作中,我们可以继续探索如何利用大模型技术来提高数据分析的效率和准确性。 -
数据分析师面临着巨大的挑战。
只有不断学习并跟上技术的发展和变化,在未来才能够有一席之地。
相关文章:
论文阅读之【Is GPT-4 a Good Data Analyst?(GPT-4是否是一位好的数据分析师)】
文章目录 论文阅读之【Is GPT-4 a Good Data Analyst?(GPT-4是否是一位好的数据分析师)】背景:数据分析师工作范围基于GPT-4的端到端数据分析框架将GPT-4作为数据分析师的框架的流程图 实验分析评估指标表1:GPT-4性能表现表2&…...
【数据结构】:二叉树与堆排序的实现
1.树概念及结构(了解) 1.1树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的有一个特殊的结点&#…...
纯css手写switch
CSS 手写switch 纯css手写switchcss变量 纯css手写switch 思路: switch需要的元素有:开关背景、开关按钮。点击按钮后,背景色变化,按钮颜色变化,呈现开关打开状态。 利用typecheckbox,来实现switch效果(修…...
PyTorch 深度学习之处理多维特征的输入Multiple Dimension Input(六)
1.Multiple Dimension Logistic Regression Model 1.1 Mini-Batch (N samples) 8D->1D 8D->2D 8D->6D 1.2 Neural Network 学习能力太好也不行(学习到的是数据集中的噪声),最好的是要泛化能力,超参数尝试 Example, Arti…...
LeetCode【438】找到字符串中所有字母异位词
题目: 注意:下面代码勉强通过,每次都对窗口内字符排序。然后比较字符串。 代码: public List<Integer> findAnagrams(String s, String p) {int start 0, end p.length() - 1;List<Integer> result new ArrayL…...
关于LEFT JOIN的一次理解
先看一段例子: SELECTproduct_half_spu.id AS halfSpuId,product_half_spu.half_spu_code,product_half_spu.half_spu_name,COUNT( product_sku.id ) AS skuCount,product_half_spu.create_on,product_half_spu.create_by,product_half_spu.upload_pic_date,produc…...
各报文段格式集合
数据链路层-- MAC帧 前导码8B:数据链路层将封装好的MAC帧交付给物理层进行发送,物理层在发送MAC帧前,还要在前面添加8字节的前导码(分为7字节的前同步码1字节的帧开始定界符)MAC地址长度6B数据长度46~1500B…...
【算法-动态规划】最长公共子序列
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...
区块链游戏的开发流程
链游(Blockchain Games)的开发流程与传统游戏开发有许多相似之处,但它涉及到区块链技术的集成和智能合约的开发。以下是链游的一般开发流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&…...
目标检测网络系列——YOLO V2
文章目录 YOLO9000better,更准batch Normalization高分辨率的训练使用anchor锚框尺寸的选择——聚类锚框集成改进——直接预测bounding box细粒度的特征图——passthrough layer多尺度训练数据集比对实验VOC 2007VOC 2012COCOFaster,更快网络模型——Darknet19训练方法Strong…...
15. Java反射和注解
Java —— 反射和注解 1. 反射2. 注解 1. 反射 动态语言:变量的类型和属性可以在运行时动态确定,而不需要在编译时指定 常见动态语言:Python,JavaScript,Ruby,PHP,Perl;常见静态语言…...
pdf处理工具 Enfocus PitStop Pro 2022 中文 for mac
Enfocus PitStop Pro 2022是一款专业的PDF预检和编辑软件,旨在帮助用户提高生产效率、确保印刷品质量并减少错误。以下是该软件的一些特色功能: PDF预检。PitStop Pro可以自动检测和修复常见的PDF文件问题,如缺失字体、图像分辨率低、颜色空…...
微信小程序入门开发教程
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《微信小程序开发实战》。🎯Ἲ…...
php函数
1. strstr() 返回a在b中的第一个位置 2.substr() 截取字符串 3.PHP字符串函数parse_str(将字符串解析成多个变量)-CSDN博客 4.explode() 字符串分割为数组 5.trim() 1.去除字符串两边的 空白字符 2.去除指定字符 6.extract()函数从数组里…...
3.3 封装性
思维导图: 3.3.1 为什么要封装 ### 3.3.1 为什么要封装 **封装**,在Java的面向对象编程中,是一个核心的思想。它主要是为了保护对象的状态不被外部随意修改,确保数据的完整性和安全性。 #### **核心思想:** - 保护…...
Redis魔法:点燃分布式锁的奇妙实现
分布式锁是一种用于在分布式系统中控制对共享资源的访问的锁。它与传统的单机锁不同,因为它需要在多个节点之间协调以确保互斥访问。 本文将介绍什么是分布式锁,以及使用Redis实现分布式锁的几种方案。 一、前言 了解分布式锁之前,需要先了…...
iOS 项目避坑:多个分类中方法重复实现检测
#前言 在项目中,我们经常会使用分类 -> category。category在实际项目中一般有两个左右:1.给已有class增加方法,扩充起能力、2.将代码打散到多个文件中,避免因为一个类过于复杂而导致代码篇幅过长(应用于viewController中很好用) 但是 category 也有很多弊端~ **首…...
【003】EIS数据分析_#LIB
EIS数据分析 1. EIS测试及数据获取2. EIS数据分析2.1 EIS曲线划分 1. EIS测试及数据获取 点击查看往期介绍 2. EIS数据分析 2.1 EIS曲线划分 一般来说,实轴处的截获表示体电阻(Rb),它反映了电解质,隔膜和电极的电导率。高频区的半圆对应于…...
Sprint framework Day07:注解结合 xml 配置
前言 Spring注解结合XML配置是指在Spring应用中,使用注解和XML配置的方式来进行Bean的定义、依赖注入和其他配置。这种方式可以充分利用Spring框架的注解和XML配置两种不同的配置方式的特点。 在Spring框架中,我们可以使用注解来定义Bean,如…...
LiveGBS流媒体平台GB/T28181功能-国标流媒体服务同时兼容内网收流外网收流多网段设备收流
LiveGBS流媒体平台GB/T28181功能-国标流媒体服务同时兼容内网收流外网收流多网段设备收流 1、背景2、设备接入播放2.1、查看通道2.2、直播播放 3、默认收流地址配置4、其它网络设备收流配置5、搭建GB28181视频直播平台 1、背景 服务器部署的时候,可能有多个网卡多个…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
