2022 高教社杯(国赛数学建模)思路解析

2022高教社杯ABCD赛题思路解析:

https://blog.csdn.net/dc_sinor/article/details/126211983

一、简介 – 关于异常检测

异常检测(outlier detection)在以下场景:

  • 数据预处理
  • 病毒木马检测
  • 工业制造产品检测
  • 网络流量检测

等等,有着重要的作用。由于在以上场景中,异常的数据量都是很少的一部分,因此诸如:SVM、逻辑回归等分类算法,都不适用,因为:

监督学习算法适用于有大量的正向样本,也有大量的负向样本,有足够的样本让算法去学习其特征,且未来新出现的样本与训练样本分布一致。

以下是异常检测和监督学习相关算法的适用范围:

异常检测

  • 信用卡诈骗
  • 制造业产品异常检
  • 数据中心机器异常检
  • 入侵检测

监督学习

  • 垃圾邮件识别
  • 新闻分类

二、异常检测算法


import tushare
from matplotlib import pyplot as pltdf = tushare.get_hist_data("600680")
v = df[-90: ].volume
v.plot("kde")
plt.show()

近三个月,成交量大于200000就可以认为发生了异常(天量,嗯,要注意风险了……)


2. 箱线图分析

import tushare
from matplotlib import pyplot as pltdf = tushare.get_hist_data("600680")
v = df[-90: ].volume
v.plot("kde")
plt.show()


大体可以知道,该股票在成交量少于20000,或者成交量大于80000,就应该提高警惕啦!

3. 基于距离/密度

典型的算法是:“局部异常因子算法-Local Outlier Factor”,该算法通过引入“k-distance,第k距离”、“k-distance neighborhood,第k距离邻域”、“reach-distance,可达距离”、以及“local reachability density,局部可达密度 ”和“local outlier factor,局部离群因子”,来发现异常点。

用视觉直观的感受一下,如图2,对于C1集合的点,整体间距,密度,分散情况较为均匀一致,可以认为是同一簇;对于C2集合的点,同样可认为是一簇。o1、o2点相对孤立,可以认为是异常点或离散点。现在的问题是,如何实现算法的通用性,可以满足C1和C2这种密度分散情况迥异的集合的异常点识别。LOF可以实现我们的目标。


4. 基于划分思想

典型的算法是 “孤立森林,Isolation Forest”,其思想是:

假设我们用一个随机超平面来切割(split)数据空间(data space), 切一次可以生成两个子空间(想象拿刀切蛋糕一分为二)。之后我们再继续用一个随机超平面来切割每个子空间,循环下去,直到每子空间里面只有一个数据点为止。直观上来讲,我们可以发现那些密度很高的簇是可以被切很多次才会停止切割,但是那些密度很低的点很容易很早的就停到一个子空间了。

这个的算法流程即是使用超平面分割子空间,然后建立类似的二叉树的过程:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import IsolationForestrng = np.random.RandomState(42)# Generate train data
X = 0.3 * rng.randn(100, 2)
X_train = np.r_[X + 1, X - 3, X - 5, X + 6]
# Generate some regular novel observations
X = 0.3 * rng.randn(20, 2)
X_test = np.r_[X + 1, X - 3, X - 5, X + 6]
# Generate some abnormal novel observations
X_outliers = rng.uniform(low=-8, high=8, size=(20, 2))# fit the model
clf = IsolationForest(max_samples=100*2, random_state=rng)
clf.fit(X_train)
y_pred_train = clf.predict(X_train)
y_pred_test = clf.predict(X_test)
y_pred_outliers = clf.predict(X_outliers)# plot the line, the samples, and the nearest vectors to the plane
xx, yy = np.meshgrid(np.linspace(-8, 8, 50), np.linspace(-8, 8, 50))
Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)plt.title("IsolationForest")
plt.contourf(xx, yy, Z, cmap=plt.cm.Blues_r)b1 = plt.scatter(X_train[:, 0], X_train[:, 1], c='white')
b2 = plt.scatter(X_test[:, 0], X_test[:, 1], c='green')
c = plt.scatter(X_outliers[:, 0], X_outliers[:, 1], c='red')
plt.axis('tight')
plt.xlim((-8, 8))
plt.ylim((-8, 8))
plt.legend([b1, b2, c],["training observations","new regular observations", "new abnormal observations"],loc="upper left")
plt.show()

