《统计学简易速速上手小册》第5章:回归分析(2024 最新版)

在这里插入图片描述

文章目录

  • 5.1 线性回归基础
    • 5.1.1 基础知识
    • 5.1.2 主要案例:员工薪资预测
    • 5.1.3 拓展案例 1:广告支出与销售额关系
    • 5.1.4 拓展案例 2:房价与多个因素的关系
  • 5.2 多元回归分析
    • 5.2.1 基础知识
    • 5.2.2 主要案例:企业收益与多因素关系分析
    • 5.2.3 拓展案例 1:房价影响因素分析
    • 5.2.4 拓展案例 2:员工满意度因素分析
  • 5.3 回归分析的应用
    • 5.3.1 基础知识
    • 5.3.2 主要案例:影响房价的因素分析
    • 5.3.3 拓展案例 1:广告支出与销售额的关系
    • 5.3.4 拓展案例 2:教育投资对经济增长的影响

5.1 线性回归基础

线性回归是统计学中的一种基础分析方法,用于研究一个或多个自变量(解释变量)和因变量(响应变量)之间的线性关系。它像是一座桥梁,连接着变量之间的相互作用,让我们能够预测和解释现象。

5.1.1 基础知识

  • 线性回归模型的建立:线性回归模型假设因变量和自变量之间存在线性关系。简单线性回归涉及一个自变量和一个因变量,其模型可以表示为 (Y = \beta_0 + \beta_1X + \epsilon),其中 (Y) 是因变量,(X) 是自变量,(\beta_0) 是截距,(\beta_1) 是斜率,而 (\epsilon) 是误差项。
  • 最小二乘法:最小二乘法是一种数学优化技术,用于确定线性回归方程的最佳拟合线。它通过最小化误差的平方和来找到回归系数((\beta)值)的最佳估计。
  • 回归诊断:回归诊断是评估线性回归模型是否满足建模假设的过程。它包括检查残差的正态性、同方差性、独立性和模型中是否存在异常值或影响点。

5.1.2 主要案例:员工薪资预测

场景:一家公司希望通过员工的工作经验来预测他们的薪资水平。

Python 示例

import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# 创建数据集
data = {'Experience': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'Salary': [40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000]}
df = pd.DataFrame(data)

# 建立线性回归模型
model = LinearRegression()
model.fit(df[['Experience']], df['Salary'])

# 预测并绘图
plt.scatter(df['Experience'], df['Salary'], color='black')
plt.plot(df['Experience'], model.predict(df[['Experience']]), color='blue', linewidth=3)
plt.xlabel('Experience (Years)')
plt.ylabel('Salary')
plt.title('Salary Prediction based on Experience')
plt.show()

5.1.3 拓展案例 1:广告支出与销售额关系

场景:一家公司想要分析其在不同广告渠道(如电视、广播和报纸)上的广告支出与销售额之间的关系。

Python 示例

# 假设已有广告支出与销售额的数据集,这里使用简化的示例代码进行说明
from sklearn.linear_model import LinearRegression

# 建立多元线性回归模型
model = LinearRegression()
model.fit(advertising_data[['TV', 'Radio', 'Newspaper']], advertising_data['Sales'])

# 可以输出模型系数来分析每个广告渠道的影响力
print(model.coef_)

5.1.4 拓展案例 2:房价与多个因素的关系

场景:房地产公司希望通过分析房屋的面积、卧室数量、年龄等因素来预测房价。

Python 示例

# 假设已有房屋数据集,这里使用简化的示例代码进行说明
from sklearn.linear_model import LinearRegression

# 建立多元线性回归模型
model = LinearRegression()
model.fit

(housing_data[['Area', 'Bedrooms', 'Age']], housing_data['Price'])

# 可以输出模型系数来分析每个因素对房价的影响
print(model.coef_)

通过这些案例,我们可以看到线性回归如何帮助我们在实际问题中建立预测模型和探索变量之间的关系。无论是简单的工作经验与薪资关系,还是复杂的广告支出与销售额、房价与多种因素的关系,线性回归都是一种强大且灵活的工具,能够为我们提供深入的洞见和可行的解决方案。

