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

数学建模-基于集成学习的共享单车异常检测的研究

基于集成学习的共享单车异常检测的研究

整体求解过程概述(摘要)

  近年来,共享单车的快速发展在方便了人们出行的同时,也对城市交通产生了一定的负面影响,其主要原因为单车资源配置的不合理。本文通过建立单车租赁数量的预测模型和异常检测模型,以期能够帮助城市合理配置资源。
  首先,进行探索性数据分析。主要步骤为数据预处理、描述性统计和回归分析。其中,分位数回归能够表现出输入变量与输出变量各分位点间的线性关系。
  其次,建立单车预测模型。分别运用集成学习中的 Bagging、Boosting 和模型融合算法 Stacking 进行建模。实验结果显示,Boosting 算法中的 CatBoost 模型对单车租赁数量的预测效果最好。
  最后,建立异常检测模型。运用孤立森林算法检测单车租赁数量的异常值,并利用支持向量机分析各输入变量对租赁异常的影响程度。研究表明,租赁异常可能与城市意外事件的发生、节假日的到来、温度与风速以及湿度的突变和极端恶劣天气的产生有关。预测模型能够帮助城市合理规划共享单车的投放数量,而异常检测模型则有助于城市及时处理突发事件,希望本文的研究能够为城市资源合理配置提供参考。

问题分析

  首先,本文对该共享单车数据集进行了探索性数据分析。探索性数据分析用于解释原始数据,并挖掘数据的潜在规律。第一步,进行数据预处理,即对数值特征的归一化处理和对类别特征的哑变量处理。该预处理方法有利于数据建模分析。第二步,进行描述性统计,本文绘制了小提琴图和饼状图,借以表现各特征变量的概率分布情况。第三步,进行回归分析,其中,相比于线性回归,分位数回归能够表现出解释变量与被解释变量各分位点之间的线性关系,其解释数据效果更好。
  其次,本文对该数据集进行了集成学习研究。集成学习是指将若干个弱学习器通过一定的策略组合得到一个强学习器,其基本分类为 Bagging、Boosting 和Stacking。第一步,运用随机森林、XGBoost、LightBoost 和 CatBoost 四种模型分别对该数据集进行训练,并探究其特征变量重要性。随机森林是集成决策树的Bagging 算法,其学习结果由其决策树的投票产生。XGBoost、LightGBM 和CatBoost 均属于 Boosting 算法,其中,XGBoost 对损失函数进行改进,并利用正则化减少过拟合,提高了模型的泛化能力。LightGBM 支持并行化学习,在处理多维问题时其计算效率更高;CatBoost 在处理类别特征问题上进行了优化,其模型精度往往比 XGBoost 和 LightGBM 更高。第二步,运用 Stacking 方法将上述四种算法进行模型融合,以期得到一个泛化能力更好的模型。Stacking 是模型融合的学习框架,其核心思想是将不同模型的优点进行有机结合,从而提高模型的泛化能力。
  最后,本文以上述模型的训练误差为样本对单车租赁数量进行异常检测研究。第一步,运用孤立森林模型检测样本中的异常点,以期通过误差异常来反映共享单车租赁数量异常。孤立森林是一种异常检测方法,可以精准识别分布稀疏的独立离群点。第二步,运用支持向量机对上述异常情况进行训练,支持向量机非常擅长分类及回归问题,以期通过其向量空间特征系数来反映各变量对单车租赁数量异常的影响程度。集成学习所建立的预测模型能够帮助城市合理规划共享单车的投放数量,而孤立森林和支持向量机所建立的异常检测模型则有助于城市及时处理突发事件。本文研究方法的流程图如下图 1 所示:
在这里插入图片描述
  其中,探索性数据分用于解释数据,集成学习用于构造预测模型,孤立森林和支持向量机用于构造检测模型。

模型的建立与求解(部分)

  对于该数据集中的数值型变量,即数值特征,本文对其进行数据归一化,即统一映射到[0, 1]区间上;数据无量纲化有利于提升机器学习模型的训练精度和收敛速度,其公式如下:
在这里插入图片描述
  其中,𝑥代表原始数据,𝑥′代表归一化后的数据,𝑚𝑎𝑥代表原始数据中最大值,𝑚𝑖𝑛代表原始数据中最小值。数值型变量的代表符号如下表 1 所示:
在这里插入图片描述
  对于该数据集中的分类型变量,即类别特征,本文采用哑变量的处理方式,将其统一变换为 0 或 1 变量。分类型变量的代表符号如下表 2 所示:

在这里插入图片描述
  本文探索性数据分析和集成学习所用数据均为上述预处理数据。

描述性统计

  探索性数据分析(Exploratory Data Analysis,EDA)用于解释原始数据,探索数据之间的潜在规律。EDA 在数据科学工作过程中,能够对多个环节产生影响,是不可或缺的重要步骤。本文采用描述性统计和分位数回归两种方法进行EDA。
  小提琴图是箱线图与密度图的结合,可以同时反映出变量的概率密度及分布情况,其中,箱线图的信息在中间部分,密度图的信息在两侧部分。本文主要运用小提琴图对数值型变量进行了 EDA,其结果如下图 2 所示:

在这里插入图片描述
  从图 2 中可以看出,单车租赁数量与时间和温度这两个变量主要集中分布在中间区域,各数据间的取值无明显差异;而湿度与风速这两个变量存在极值点,可初步判断这两个变量与单车租赁数量有较大相关性。
  对于该数据集中的分类型变量,本文主要运用饼状图进行 EDA,其结果如下图 3 所示:
在这里插入图片描述
  从季节变量饼状图中可以看出,春夏秋冬四季约各为总体的四分之一,说明该数据集的季节变量分布较为均匀;从天气变量饼状图中可以看出,晴天出现的次数最多,约为总体的 63%,而雨雪等极端天气出现的次数最少,仅为 3%;除此之外,工作日所占比重最大,约为总体的 69%,而节假日所占比重最少,仅 3%。

在这里插入图片描述
  为了方便进行回归分析,本文对季节和天气两个类别特征进行编码化处理,其他数据仍为预处理数据,并进行了线性回归分析,其结果如下图 4 所示:

在这里插入图片描述

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

(代码和文档not free)

X - input data, t - number of trees, ψ - subsampling size
输出:a set of t iTrees
1:Initialize Forest
2:set height limit l = ceiling(log2ψ)
3:for i = 1 to t do
4: X’← sample(X, ψ)
5: Forest← Forest∪iTree(X’, 0, l)
6:end for
7:return Forest
输入:X’ – input data
输出:an iTree
1: if X’ cannot be divided then
2: return exNode{Size← | X’ |}
3: else
4: let Q be a list of attribute in X’
5: randomly select an attribute q∈Q
6: randomly select a split point p between the max and min values of attribute q in X’
7: Xl← filter(X’, q < p)
8: Xr← filter(X’, q ≥ p)
9: return inNode{Left← iTree(Xl),
10: Right← iTree(Xr),
11: SplitAtt← q,
12: SplitValue← p}
13: end if
输入:x – an instance, T – an iTree, hlim – height limit, e – current path length;
To be initialized to zero when first called
输出:path length of x
1: if T is an external node or e ≥ hlim then
2: return e + c(T, size) {c(.) is defined in Equation 1}
3: end if
4: α← T.splitAtt
5: if< T.splitValue then
6: return PathLength(x, T.Left, hlim, e +1)
7: else {xα ≥ T.splitValue}
8: return PathLength(x, T.Right, hlim, e +1)
9: end if
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

数学建模-基于集成学习的共享单车异常检测的研究

基于集成学习的共享单车异常检测的研究 整体求解过程概述(摘要) 近年来&#xff0c;共享单车的快速发展在方便了人们出行的同时&#xff0c;也对城市交通产生了一定的负面影响&#xff0c;其主要原因为单车资源配置的不合理。本文通过建立单车租赁数量的预测模型和异常检测模型…...

C语言-内存分配

内存分配 1. 引入 int nums[10] {0}; //对int len 10; int nums[len] {0}; //错是因为系统的内存分配原则导致的2. 概述 在程序运行时&#xff0c;系统为了 更好的管理进程中的内存&#xff0c;所以有了 内存分配机制。 分配原则&#xff1a; 2.1 静态分配 静态分配原…...

算法工程师-机器学习面试题总结(1)

目录 1-1 损失函数是什么&#xff0c;如何定义合理的损失函数&#xff1f; 1-2 回归模型和分类模型常用损失函数有哪些&#xff1f;各有什么优缺点 1-3 什么是结构误差和经验误差&#xff1f;训练模型的时候如何判断已经达到最优&#xff1f; 1-4 模型的“泛化”能力是指&a…...

【蓝桥杯选拔赛真题73】Scratch烟花特效 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析

目录 scratch烟花特效 一、题目要求 编程实现 二、案例分析 1、角色分析...

Juniper EX系列交换机端口配置操作

配置物理端口参数 userhost#set interface ge-slot/pic/port decription description #配置端口描述 userhost#set interface ge-slot/pic/port mtu mtu-number #配置端口MTU userhost#set interface ge-slot/pic/port ether-options speed (10m | 100m | 1g) #配置端口速率…...

2.1 Linux C 编程

一、Hello World 1、在用户根目录下创建一个C_Program&#xff0c;并在这里面创建3.1文件夹来保存Hellow World程序&#xff1b; 2、安装最新版nvim ①sudo apt-get install ninja-build gettext cmake unzip curl ②sudo apt install lua5.1 ③git clone https://github.…...

服务器数据恢复—ocfs2文件系统被格式化为其他文件系统如何恢复数据?

服务器故障&#xff1a; 由于工作人员的误操作&#xff0c;将Ext4文件系统误装入到存储中Ocfs2文件系统数据卷上&#xff0c;导致原Ocfs2文件系统被格式化为Ext4文件系统。 由于Ext4文件系统每隔几百兆就会写入文件系统的原始信息&#xff0c;原Ocfs2文件系统数据会遭受一定程度…...

