分享

如何用回归分析预测未来?

 白明锐 2023-07-27 发布于天津

最近,我正在读《深入浅出数据分析》这本书。

上期跟大家分享的书中主题是「直方图的绘制及应用」。

今天,我来聊聊「回归分析」,以过去的数据为基础预测未来。

洞悉一切,未卜先知。回归分析法力无边,只要使用得法,就能帮助你预测某些结果值。

若与控制实验同时使用,回归分析还能预测未来。

商家狂热地运用回归分析帮助自己建立模型,预测客户行为。

01 预测

1、书接上回,你的加薪要求奏效了。干得好!现在还没到收手的时候。你应该做专门替别人争取加薪的生意!
2、以获取大幅度加薪为目的进行分析。人们想知道该怎么提要求,还想知道提了以后能到手多少。你需要一种算法。

3、算法:为了完成某个计算而执行的任何过程。在本例中,你将在算法中加入计算依据——要求加薪幅度,然后通过一些步骤预测实际加薪幅度。这些步骤都有哪些呢?
4、预测是数据分析的重头戏,甚至有人认为,把假设检验和预测加起来就等于数据分析。

02 用散点图比较两种变量

5、只要你的数据涉及两种变量,就该考虑散点图,根本在于寻找变量之间的因果关系。
6、在R中运行这些指令,生成一张散点图,体现出要求加薪和实际加薪的情况。表格下载地址:点击左下角「阅读原文」获取。
data=read.csv("C:/Users/admin/Downloads/hfda_ch10_employees.csv")
读取表格数据
head(data,n=30)
显示数据内容,看一看总有好处
plot(data$requested[data$negotiated==TRUE],data$received[data$negotiated==TRUE])
这个指令显示散点图,横坐标为“要求加薪”,纵坐标为“实际加薪”。

7、这张散点图上的每一个点代表一个独立的观察对象:一个人。

03 直线能为客户指明目标

8、一条贯穿数据的直线的确可能是一种有效的预测办法。
9、如果某人提出加薪8%,结果他可能得到多少?如果取8%(x轴)范围内的各个点的实际加薪平均值,则结果约为8%。这样就解答了一个人群(即要求加薪8%的人群)的加薪问题。其他人的加薪要求则不一样。

10、如果观察一下整个X轴上的各个区间内的实际加薪平均值,结果如何呢?
11、使用平均值图形预测每个区间内的数值。平均值告诉我们提出各种加薪幅度的人的平均得到的加薪值。
12、画一条线把平均值图中的点连起来——这正是你所寻找的那条线,利用它可以预测每个人的加薪情况。这就是它——迷人的回归线。

04 回归线预测出人们的实际加薪幅度

13、回归线就是最准确地贯穿平均值图中的各个点的直线。回归线可以用简单的等式来表达,通过该等式可以预测每个范围内的X变量对应的Y变量。
14、回归线对于具有线性相关特点的数据很有用。
15、相关性即两种变量之间的线性关系,如果要呈现线性关系,散点图上的点就需要大致沿着直线分布。
16、相关性可强可弱,可以用相关系数r(可别和大写R搞混淆了,那是个软件程序)衡量。为了让回归线发挥作用,数据必须显示出强烈的线性相关性。
17、r的范围为-1至1,0表示无相关性,1和-1表示两个变量完全相关。
18、试着用R软件计算加薪数据的相关系数r。
cor(data$requested[data$negotiated==TRUE],data$received[data$negotiated==TRUE])
cor程序告诉R软件返回两个变量的相关系数,结果为0.6656481,显示出中等程度的相关性,所有的点都排成一行,但并不完美,不过肯定存在线性相关性。


05 你需要用一个等式进行精确预测

19、利用线性方程(y=a+bx)可以对直线进行数学表述。你只需要求出数值a和b,也就是所谓的系数即可。

20、a代表y轴截距,即直线与Y轴的交点。如果散点图上恰好有一些点落在x=0范围的周围,就能找出该区间的平均值点。我们没有这么幸运,要找出截距恐怕还得多费点儿脑筋。
21、b代表斜率,一条线的的角度越倾斜,斜率越大,越平缓,斜率越小。为了计算斜率,可测量X轴(边长)上的各个单位对应的一条线的上升速度(“高”,或者叫做y值的变化)。
斜率=高/边长=b
22、只要知道斜率和Y轴截距,就可以轻易地将这些值填入线性方程,划出回归线。

06 让R创建一回归对象

23、如果希望根据一个变量预测另一个变量,只要将后者提供给R,R就会一口气生成一条回归线。
24、实现这个过程的基本函数叫「lm」,即英文线性模型这两个词的首字母组合。
25、每当创建一个线性模型,R就会在记忆库里创建一个对象,这个对象具有一长串属性,其中包括回归方程的系数。
26、小心!任何软件都无法判别回归线是否有用。是否发挥回归线的作用取决于你。
27、创建一个线性模型描述你所分析的数据。
运行下列语句,指出回归线的系数。
myLm<-lm(received[negotiated==TRUE]~requested[negotiated==TRUE],data) myLm$coefficients

利用R找到的系数,可以写出下面这样的回归方程:y=2.3+0.7x

28、只要能看出两个变量之间具有密切的关系,只要回归线有意义,你就可以充满信心地让软件计算各个系数。
29、回归方程与散点图密切相关。以要求加薪8%员工为例,通过回归方程得出了与散点图相同的结果。
y=2.3+0.7x=2.3+0.7*8=7.9

07 加薪计算器的算法正是回归方程

30、你找出了一个回归方程,可以预测给定加薪要求的加薪结果。
31、假如想预测要求加薪5%的人能够期待的加薪,可用下列代码:
my_raise<-52.3+0.7*my_raise

32、你无法知道明天是否会像今天一样。要是你有充足、定性的理由相信你的回归分析是正确的,那么有可能永远不需要改变分析。可要是你的数据不停地变化,那就应该不停地进行回归分析并善加利用。

END

点击下方卡片关注公众号,了解更多财务和数据分析的干货内容。
近期比较受欢迎的内容,希望对你有帮助:
2022年10月OKR复盘
一文弄懂贝叶斯统计
The Day You Became A Better Writer 你成为更好作家的那一天
看完点个赞,以后分享更多。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多