在这里插入图片描述


5.2 多元回归分析

多元回归分析是探索和解读复杂世界的强大工具,它让我们能同时考虑多个因素对结果变量的影响。这就像是拥有一副多维度的眼镜,能够让我们看到变量之间复杂的相互作用。

5.2.1 基础知识

  • 引入多个解释变量:多元回归分析允许我们包括多个自变量(解释变量),以研究它们如何共同影响因变量。这种方法能帮助我们更全面地理解数据,发现可能被单变量分析忽略的关系。
  • 多重共线性问题:当两个或更多的解释变量高度相关时,就会出现多重共线性问题,这可能会影响回归模型的稳定性和准确性。识别和处理多重共线性是多元回归分析中的一个重要步骤。
  • 交互作用和非线性关系:在现实世界中,变量之间的关系往往不是简单的线性关系,它们可能相互影响(交互作用)或以非线性方式影响因变量。多元回归分析可以包含这些复杂的关系,为我们提供更深入的见解。

5.2.2 主要案例:企业收益与多因素关系分析

场景:一家大型企业希望分析其收益与广告支出、市场规模、竞争强度等因素之间的关系。

Python 示例

from sklearn.linear_model import LinearRegression
import pandas as pd

# 假设有一个DataFrame,包含企业收益及其潜在影响因素
data = pd.DataFrame({
    'Revenue': [100, 150, 200, 250, 300],
    'Ad_Spend': [20, 25, 30, 35, 40],
    'Market_Size': [80, 85, 90, 95, 100],
    'Competition': [3, 3, 2, 4, 4]
})

# 建立多元回归模型
X = data[['Ad_Spend', 'Market_Size', 'Competition']]
y = data['Revenue']
model = LinearRegression()
model.fit(X, y)

# 输出模型系数
print("Coefficients:", model.coef_)

5.2.3 拓展案例 1:房价影响因素分析

场景:房地产分析师希望了解房屋特征(如面积、卧室数量、地理位置)如何影响房价。

Python 示例

# 假设已有包含房屋特征和价格的DataFrame
# 此处代码省略数据准备步骤

# 建立多元回归模型
model = LinearRegression()
model.fit(housing_data[['Area', 'Bedrooms', 'Location']], housing_data['Price'])

# 输出模型系数
print("Coefficients:", model.coef_)

5.2.4 拓展案例 2:员工满意度因素分析

场景:企业HR希望通过分析员工的年龄、工作年限、职位级别等因素来了解哪些因素对员工满意度有重要影响。

Python 示例

# 假设已有包含员工特征和满意度评分的DataFrame
# 此处代码省略数据准备步骤

# 建立多元回归模型
model = LinearRegression()
model.fit(employee_data[['Age', 'Years_of_Service', 'Job_Level']], employee_data['Satisfaction'])

# 输出模型系数
print("Coefficients:", model.co

ef_)

通过这些案例,我们可以看到多元回归分析如何帮助我们在复杂的现实世界中寻找变量之间的关系。它不仅可以揭示单个因素对结果的影响,还能帮助我们理解多个因素是如何共同作用的。多元回归分析是一把强大的工具,可以帮助我们在数据中发现模式,预测未来,并作出更加明智的决策。

在这里插入图片描述


5.3 回归分析的应用

回归分析是一种强大的统计工具,广泛应用于经济学、公共卫生、营销研究等多个领域。它不仅能帮助我们理解变量之间的关系,还能预测未来事件的发生,为决策提供数据支持。

5.3.1 基础知识

  • 预测与解释:回归分析可以用于预测某个变量的值,也可以用来解释不同变量之间是如何相互作用的。
  • 定量分析:通过回归分析,我们可以定量地评估自变量对因变量的影响程度,例如,了解广告支出每增加一千元,销售额将增加多少。
  • 决策制定:回归分析的结果可以帮助决策者评估不同策略的效果,制定更加科学的决策。

5.3.2 主要案例:影响房价的因素分析

场景:房地产公司希望了解哪些因素对房价有显著影响,以指导未来的房屋设计和定价策略。