海云安参与制定《信息安全技术 移动互联网应用程序(App)软件开发工具包(SDK)安全要求》标准正式发布

近日&#xff0c;由TC260&#xff08;全国信息安全标准化技术委员会&#xff09;归口 &#xff0c;主管部门为国家标准化管理委员会&#xff0c;深圳海云安网络安全技术有限公司&#xff08;以下简称“海云安”&#xff09;等多家相关企事业单位共同参与编制的GB/T 43435-2023《…...

如何调用 API | 学习笔记

开发者学堂课程【阿里云 API 网关使用教程:如何调用 API】学习笔记&#xff0c;与课程紧密联系&#xff0c;让用户快速学习知识。 课程地址&#xff1a;阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台 如何调用 API 调用 API 的三要素 要调用 API 需要三…...

关于云备份项目的HTTP协议字段理解

200状态码 给客户端返回该文件全部内容的响应 304状态码 206状态码 和If-Ranage请求头字段搭配使用&#xff0c;...

掉落的俄罗斯方块

欢迎来到程序小院 掉落的俄罗斯方块 玩法&#xff1a;上键 W↑变换、 左键 A← 左移、右键 D→ 右移、下键S ↓ 加速,两种模式&#xff0c; 可以一个大人玩&#xff0c;也可以两个人一起玩&#xff0c;小鸟经过会撞走方块&#xff0c;快去体验吧^^。开始游戏 html <div idc…...

医院不良事件报告系统源码带鱼骨图分析

医院不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”&#xff0c;结合预存上百套已正在使用的模板&#xff0c;帮助医院从对护理事件、药品事件、医疗器械事件、医院感染事件、输血事件…...

数据库相关算法题 V3

订单最多的客户 在考虑多个最多订单客户的情况下可以采用dense_rank()函数&#xff0c;最多则由group by customer_number以及order count(*)得到 select customer_number from (select customer_number,dense_rank() over (order by count(*) desc) as rk from Orders group…...

第二证券:本周3只新股申购,大豆蛋白行业领军企业来了!

截至发稿&#xff0c;本周网上发行有2只新股宣布发行价。创业板新股丰茂股份发行价为31.9元&#xff0c;发行市盈率28.27倍&#xff0c;工作最近一个月平均动态市盈率25.76倍。沪主板新股索宝蛋白发行价为21.29元&#xff0c;发行市盈率26.74倍&#xff0c;工作最近一个月平均动…...

【go语言开发】loglus日志框架的使用

本文将简单介绍loglus框架的基本使用&#xff0c;并给出demo 文章目录 前言Loglus常见用法自定义日志级别使用字段钩子输出到多个位置使用钩子实现自定义日志处理demo 前言 Logrus 是一个用于 Go 语言的结构化日志框架&#xff0c;它提供了丰富的日志级别、钩子和格式化选项。…...

【Unity动画】Unity 动画播放的流程

本文以2D为案例&#xff0c;讲解Unity 播放动画的流程 准备和导入2D动画资源 外部导入序列帧生成的 Unity内部制作的 外部导入的3D动画 2.创建动画过程 打开时间轴Ctrl6 选中场景中的一个未来需要播放动画的物体 回到时间轴点击Create一个新动画片段 拖动2D动画资源放入…...

深度学习——第3章 Python程序设计语言(3.2 Python程序流程控制)

3.2 Python程序流程控制 目录 1.布尔数据类型及相关运算 2.顺序结构 3.选择&#xff08;分支&#xff09;结构 4.循环结构 无论是在机器学习还是深度学习中&#xff0c;Python已经成为主导性的编程语言。而且&#xff0c;现在许多主流的深度学习框架&#xff0c;例如PyTorc…...

EasyExcel生成多sheet页的excel

一、controller层 ApiOperation(value "明细查询导出") PostMapping(value "/SummaryDetailExport") public void summaryDetailExport(RequestBody SearchDTO dto, HttpServletResponse response) throws IOException {reportService.deptPackagingSum…...

家用小型洗衣机哪款性价比高?内衣洗衣机品牌推荐

近日&#xff0c;国内著名的电子商务平台公布了“内衣洗衣机产业趋势”的研究报告。该报告指出&#xff0c;由于消费者对生活质量的要求越来越高&#xff0c;内衣洗衣机的行业也有了长足的发展&#xff0c;特别是在今年以来&#xff0c;内衣洗衣机的销售额同比上涨了830%&#…...

为何Go爬虫依然远没有Python爬虫流行

目录 一、Go与Python的比较 1、语言生态 2、易用性 3、库支持 二、Go爬虫的优势 1、性能与并发性 2、跨平台性 3、内存占用 三、Go爬虫的潜力与未来发展 1、社区支持与库完善 2、跨平台移动应用开发 3、大数据处理与实时分析 四、代码示例 五、结论 在当今的互联…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...