当前位置: 首页 > news >正文

论文阅读之【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自动化整个数据分析过程如下图所示:

Figure 1: A figure showing the flow of our proposed framework that regarding GPT-4 as a data analyst.
  ※图1:将GPT-4作为数据分析师的框架的流程图

将GPT-4视为数据分析师的框架的流程可以表示为以下步骤:

  1. 接收业务问题和数据库:
    GPT-4必需的输入信息包括业务问题和数据库(右上方的蓝色框所示)。
    业务问题提供了分析数据的目的和目标,而数据库则为GPT-4提供了所需的数据来源。

  2. 对业务问题和数据库进行分析:(生成代码)
    GPT-4根据用户提出的问题,理解和解析数据库中的数据(Schema),生成SQL和可视化代码,以便找到与业务问题相关的数据。

  3. 从数据库中提取数据:(执行代码)
    根据业务问题和数据库的分析结果,GPT-4从数据库中提取与业务问题相关的数据。
    这可以包括从数据库中检索特定类型的数据,或者根据业务问题的需求对数据进行筛选、处理和清洗。
    GPT-4需要处理提取的数据,这可能包括统计分析、预测模型的构建等。同时,GPT-4还需要将处理后的数据可视化,例如创建图表、图形或图像来帮助理解和解释数据。

  4. 接收可选输入
    可选输入指的是外部知识来源,用于查询与问题相关的额外文本信息(左上方的红色虚线框)。

  5. 输出提取的数据、数据可视化和分析结果:(生成分析)
    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%。

启发

通过这篇论文,我们可以学到以下几点:

  1. 如何使用GPT-4模型进行数据分析。
    首先,需要提出一个问题,然后根据问题的性质选择合适的图表类型,并使用适当的软件或编程语言生成图表。最后,需要对数据进行分析以识别趋势、模式和洞察力,从而回答初始问题。

  2. 端到端的框架来自动化整个数据分析过程。
    该框架包括三个步骤:代码生成、代码执行和分析生成。通过执行Python代码,可以获得图表和提取的数据。然后,使用GPT-4模型生成分析和见解,以强调关键要点。
    根据业务场景,我们也可以借鉴这个框架来设计符合特定要求的自己框架。

  3. 大模型(如GPT-4)在数据分析领域具有潜力和应用价值。
    尽管目前还没有关于是否可以用人工智能完全替代人类数据分析师的明确结论,但论文研究试图通过进行一系列初步实验来回答这个问题。通过实验的结果可以看到大模型(如GPT-4)在数据分析领域具有潜力和应用价值。在实际工作中,我们可以继续探索如何利用大模型技术来提高数据分析的效率和准确性。

  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】找到字符串中所有字母异位词

题目&#xff1a; 注意&#xff1a;下面代码勉强通过&#xff0c;每次都对窗口内字符排序。然后比较字符串。 代码&#xff1a; public List<Integer> findAnagrams(String s, String p) {int start 0, end p.length() - 1;List<Integer> result new ArrayL…...

关于LEFT JOIN的一次理解

先看一段例子&#xff1a; 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&#xff1a;数据链路层将封装好的MAC帧交付给物理层进行发送&#xff0c;物理层在发送MAC帧前&#xff0c;还要在前面添加8字节的前导码&#xff08;分为7字节的前同步码1字节的帧开始定界符&#xff09;MAC地址长度6B数据长度46&#xff5e;1500B…...

【算法-动态规划】最长公共子序列

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

区块链游戏的开发流程

链游&#xff08;Blockchain Games&#xff09;的开发流程与传统游戏开发有许多相似之处&#xff0c;但它涉及到区块链技术的集成和智能合约的开发。以下是链游的一般开发流程&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&…...

目标检测网络系列——YOLO V2

文章目录 YOLO9000better,更准batch Normalization高分辨率的训练使用anchor锚框尺寸的选择——聚类锚框集成改进——直接预测bounding box细粒度的特征图——passthrough layer多尺度训练数据集比对实验VOC 2007VOC 2012COCOFaster,更快网络模型——Darknet19训练方法Strong…...

15. Java反射和注解

Java —— 反射和注解 1. 反射2. 注解 1. 反射 动态语言&#xff1a;变量的类型和属性可以在运行时动态确定&#xff0c;而不需要在编译时指定 常见动态语言&#xff1a;Python&#xff0c;JavaScript&#xff0c;Ruby&#xff0c;PHP&#xff0c;Perl&#xff1b;常见静态语言…...

pdf处理工具 Enfocus PitStop Pro 2022 中文 for mac

Enfocus PitStop Pro 2022是一款专业的PDF预检和编辑软件&#xff0c;旨在帮助用户提高生产效率、确保印刷品质量并减少错误。以下是该软件的一些特色功能&#xff1a; PDF预检。PitStop Pro可以自动检测和修复常见的PDF文件问题&#xff0c;如缺失字体、图像分辨率低、颜色空…...

微信小程序入门开发教程

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《微信小程序开发实战》。&#x1f3af;&#x1f3a…...

php函数

1. strstr() 返回a在b中的第一个位置 2.substr() 截取字符串 3.PHP字符串函数parse_str(将字符串解析成多个变量)-CSDN博客 4.explode() 字符串分割为数组 5.trim&#xff08;&#xff09; 1.去除字符串两边的 空白字符 2.去除指定字符 6.extract()函数从数组里…...

3.3 封装性

思维导图&#xff1a; 3.3.1 为什么要封装 ### 3.3.1 为什么要封装 **封装**&#xff0c;在Java的面向对象编程中&#xff0c;是一个核心的思想。它主要是为了保护对象的状态不被外部随意修改&#xff0c;确保数据的完整性和安全性。 #### **核心思想&#xff1a;** - 保护…...

Redis魔法:点燃分布式锁的奇妙实现

分布式锁是一种用于在分布式系统中控制对共享资源的访问的锁。它与传统的单机锁不同&#xff0c;因为它需要在多个节点之间协调以确保互斥访问。 本文将介绍什么是分布式锁&#xff0c;以及使用Redis实现分布式锁的几种方案。 一、前言 了解分布式锁之前&#xff0c;需要先了…...

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曲线划分 一般来说&#xff0c;实轴处的截获表示体电阻(Rb)&#xff0c;它反映了电解质&#xff0c;隔膜和电极的电导率。高频区的半圆对应于…...

Sprint framework Day07:注解结合 xml 配置

前言 Spring注解结合XML配置是指在Spring应用中&#xff0c;使用注解和XML配置的方式来进行Bean的定义、依赖注入和其他配置。这种方式可以充分利用Spring框架的注解和XML配置两种不同的配置方式的特点。 在Spring框架中&#xff0c;我们可以使用注解来定义Bean&#xff0c;如…...

LiveGBS流媒体平台GB/T28181功能-国标流媒体服务同时兼容内网收流外网收流多网段设备收流

LiveGBS流媒体平台GB/T28181功能-国标流媒体服务同时兼容内网收流外网收流多网段设备收流 1、背景2、设备接入播放2.1、查看通道2.2、直播播放 3、默认收流地址配置4、其它网络设备收流配置5、搭建GB28181视频直播平台 1、背景 服务器部署的时候&#xff0c;可能有多个网卡多个…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...