Python 示例

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# 假设已有房屋数据集
data = pd.read_csv('housing_data.csv')

X = data.drop('Price', axis=1)  # 自变量
y = data['Price']  # 因变量

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 建立并训练模型
model = LinearRegression()
model.fit(X_train, y_train)

# 预测和评估
y_pred = model.predict(X_test)
print("Mean Squared Error:", mean_squared_error(y_test, y_pred))

5.3.3 拓展案例 1:广告支出与销售额的关系

场景:一家公司想要评估其在不同广告渠道(电视、广播、在线)上的支出对销售额的影响。

Python 示例

# 假设已有广告支出和销售额的数据集
# 此处代码省略数据准备步骤

model = LinearRegression()
model.fit(ad_data[['TV', 'Radio', 'Online']], ad_data['Sales'])

# 输出模型系数来评估每个广告渠道的影响力
print("Coefficients:", model.coef_)

5.3.4 拓展案例 2:教育投资对经济增长的影响

场景:政府部门希望通过分析教育投资与经济增长之间的关系,来制定未来的教育政策。

Python 示例

# 假设已有包含教育投资和经济增长数据的DataFrame
# 此处代码省略数据准备步骤

model = LinearRegression()
model.fit(education_data[['Education_Investment']], education_data['Economic_Growth'])

# 输出模型系数来评估教育投资对经济增长的影响
print("Coefficient:", model.coef_[0])

通过这些案例,我们可以看到回归分析如何在不同领域内应用,帮助我们解决实际问题。无论是在房地产、广告还是教育政策等领域,回归分析都能为我们提供深入的洞见和强有力的数据支持,使决策过程更加科学和高效。使用Python进行回归分析,不仅能快速得到结果,还能通过各种库轻松实现数据的处理和模型的评估。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/384421.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【小沐学GIS】基于WebGL绘制三维数字地球Earth(OpenGL)

🍺三维数字地球系列相关文章如下🍺:1【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第一期2【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第二期3【小沐学GIS】…

最短路径算法

1. Dijkstra算法 在正数权重的有向图中求解某个源点到其余各个顶点的最短路径一般可以采用迪杰斯特拉算法(Dijkstra算法)。 1.1 适用场景 单源最短路径权重都为正 1.2 伪代码 1.3 示例 问题描述: 计算节点0到节点4的最短路径&#xff0c…

arduino uno R3驱动直流减速电机(蓝牙控制)

此篇博客用于记录使用arduino驱动直流减速电机的过程,仅实现简单的功能:PID调速、蓝牙控制 1、直流减速电机简介2、DRV8833电机驱动模块简介3、HC-05蓝牙模块简介电机转动测试4、PID控制5、蓝牙控制电机 1、直流减速电机简介 我在淘宝购买的电机&#x…

C语言整型数据类型..

1.整型数据类型 在C语言中 根据数据范围从小到大依次为char、short、int、long、long long 但是对于整型来说 为什么有这么多类型呢 我们得先说字节的本质: 计算机是通过晶体管的开关状态来记录数据 晶体管通常8个为一组 称为一个字节 而晶体管由两种状态 分别是开…

交叉熵损失函数(Cross-Entropy Loss)的基本概念与程序代码

交叉熵损失函数(Cross-Entropy Loss)是机器学习和深度学习中常用的损失函数之一,用于分类问题。其基本概念如下: 1. 基本解释: 交叉熵损失函数衡量了模型预测的概率分布与真实概率分布之间的差异。在分类问题中&…

春节假期:思考新一年的发展思路

春节假期是人们放松身心、享受家庭团聚的时刻,但除了走亲戚、玩、吃之外,我们确实也需要思考新的一年的发展思路。以下是一些建议,帮助您在春节假期中为新的一年做好准备: 回顾过去,总结经验:在春节期间&a…

大华智慧园区综合管理平台/emap/devicePoint RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

【十六】【C++】stack的常见用法和练习

stack的常见用法 C标准库中的stack是一种容器适配器,它提供了后进先出(Last In First Out, LIFO)的数据结构。stack使用一个底层容器进行封装,如deque、vector或list,但只允许从一端(顶部)进行…

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频,包括:2024版 Django5 Python we…

