
数据分析中常见的七种回归分析以及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
在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10在科研攻关、工业优化、产品开发中,正交试验(Orthogonal Experiment)因 “用少量试验覆盖多因素多水平组合” 的高效性,成为 ...
2025-10-10在企业数据量从 “GB 级” 迈向 “PB 级” 的过程中,“数据混乱” 的痛点逐渐从 “隐性问题” 变为 “显性瓶颈”:各部门数据口 ...
2025-10-10在深度学习中,“模型如何从错误中学习” 是最关键的问题 —— 而损失函数与反向传播正是回答这一问题的核心技术:损失函数负责 ...
2025-10-09本文将从 “检验本质” 切入,拆解两种方法的核心适用条件、场景边界与实战选择逻辑,结合医学、工业、教育领域的案例,让你明确 ...
2025-10-09在 CDA 数据分析师的日常工作中,常会遇到这样的困惑:某电商平台 11 月 GMV 同比增长 20%,但究竟是 “长期趋势自然增长”,还 ...
2025-10-09Pandas 选取特定值所在行:6 类核心方法与实战指南 在使用 pandas 处理结构化数据时,“选取特定值所在的行” 是最高频的操作之 ...
2025-09-30球面卷积神经网络(SCNN) 为解决这一痛点,球面卷积神经网络(Spherical Convolutional Neural Network, SCNN) 应运而生。它通 ...
2025-09-30在企业日常运营中,“未来会怎样” 是决策者最关心的问题 —— 电商平台想知道 “下月销量能否达标”,金融机构想预判 “下周股 ...
2025-09-30Excel 能做聚类分析吗?基础方法、进阶技巧与场景边界 在数据分析领域,聚类分析是 “无监督学习” 的核心技术 —— 无需预设分 ...
2025-09-29XGBoost 决策树:原理、优化与工业级实战指南 在机器学习领域,决策树因 “可解释性强、处理非线性关系能力突出” 成为基础模型 ...
2025-09-29在标签体系的落地链路中,“设计标签逻辑” 只是第一步,真正让标签从 “纸上定义” 变为 “业务可用资产” 的关键,在于标签加 ...
2025-09-29在使用 Excel 数据透视表进行多维度数据汇总时,折叠功能是梳理数据层级的核心工具 —— 通过点击 “+/-” 符号可展开明细数据或 ...
2025-09-28在使用 Pandas 处理 CSV、TSV 等文本文件时,“引号” 是最容易引发格式混乱的 “隐形杀手”—— 比如字段中包含逗号(如 “北京 ...
2025-09-28在 CDA(Certified Data Analyst)数据分析师的技能工具箱中,数据查询语言(尤其是 SQL)是最基础、也最核心的 “武器”。无论 ...
2025-09-28Cox 模型时间依赖性检验:原理、方法与实战应用 在生存分析领域,Cox 比例风险模型(Cox Proportional Hazards Model)是分析 “ ...
2025-09-26检测因子类型的影响程度大小:评估标准、实战案例与管控策略 在检测分析领域(如环境监测、食品质量检测、工业产品合规性测试) ...
2025-09-26