编写不易 如有不足望各位大佬即使指出 若有帮助请留下一个小赞👍
-
简单线性回归
-
简单线性回归是最基本的线性回归模型,它研究一个自变量(X)和一个因变量(Y)之间的线性关系。在数学表达式中,简单线性回归可以表示为:
其中:
- Y 是因变量。
- X 是自变量。
- 0β0 是截距项。
- 1β1 是斜率,表示X每变化一个单位,Y预期将如何变化。
- ϵ 是误差项,表示模型无法解释的随机变异。
-
多元线性回归
-
多元线性回归(Multiple Linear Regression)
多元线性回归是简单线性回归的扩展,它允许研究多个自变量(X1, X2, ..., Xn)与一个因变量(Y)之间的关系。数学表达式如下:
其中:
是因变量。
是自变量。
是截距项。
是各自变量的系数,表示相应自变量每变化一个单位,Y预期将如何变化。
是误差项。
- 简单线性回归 适用于研究单一因素对结果的影响,例如研究广告支出与销售额之间的关系。
- 多元线性回归 适用于研究多个因素对结果的综合影响,例如研究教育水平、工作经验和性别等因素对工资水平的影响。
- R-squared(决定系数):衡量模型解释的变异性的比例。
- Adjusted R-squared:对R-squared进行调整,考虑自变量的数量。
- F-statistic:检验模型中所有自变量的联合显著性。
- P-values:检验每个自变量的显著性。
- 线性回归假设自变量和因变量之间存在线性关系。
- 需要检查数据的正态性、线性、独立性和同方差性。
- 多重共线性可能会影响模型的稳定性和解释性。
- 模型诊断是必要的,以确保模型假设得到满足。
-
Python编程基础
- 1)
实验环境
Jupyter
-
2)准备工作
点击屏幕右上方的下载实验数据模块,选择下载linear_regression_details.tgz到指定目录下,然后再依次选择点击上方的File->Open->Upload,上传刚才下载的数据集压缩包,再使用如下命令解压:
!tar -zxvf linear_regression_details.tgz linear_regression_details/ linear_regression_details/Advertising.csv.bak linear_regression_details/Advertising.csv
3)关于广告数据的问题
# read data into a DataFrame import pandas as pd import matplotlib.pyplot as plt import statsmodels.formula.api as smf data = pd.read_csv('linear_regression_details/Advertising.csv', index_col=0) print(data.head())
TV radio newspaper sales
NO
1 230.1 37.8 69.2 22.1
2 44.5 39.3 45.1 10.4
3 17.2 45.9 69.3 9.3
4 151.5 41.3 58.5 18.5
5 180.8 10.8 58.4 12.9
可以看出数据具有以下特点:
电视:在特定市场中为单个产品花费在电视上的广告费(数千美元)
电台:在广播上花费的广告费
报纸:在报纸上花费的广告费
数据的回应为:
销售:在给定市场中销售单个产品的数目(以:千个小部件为单位)
打印散点图可以看出数据间的关系:
# visualize the relationship between the features and the response using scatterplots fig, axs = plt.sub