数据分析中常见的七种回归分析以及R语言实现(一)--简单线性模型
刚刚学习数据分析的人应该知道回归分析是作为预测用的一种模型,它主要是通过函数来表达因变量(连续值)和自变量变量的关系,通俗的来说就是Y和X的关系通过公式表达出来;这样能够表明因变量和自变量之间的显著关系并且是函数关系,还可以表明多个自变量对一个因变量的影响强度,回归分析主要运用在预测分析上,虽然说是预测,但是有时候我们的回归模型只是被用来解释现场,并不需要去预测,例如,科学家猜想人的体重和某种特定的食物消耗有关;
1、线性回归
在古典的线性回归模型中是要满足几个假定:
A假设自变量和因变量存在线性关系,具体的说就是假设因变量Y,是一些自变量X1,X2,..,XN的一个线性函数它的表达式
B零均值假定,就是假定回归线通过X与Y的条件均值组成的点;
C同方差假定,就是各个随机误差项的离散程度是相同的,也就是说对于每个X,随机项相对均值的分散程度是相同
D无自相关,就是随机扰动项之间是互不相关的,互补影响,也就是说随机扰动项是完全随机分布的
E因变量和扰动项是完全不相关的假定;
F扰动项正态性假定,就是假定扰动项服从均值为零,方差为司格马的正太分布
其中回归模型的表达式写法如下
其中e是随机扰动项,也有写法是这样,Y=a+bX+e,其中a是截距项,b是斜率,e是随机扰动项;
参数最优---最小二乘法
竟然存在参数,那么如何获取到最佳的参数呢,简单线性模型使用的普通最小二乘法,这里就不写明写详细步骤了,这个可以利用搜索引擎查的得到,我就说说它的主要思想就好,因为我们在拟合过程的时候我们要使回归线尽量靠近所有的样本点,这时候我们就要使它们残差尽量小,因为残差是有负有正,所以我们就采用平方去处理,采用平方和最小原则,通过求导,使其导数为零,求解得到最优的参数,这样就能够使回归模型应该使所有观察值的残差平方和最小;大致就是这样,文字描述有些吃力,有什么问题可以评论一起交流
这里我使用的我最近读和做笔记的R语言核心技术手册的包nutshell中的team.batting.00to08数据,这个数据是2000年到2008年棒球队的数据,我们想要看看棒球队的得分和每个变量的关系;
载入数据
library(nutshell)
data("team.batting.00to08")
查看数据的前六行
这就说明了数据已经被我们完全的载入进来了,也知道有多少个变量以及变量的名字,这时候我们要大体的知道一下大体的概括,这时候使用的summary()函数
summary(team.batting.00to08)
在棒球中RUNS就是球队的得分,时间是从2000年到2008年等
这时候想看看各个变量之间相关性如何
,粗劣的使用cor函数得到它们之间的相关系数矩阵,因为数据框存在字符,所以我们要提出第一第二列
cor(team.batting.00to08[,3:10])
大致可以判断的出来得分和跑动距离和全垒打(homerus)相关系数较大;
这里我们经常使用R语言里面的Lm函数去拟合以上变量,然后得到模型,然后使用summary()函数打印更多关于模型的信息
runs.lm <- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies+stolenbases+caughtstealing,data=team.batting.00to08)
summary(runs.lm)
从上图结果可以知道,R的可决系数是0.9114,模型F值较大,通过显著性检验,其中变量caughtstealing和stolenbases和runs不显著的关系,这个需要剔除;
我们可以手动剔除也可以使用step函数自动剔除
runs.lm_a <- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies,data=team.batting.00to08)
runs.lm_b<-step(runs.lm)
这个就讲到这里,这个下面几篇文章会讲到用什么方法得到这样的结果
参考文献代码
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31本人基本情况: 学校及专业:厦门大学经济学院应用统计 实习经历:快手数据分析、字节数据分析、百度数据分析 Offer情况:北京 ...
2025-01-3001专家简介 徐杨老师,CDA数据科学研究院教研副总监,主要负责CDA认证项目以及机器学习/人工智能类课程的研发与授课,负责过中 ...
2025-01-29