2022 高教社杯(国赛数学建模)思路解析

2022高教社杯ABCD赛题思路解析:

https://blog.csdn.net/dc_sinor/article/details/126211983

2022高教社杯数学建模思路 - 案例:异常检测相关推荐

  1. 2022高教社杯数学建模思路 - 案例:ID3算法

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 1 ...

  2. 2022高教社杯数学建模思路 - 案例:BIRCH-层次聚类算法

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 1 ...

  3. 2022高教社杯数学建模思路 - 案例:粒子群算法

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 1 ...

  4. 2022高教社杯数学建模思路 - 案例:AdaBoost 算法

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 集 ...

  5. 2022高教社杯数学建模思路 - 复盘:中小微企业的信贷决策

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 数 ...

  6. 2022高教社杯数学建模思路 - 复盘:人力资源安排的最优化模型

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 0 ...

  7. 2022高教社杯数学建模思路 - 复盘:校园网的优化模型

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 1 ...

  8. 【2022高教社杯数学建模】C题:古代玻璃制品的成分分析与鉴别方案及代码实现(已经更新完毕)

    更新进展 2022-9-16 16:30 ,更新内容,问题二可视化及代码 2022-9-16 22:30 ,更新内容,问题三.四可视化及代码, 2022-9-17 12:11 ,更新内容,对四个问题求 ...

  9. 【2022高教社杯数学建模】C题:古代玻璃制品的成分分析与鉴别 赛后总结 39页论文及代码

    1 题目 丝绸之路是古代中西方文化交流的通道,其中玻璃是早期贸易往来的宝贵物证.早期的玻璃在西亚和埃及地区常被制作成珠形饰品传入我国,我国古代玻璃吸收其技术后在本土就地取材制作,因此与外来的玻璃制品外 ...

最新文章

  1. linux shell $# $* $@ $?
  2. 个人博客系统的设计与实现_一款小而美的博客系统,专为程序员设计
  3. python 爬虫热搜_Python网络爬虫之爬取微博热搜
  4. 永辉生活APP卖茅台只收款不发货,永辉超市回应...
  5. linux关闭mysql日志记录_linux 下mysql 运行一段时间后自动关闭,日志无异常
  6. 使用select模型详细介绍并使用此模型来监视标准输入缓冲区stdin里是否还有数据
  7. Makefile自动生成:cmake
  8. 聊聊人像抠图背后的算法技术
  9. 软约束、硬约束、Minimum Snap的轨迹优化方法
  10. 金 融 量 化 分 析 • JoinQuant • 第 七 篇
  11. 线段树(lazy用法)
  12. 每日新闻早报简报十条和1条微语分享
  13. 百词斩2021高频题汇总 | 备战春招,刷这30题就够了!
  14. python中使用pip提示: Fatal error in launcher: Unable to create process using
  15. windows num_workers
  16. 极客日报:腾讯视频、优酷、爱奇艺取消超前点播;苹果为小学生推出编程指南;Win11会导致游戏性能下降
  17. ftp命令行登陆 用法指南
  18. Qt QNetworkAccessManager 下载url
  19. 这些片子你猜到结局了吗?
  20. Lightroom教程_如何导入lr预设?

热门文章

  1. 数学 223. 矩形面积
  2. 怎么在Windows上打开epub文件
  3. bitdock系统错误_BitDock下载_BitDock比特工具栏 v1.6官方最新版_系统之家
  4. tomcat中三种部署项目的方法
  5. 一段真实在个人经历 给那些迷失方向的朋友 转帖
  6. 使用Pano2VR实现背景音乐、放大/缩小、旋转、缩略图和直线/立体/鱼眼模式等
  7. Quartz原理解密
  8. 兴达易控MPI转光纤模块应用-300PLC与远端3公里外地上位机MPI通信
  9. 关于 win8.1 激活问题
  10. java修改导出模板,java模板导出word模板 java根据word模板导出