当前位置: 首页 > news >正文

python之多元线性回归

目录

  • 前言
  • 实战

前言

多元线性回归是回归分析中的一种复杂模型,它考虑了多个输入变量对输出变量的影响。与一元线性回归不同,多元线性回归通过引入多个因素,更全面地建模了系统关系。

多元线性回归模型的表达式为: f ( X ) = K T X + b f(X) =K^TX+b f(X)=KTX+b
其中,X为输入向量,包含多个特征(自变量);f (X)为模型的输出或响应(预测的目标变量); K T K^T KT 为特征权重;b为是模型的截距或偏置;我们的目标是通过学习 K T K^T KT 和b 使得f (X)尽可能的接近真实观测值y。
为了方便计算和编程,我们可以将b吸收进x和k中去,使得 y = k ^ T x ^ y=\hat{k}^T\hat{x} y=k^Tx^,因为
y = k T x + b ∗ 1 y=k^T x +b*1 y=kTx+b1
展开可得:
y = k 1 x 1 + k 2 x 2 + . . . + k n x n + b ∗ 1 y=k_1x_1+k_2x_2+...+k_nx_n+b*1 y=k1x1+k2x2+...+knxn+b1
我们重现令:
x ^ = ( x , 1 ) = [ x 1 , x 2 , . . . , x n , 1 ] \hat{x}=(x,1)=[x_1,x_2,...,x_n,1] x^=(x,1)=[x1,x2,...,xn,1]
k ^ = ( k , b ) = [ k 1 , k 2 , . . . , k n , b ] \hat{k}=(k,b)=[k_1,k_2,...,k_n,b] k^=(k,b)=[k1,k2,...,kn,b]

从而得到 y = k ^ T x ^ y=\hat{k}^T\hat{x} y=k^Tx^。这样的变形使得模型表达更为简洁,同时不影响其表达能力。

实战

# 导入模块
from sklearn import model_selection
import statsmodels.api as sm
import numpy as np 
import pandas as pd # 导入数据
Profit = pd.read_excel(r'Predict to Profit.xlsx')
# 将数据集拆分为训练集和测试集
train, test = model_selection.train_test_split(Profit, test_size = 0.2, random_state=1234)
# 根据train数据集建模
model = sm.formula.ols('Profit ~ RD_Spend+Administration+Marketing_Spend+C(State)', data = train).fit()print('模型的偏回归系数分别为:\n', model.params)
# 删除test数据集中的Profit变量,用剩下的自变量进行预测
test_X = test.drop(labels = 'Profit', axis = 1)
pred = model.predict(exog = test_X)print('对比预测值和实际值的差异:\n',pd.DataFrame({'Prediction':pred,'Real':test.Profit}))模型的偏回归系数分别为:Intercept               58581.516503
C(State)[T.Florida]       927.394424 
C(State)[T.New York]     -513.468310 
C(State)[T.New York]     -513.468310
RD_Spend                    0.803487
Administration             -0.057792
Marketing_Spend             0.013779
dtype: float64
对比预测值和实际值的差异:Prediction       Real
8   150621.345802  152211.77
48   55513.218079   35673.41
14  150369.022458  132602.65
42   74057.015562   71498.49
29  103413.378282  101004.64
44   67844.850378   65200.33
4   173454.059692  166187.94
31   99580.888894   97483.56
13  128147.138396  134307.35
18  130693.433835  124266.90
http://www.lryc.cn/news/491870.html

相关文章:

  • 学习threejs,使用设置lightMap光照贴图创建阴影效果
  • 一,SQL注入解题(猫舍)
  • 海康大华宇视视频平台EasyCVR私有化部署视频平台海康ISUP是什么?如何接入到EasyCVR?
  • Java ArrayList 与顺序表:在编程海洋中把握数据结构的关键之锚
  • windows下安装wsl的ubuntu,同时配置深度学习环境
  • 开展网络安全成熟度评估:业务分析师的工具和技术
  • Maven Surefire 插件简介
  • 基于微信小程序的平价药房管理系统+LW参考示例
  • react 前端最后阶段静态服务器启动命令
  • Flink中普通API的使用
  • 高性能 ArkUI 应用开发:复杂 UI 场景中的内存管理与 XML 优化
  • 用天翼云搭建一个HivisionIDPhoto证件照处理网站
  • 【算法一周目】滑动窗口(2)
  • Zustand:一个轻量级的React状态管理库
  • C++练级计划->《单例模式》懒汉和饿汉
  • SQL for XML
  • 如何使用GCC手动编译stm32程序
  • 在线绘制Nature Communication同款双色、四色火山图,突出感兴趣的基因
  • C语言:C语言实现对MySQL数据库表增删改查功能
  • C++ 二叉搜索树(Binary Search Tree, BST)深度解析与全面指南:从基础概念到高级应用、算法优化及实战案例
  • 刷题日常(移动零,盛最多水的容器,三数之和,无重复字符的最长子串)
  • 深入了解决策树---机器学习中的经典算法
  • Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
  • 深度学习模型:循环神经网络(RNN)
  • 前端---HTML(一)
  • SQL 复杂查询
  • 银河麒麟桌面系统——桌面鼠标变成x,窗口无关闭按钮的解决办法
  • 抓包之使用chrome的network面板
  • 避坑ffmpeg直接获取视频fps不准确
  • 大数据新视界 -- 大数据大厂之 Hive 函数库:丰富函数助力数据处理(上)(11/ 30)