数据挖掘与预测分析 读书笔记(四)7种回归模型—1线性回归

七种回归模型 

  • 线性回归(Linear Regression)
  • 逻辑回归(Logistic Regression)
  • 多项式回归(Polynomial Regression)
  • 逐步回归(Stepwise Regression)
  • 岭回归(Ridge Regression)
  • 套索回归(Lasso Regression)
  • 弹性回归(ElasticNet Regression)

       在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析可以通过历史数据进行预测,回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;按照因变量的多少,可分为简单回归分析和多重回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。(百度百科)

回归模型主要作用:

  1. 揭示了因变量和自变量之间的关系
  2. 揭示了多个自变量对一个因变量的影响程度大小

回归模型主要由三个维度指标来度量(独立变量的数量、因变量的类型和回归线的参数)

A、线性回归(Linear Regression)

因变量类型是连续的,自变量可以是连续的也可以是离散的,线性回归的本质是线性的。

线性回归模型建立了因变量(Y)和一个或多个自变量(X)之间的关系。

表达式为:Y=a+b*X+e,其中 a 为直线截距,b 为直线斜率,e 为误差项。

如果给定自变量 X,就能通过这个线性回归表达式计算出预测值,即因变量 Y。

如何获得最佳拟合直线(确定 a 和 b 值)?

这个问题可以使用最小二乘法(Least Square Method)轻松解决。最小二乘法是一种拟合回归线的常用算法。它通过最小化每个数据点与预测直线的垂直误差的平方和来计算得到最佳拟合直线。因为计算的是误差平方和,所以误差正负值之间没有相互抵消。

线性回归模型重点:

  • 自变量和因变量之间必须满足线性关系。
  • 多元回归存在多重共线性,自相关性和异方差性。
  • 线性回归对异常值非常敏感。异常值会严重影响回归线和最终的预测值。
  • 多重共线性会增加系数估计的方差,并且使得估计对模型中的微小变化非常敏感。结果是系数估计不稳定。

 

 

 

  用卡尔曼滤波来举例:

 

 

正常python直接用公式解出最小二乘xls即可

模型的优化 

#数据读取
import os
print(os.getcwd())
import pandas as pd
import numpy as np
df_women = pd.read_scv("women.csv",index_col=0,header=0)
df_women.tail(10)
df_women.describe()
X = df_women["height"]
y = df_women["weight"]
#更新模型
import statsmodels.api as sm
X_add = sm.add_constant(X)
#X_add = sm.add_constant(X,to_numpy())
model_update = sm.OLS(y,X_add)
result_update = model_update.fit()
print(result_update.summary())
print("查看斜率及截距项:",result_update.params)
y_predict_update = result_update.predict()
y_predict_update
#画图
import matplotlib.pyplot as plt
%matplotlib inline
plt,rcParams["font.family"]="simHei"
#"Heiti TC"
plt.scatter(df_women["height"],df_women["weight"])
plt.plot(df_women["height"],y_predict_update)
plt.title("身高体重线性回归优化模型分析")
plt.xlabel("身高")
plt.ylabel("体重")
#实时应用
h = 63.5
result_update.predict((1,h,np.power(h,2),np.power(h,3)))
# ans array([130.39340008])

参考 你应该掌握的 7 种回归模型! - 知乎 (zhihu.com) 

课件为内部资料 仅用于学习用途!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一元线性回归数据挖掘中最基本的线性分析方法之一,常用于建立一个自变量和因变量之间的线性关系模型。下面我们使用Python进行一元线性回归分析。 首先,我们需要准备数据。假设我们有一个包含自变量和因变量的数据文件data.csv,其中第一列为自变量,第二列为因变量。我们使用Python的pandas库读取数据文件并进行数据预处理。 ```python import pandas as pd # 读取数据文件 data = pd.read_csv('data.csv') # 提取自变量和因变量 x = data.iloc[:, 0].values.reshape(-1, 1) y = data.iloc[:, 1].values.reshape(-1, 1) ``` 接下来,我们使用Scikit-learn库中的LinearRegression模型进行一元线性回归的建模和拟合。 ```python from sklearn.linear_model import LinearRegression # 创建模型 model = LinearRegression() # 拟合数据 model.fit(x, y) # 输出回归系数和截距 print('Coefficients:', model.coef_) print('Intercept:', model.intercept_) ``` 最后,我们可以使用Matplotlib库进行数据可视化,绘制自变量和因变量的散点图,并在图中添加回归线。 ```python import matplotlib.pyplot as plt # 绘制散点图 plt.scatter(x, y) # 添加回归线 plt.plot(x, model.predict(x), color='red', linewidth=2) # 设置图例和标题 plt.legend(['Regression Line', 'Data Points']) plt.title('Linear Regression') # 显示图形 plt.show() ``` 以上就是使用Python进行一元线性回归的基本步骤和代码实现,你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏曦儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值