最近,我正在读《深入浅出数据分析》这本书。
上期跟大家分享的书中主题是「直方图的绘制及应用」。 今天,我来聊聊「回归分析」,以过去的数据为基础预测未来。 洞悉一切,未卜先知。回归分析法力无边,只要使用得法,就能帮助你预测某些结果值。 若与控制实验同时使用,回归分析还能预测未来。 商家狂热地运用回归分析帮助自己建立模型,预测客户行为。 1、书接上回,你的加薪要求奏效了。干得好!现在还没到收手的时候。你应该做专门替别人争取加薪的生意!2、以获取大幅度加薪为目的进行分析。人们想知道该怎么提要求,还想知道提了以后能到手多少。你需要一种算法。3、算法:为了完成某个计算而执行的任何过程。在本例中,你将在算法中加入计算依据——要求加薪幅度,然后通过一些步骤预测实际加薪幅度。这些步骤都有哪些呢?4、预测是数据分析的重头戏,甚至有人认为,把假设检验和预测加起来就等于数据分析。5、只要你的数据涉及两种变量,就该考虑散点图,根本在于寻找变量之间的因果关系。6、在R中运行这些指令,生成一张散点图,体现出要求加薪和实际加薪的情况。表格下载地址:点击左下角「阅读原文」获取。data=read.csv("C:/Users/admin/Downloads/hfda_ch10_employees.csv")
plot(data$requested[data$negotiated==TRUE],data$received[data$negotiated==TRUE]) 这个指令显示散点图,横坐标为“要求加薪”,纵坐标为“实际加薪”。7、这张散点图上的每一个点代表一个独立的观察对象:一个人。8、一条贯穿数据的直线的确可能是一种有效的预测办法。9、如果某人提出加薪8%,结果他可能得到多少?如果取8%(x轴)范围内的各个点的实际加薪平均值,则结果约为8%。这样就解答了一个人群(即要求加薪8%的人群)的加薪问题。其他人的加薪要求则不一样。10、如果观察一下整个X轴上的各个区间内的实际加薪平均值,结果如何呢?11、使用平均值图形预测每个区间内的数值。平均值告诉我们提出各种加薪幅度的人的平均得到的加薪值。12、画一条线把平均值图中的点连起来——这正是你所寻找的那条线,利用它可以预测每个人的加薪情况。这就是它——迷人的回归线。13、回归线就是最准确地贯穿平均值图中的各个点的直线。回归线可以用简单的等式来表达,通过该等式可以预测每个范围内的X变量对应的Y变量。15、相关性即两种变量之间的线性关系,如果要呈现线性关系,散点图上的点就需要大致沿着直线分布。16、相关性可强可弱,可以用相关系数r(可别和大写R搞混淆了,那是个软件程序)衡量。为了让回归线发挥作用,数据必须显示出强烈的线性相关性。17、r的范围为-1至1,0表示无相关性,1和-1表示两个变量完全相关。cor(data$requested[data$negotiated==TRUE],data$received[data$negotiated==TRUE]) cor程序告诉R软件返回两个变量的相关系数,结果为0.6656481,显示出中等程度的相关性,所有的点都排成一行,但并不完美,不过肯定存在线性相关性。19、利用线性方程(y=a+bx)可以对直线进行数学表述。你只需要求出数值a和b,也就是所谓的系数即可。20、a代表y轴截距,即直线与Y轴的交点。如果散点图上恰好有一些点落在x=0范围的周围,就能找出该区间的平均值点。我们没有这么幸运,要找出截距恐怕还得多费点儿脑筋。21、b代表斜率,一条线的的角度越倾斜,斜率越大,越平缓,斜率越小。为了计算斜率,可测量X轴(边长)上的各个单位对应的一条线的上升速度(“高”,或者叫做y值的变化)。22、只要知道斜率和Y轴截距,就可以轻易地将这些值填入线性方程,划出回归线。23、如果希望根据一个变量预测另一个变量,只要将后者提供给R,R就会一口气生成一条回归线。24、实现这个过程的基本函数叫「lm」,即英文线性模型这两个词的首字母组合。25、每当创建一个线性模型,R就会在记忆库里创建一个对象,这个对象具有一长串属性,其中包括回归方程的系数。26、小心!任何软件都无法判别回归线是否有用。是否发挥回归线的作用取决于你。myLm<-lm(received[negotiated==TRUE]~requested[negotiated==TRUE],data) myLm$coefficients 利用R找到的系数,可以写出下面这样的回归方程:y=2.3+0.7x28、只要能看出两个变量之间具有密切的关系,只要回归线有意义,你就可以充满信心地让软件计算各个系数。29、回归方程与散点图密切相关。以要求加薪8%员工为例,通过回归方程得出了与散点图相同的结果。30、你找出了一个回归方程,可以预测给定加薪要求的加薪结果。31、假如想预测要求加薪5%的人能够期待的加薪,可用下列代码:my_raise<-5 2.3+0.7*my_raise 32、你无法知道明天是否会像今天一样。要是你有充足、定性的理由相信你的回归分析是正确的,那么有可能永远不需要改变分析。可要是你的数据不停地变化,那就应该不停地进行回归分析并善加利用。END 点击下方卡片关注公众号,了解更多财务和数据分析的干货内容。
|