加餐 如何使用大模型帮我们做数据分析?
你好,我是郭炜。
上节课我带你了解了大模型的基础概念,大模型有很多种,和数据分析最相关的是“大语言模型”。其中比较典型的就是全球最流行的ChatGPT(其它的大模型使用方法也类似),它可以帮助我们进行文本生成、语言理解、问题解答,也可以针对我们的数据内容进行数据分析,还可以根据我们的要求画出相应的趋势分析和复杂分析图,这节课我们就进入使用大模型进行数据分析的部分。
如何使用大模型,如何让他回答更专业和有效
大模型使用很简单,直接打开对话框输入你的问题,他就可以给你需要的回答。例如我们回顾第二节课里提到的大数据定律问题,你可以直接这样问。
我们把你的这个问题叫做“提示词”(也叫作Prompt),所有的大模型都是通过理解你给它的提示词来生成回答。你给ChatGPT一个问题或者任务的提示,它就会尝试回答或者执行。除了刚才给出的提示词的模板,你还可以用下面这些常用的提示词。
- “告诉我关于……”:用于获取有关特定主题的信息。
- “帮我……”:用于寻求帮助或执行某项任务,比如找资料、解答问题等。
- “解释一下……”:用于寻求某个概念或主题的解释。
- “给我一些建议……”:用于获得关于做决策、解决问题的建议。
上面这样是最简单的使用方法,但在进一步的使用过程中,你会发现这些问题大模型往往都会用一个非常简单的逻辑给你来回答,当我们需要一些复杂场景分析时,它往往会给出来很多“正确的废话”,这样就约束了我们对大模型的深度使用。所以我们不能简单地把大模型当做一个搜索引擎和问答机器,你要把它当做个人助理,甚至是你在带的新员工。
一般我们用如下的“魔法”来帮助大模型给出更好的答案。
假定对方身份+给出问题的背景+问题和对于问题的要求
下面我详细解释下这几个要素。
- 假定对方身份:因为大模型学习了大量知识,如果你不给他一个身份回答,那么他就是一个没有专业背景的人来回答你的问题,你可以先假定对方的身份,例如“你是一个拥有多年幼儿培训教育经验的数学老师,对于数据基础知识以及幼儿教育及如何让孩子听懂复杂问题都有非常丰富的经验。”
- 给出问题的背景:大模型有了身份后,它也掌握了大量经验,但是你如果需要它帮你找到最适合你这条经验的回答的话,还需要给出你问这个问题的背景,例如“我是一个10岁具有非常好奇心和简单小学背景的学生,我需要学习和了解一些初高中的数学知识以拓展我认知。”
- 问题:问题要尽量详细和明确,让大模型确定性的知道,他有这个经验和事情背景之后,到底要解决什么问题,例如“大数定律是什么?请给出具体的定义和一个例子,来帮助我理解这个定义”。
- 对于问题的要求:这部分非常重要,大模型有相关经验、知道背景和问题后,究竟对于问题怎么回答才能更好的适合你的需求,你在这里需要完善的说明回答的格式、字数、语气、写作的特色,例如“回答时请考虑到我的年龄和知识程度,以通俗易懂、生动有趣的方式回答,例子需要举小学生日常容易简单的场景,整体字数在1500字左右。”
我们还是用前面解释大数据定律的例子,加上这些“魔法词”再试一次,下面是得出的结果。
这时你会发现,整体的内容、语气和举例子的方法和你前面简单提问完全不同了,这就是提示词魔法的厉害之处。
如何使用大模型分析探查数据
下面我们来看大模型如何帮助探查分析数据,你可以根据接下来的步骤,一步一步和我一起上手实操。首先我们需要找一份数据,作为数据分析师,我最感兴趣的是自己的职业前途如何、我应该向哪些方向继续发展?我找到了一份海外的原始数据,大概有40多万条数据分析师的职位信息、职业描述需求、需要掌握的技能以及最重要的薪资内容,点击“原始数据”这四个字超链接部分跳转网页即可下载。
如果这个数据如果因为网络原因下载不了,也不用担心,你可以关注我的公众号“郭大侠说开源”,并回复“数据分析师数据”即可获得。我们粗略看下数据内容。
比较重要的是公司、职位、薪资等信息,能看到都是大段的文字,而且整体数据情况我们也不清楚,那么我们如何利用大模型来帮助我们做数据分析呢?
我们直接使用ChatGPT plus当中提供的@功能,直接选择 Data Analyst。
上传我们的数据文件,同时利用前面的“三段论的”方法来提问,先让大模型熟悉下数据,让其给出一些数据的基本情况。
这个分析的时间会比较长,你可以先耐心等待,随后大模型给出了我这份数据的相关内容的探查。
这时候我发现它提到有一些数据缺失,我们可以让它给出一份整体数据缺失的情况和一些数据基本概况。
同时,大模型也给出了非常专业的数据缺失值的反馈。
ChatGPT:
缺失值分析
- 直方图显示了数据集中每列的缺失值百分比。
- 有些字段,如 commute_time 和 salary 相关字段,有较高的缺失值比例。这表明薪资数据在很多职位中未被提供,而 commute_time 字段则在整个数据集中完全缺失。
- 其他字段如 location, via, schedule_type, work_from_home 也有少量缺失值。
数值型字段特征
- Unnamed: 0 和 index 字段看起来像是索引,它们的统计数据可能没有实际意义。
- 薪资相关字段(salary_avg, salary_min, salary_max, salary_hourly, salary_yearly, salary_standardized)表现出较大的范围,说明薪资水平差异较大。
- 这些薪资字段的中位数(median)和平均数(mean)之间存在差异,这可能表明薪资数据的分布不均匀,可能呈现偏态分布。
直方图
- 直方图展示了数值型字段的分布情况。
- 可以看到薪资相关字段的分布呈现出一定的偏态,这与薪资差异和市场上不同级别职位的存在相符合。
- 由于部分字段如 Unnamed: 0 和 index 为索引类字段,它们的直方图可能没有实际分析价值。
通过这些分析,我们可以更好地理解数据集的结构和质量,为进一步的数据分析提供基础。
我们可以继续要求大模型给出更深入的分析,例如“我想分析薪资、工作地点和技能之间的关系”大模型给出下面这样的答案。
图片看不清楚,我们可以像下面这样继续发问。
这时候 ,我们还需要进一步的分析,最受欢迎的这些技能和最后薪资的情况如何,于是就出现了下面的对话。
我:
关于常见需要的技能和薪酬之间的关系是怎样的,薪酬高的分析师最需要的技能是哪些?ChatGPT:
要探究技能需求与薪酬之间的关系,我将采取以下步骤:
首先,我将根据年薪将数据分为几个薪酬等级,例如:低、中、高。
然后,我将分析每个薪酬等级中最常见的技能。
这样,我们就可以看到不同薪酬水平的数据分析师所需技能之间的差异。我将开始进行这项分析。
根据数据集中的薪酬和技能要求,不同薪酬水平的数据分析师最常需求的技能如下:
低薪酬水平(Low Salary Level):
SQL: 92次提及
Excel: 90次提及
Power BI: 71次提及
Tableau: 60次提及
Python: 44次提及
中等薪酬水平(Medium Salary Level):
SQL: 123次提及
Python: 84次提及
Tableau: 72次提及
Power BI: 59次提及
Excel: 55次提及
高薪酬水平(High Salary Level):
SQL: 140次提及
Python: 112次提及
Tableau: 53次提及
Power BI: 45次提及
Excel: 40次提及
从上述数据可以看出,SQL和Python在各个薪酬水平中都是非常重要的技能,尤其是在高薪酬水平的职位中。此外,数据可视化工具如Tableau和Power BI也在各个薪酬水平中常见。Excel作为一项基础技能,在各个薪酬水平中都有所体现。这些信息可以帮助理解在数据分析领域中不同薪酬水平的技能要求差异。
由此我们可以很容易得到数据分析师如果要获得更高的薪资,要掌握哪些技能。为了更清楚地表达这些数据之间的关系,还可以让它帮我们画更复杂一些的数据分析图(例如散点图)。
我:
请给我画一张工作地点和薪酬范围的散点图,薪酬范围是Y轴,从小到达排列,工作地点是X轴,按照每个工作地点平均薪酬从小到大排列
ChatGPT:
要创建工作地点和薪酬范围的散点图,我将按照以下步骤进行:
计算每个工作地点的平均薪酬。
使用工作地点的平均薪酬进行排序,作为X轴。
使用具体的薪酬范围作为Y轴。
接下来,我将根据这些步骤生成散点图。
这里是根据工作地点和薪酬范围创建的散点图:
X轴显示的是工作地点,按照每个地点的平均薪酬从小到大排列。
Y轴显示的是薪酬范围,从低到高。
每个点代表一个职位,其位置反映了该职位的地点和薪酬水平。
由于工作地点较多,X轴的标签可能有些拥挤,但整体上图表提供了工作地点与薪酬范围之间关系的视觉展示。如果您需要进一步的分析或调整,请告诉我。
到这也并没有结束,作为数据探查者,我们可以持续追问这个图当中隐藏的数据规律。你可以像下面这样继续发问。
我:
从这张图上可以看到什么趋势和一些规律么?请帮我总结下,并结合具体工作地点当地的企业状况解释下,为什么会出现这样的规律。
ChatGPT:
从这张工作地点与薪酬范围的散点图中,我们可以观察到以下趋势和规律:
薪酬与地理位置的关系:
图中显示,某些地点的薪酬普遍高于其他地区。这通常与当地的生活成本、经济状况和行业集中度有关。例如,大都市或技术中心(如硅谷、纽约、波士顿)通常提供更高的薪酬,这反映了这些地区高昂的生活成本和高技能劳动力的需求。
薪酬分布的波动性:
某些地区可能显示出薪酬的较大波动,这可能是由于该地区职位类型的多样性。例如,一个技术中心可能同时拥有初创企业(可能提供较低的起薪但有股权激励)和成熟的大型科技公司(提供较高的基本薪酬)。
高薪酬地区的特点:
高薪酬地区通常是那些经济发达、企业集中的区域。这些地区的公司可能在全球范围内运营,需要高技能的数据分析师来支持复杂的业务决策。这些公司可能更愿意为顶尖人才支付更高的薪酬。
低薪酬地区的特点:
相比之下,薪酬较低的地区可能是生活成本较低、经济较不发达或企业规模较小的地方。这些地区的公司可能规模较小,或者在当地市场的竞争较少,因此薪酬水平相对较低。
需要注意的是,这些趋势和规律可能受多种因素影响,包括但不限于地区经济状况、行业分布、公司类型和规模、生活成本等。具体到每个地区,可能还需要考虑更多的本地因素来全面理解薪酬差异的原因。此外,数据集本身的范围和代表性也可能影响这些观察结果。
接下来,你可以进一步追问整体数据的一些观察结论。
我:
从给你的数据当中,还可以看到什么数据规律么?请给我总结下数据分析这个岗位的薪酬、地点、技能的情况,并结合不同地区技能的情况,给出刚进入数据分析领域分析师需要加强的点。
ChatGPT:
基于您提供的数据,我们可以总结数据分析岗位在薪酬、地点和技能方面的一些规律,并提出针对初入数据分析领域的分析师的建议:
薪酬
薪酬范围:数据分析岗位的薪酬范围较广,从较低的起薪到高达六位数的年薪。
薪酬差异:薪酬水平受地点、公司类型、行业、技能和经验水平等因素影响。大都市和技术中心(如硅谷、纽约)往往提供更高的薪酬。
地点
地区差异:大都市和技术中心的数据分析岗位更多,提供更高的薪酬,但也伴随着更高的生活成本。
地点选择:选择地点时,需要权衡薪酬水平、生活成本、个人职业发展机会和生活质量。
技能
常见技能:SQL、Python、Excel、Tableau和Power BI是数据分析领域中最常见的技能。
技能与薪酬的关系:掌握高需求技能(如Python、机器学习)可能会带来更高的薪酬。
建议
对于刚进入数据分析领域的分析师,以下是一些加强点:
核心技能:熟练掌握SQL和Excel,它们是数据分析的基础。同时,学习Python或R,这些编程语言在数据处理和分析方面非常强大。
数据可视化:掌握至少一种数据可视化工具,如Tableau或Power BI。这些技能对于数据的呈现和解释至关重要。
统计知识:基本的统计知识是理解数据和进行有效分析的基础。
行业知识:了解你感兴趣或正在工作的特定行业,这将使你的分析更加有价值。
持续学习:数据科学和分析是快速发展的领域,不断更新的技能和知识对于职业发展至关重要。
综上所述,数据分析是一个多样化、发展迅速的领域,要求分析师不断学习和适应新技术、新工具。对于初入行的分析师来说,建立扎实的基础,并根据个人职业目标和所在地区的市场需求不断扩展技能,是非常重要的。
结果是不是超乎你的想象?可以看到,作为一个大模型加持的数据分析师,我们过去需要花大量时间和工具做的数据准备和基本数据探查工作,已经完全在和ChatGPT谈笑间完成了。我们需要做的最重要的事情就是“思考,并问对问题”。其实大模型辅助数据分析已经是在海外非常流行的技能,这也叫作大模型辅助的EDA(Exploratory Data Analysis )。在硅谷,使用大模型来做EDA已经成为数据分析师必备技能之一,也就是说如果你不会使用大模型辅助EDA,你大概率在硅谷找不到工作。
小结
今天的课到这里也就接近尾声了,这节课我们学习了如何使用大模型做专业的数据分析和问答,期待在接下来使用大模型的过程中,你会逐步成长为更资深的专家。你要做的就是会用本节课教你的魔法提示词,让大模型成为你数据分析的得力助手!
大模型的能力止于此么?其实并不是,在下节课中,我会带你进一步发挥大模型知识面宽、能够大量阅读各类行业数据分析报告的优势,帮你进一步完善整个数据分析过程,做一份专业的数据分析报告。
思考题
平时你还会常用哪些数据分析模型?尝试输入给大模型,看看它是不是可以帮你实现。