第8讲个人中心页面搭建实现

个人中心页面搭建实现 <template><view class"user_center"><!-- 用户信息开始 --><view class"user_info_wrap"><!--获取头像--><button class"user_image"></button> <view class"user_n…

14.盔甲?装甲?装饰者模式!

人类的军工发展史就是一场矛与盾的追逐&#xff0c;矛利则盾坚&#xff0c;盾愈坚则矛愈利。在传统的冶金工艺下&#xff0c;更坚固的盾牌和盔甲往往意味着更迟缓笨重的运动能力和更高昂的移动成本。从战国末期的魏武卒、秦锐士&#xff0c;到两宋之交的铁浮图、重步兵&#xf…

Roop的安装教程

roop插件的安装&#xff0c;并不容易 并且最好就是在电脑本地完成&#xff0c;因为涉及到C、visual studio软件&#xff0c;并且还需要在电脑本地放置一些模型&#xff0c;用autoDL其实也有镜像&#xff0c;但是需要数据扩容至少100G&#xff0c;烧钱。。。 电脑本地&#xff0…

javaweb物业管理系统jsp项目

文章目录 物业管理系统一、系统演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 物业管理系统 可用作javaweb项目、servlet项目、jsp项目的项目设计 一、系统演示 物业管理系统 二、项目介绍 语言&a…

ChatGPT高效提问—prompt常见用法(续篇)

ChatGPT高效提问—prompt常见用法&#xff08;续篇&#xff09; ​ 对话式prompt适用于模拟各种交流情境。若我们意图探索在特殊场合下可能出现的对话情景&#xff0c;或者模拟一段对话流程&#xff0c;可以采用这种方法&#xff0c;通过精准的prompt指令&#xff0c;引导Chat…

多视图特征学习 Multi-view Feature Learning既可以被看作是一种学习框架,也可以被看作是一种具体的学习算法!

Multi-view Feature Learning 1.多视图特征学习Multi-view Feature Learning的基本介绍总结 1.多视图特征学习Multi-view Feature Learning的基本介绍 多视图特征学习是一种利用多视图数据集来进行联合学习的机器学习方法。多视图数据指的是对同一事物从多种不同的途径或角度进…

监测Nginx访问日志502情况后并做相应动作

今天带大家写一个比较实用的脚本哈 原理&#xff1a; 假设服务器环境为lnmp&#xff0c;近期访问经常出现502现象&#xff0c;且502错误在重启php-fpm服务后消失&#xff0c;因此需要编写监控脚本&#xff0c;一旦出现502&#xff0c;则自动重启php-fpm服务 场景&#xff1a; 1…

人脸追踪案例及机器学习认识

1.人脸追踪机器人初制 用程序控制舵机运动的方法与机械臂项目完全相同。 由于摄像头的安装方式为上下倒转安装&#xff0c;我们在编写程序读取图像时需使用 flip 函数将 图像上下翻转。 现在&#xff0c;只需要使用哈尔特征检测得到人脸在图像中的位置&#xff0c;再指示舵机运…

C++内联函数深入讲解

用法&#xff1a; 在函数的返回值前面加上inline&#xff0c;例如&#xff1a; 作用&#xff1a; 内联函数的存在其实是为了解决c语言中一些问题&#xff0c;比如有一个频繁调用的小函数&#xff0c;每次调用都需要建立栈帧&#xff0c;压栈出栈&#xff0c;减少了效率&#xf…

【复现】litemall商场系统后台弱口令漏洞_47

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 litemall是一个简单的商场系统&#xff0c;基于现有的开源项目&#xff0c;重新实现一个完整的前后端项目&#xff0c;包含小程序…

单链表基础知识点

单链表的读取 对于单链表实现获取第i个元素的数据的操作 GetElem&#xff0c;在算法上&#xff0c;相对要麻烦一些。 获得链表第i个数据的算法思路: 声明一个结点p指向链表第一个结点&#xff0c;初始化j从1开始;当j<i时&#xff0c;就遍历链表&#xff0c;让p的指针向后移…