2023年國賽數學建模思路 - 案例:異常檢測

文章目錄

    • 賽題思路
      • 一、簡介 -- 關于異常檢測
        • 異常檢測
        • 監督學習
      • 二、異常檢測算法
        • 2. 箱線圖分析
        • 3. 基于距離/密度
        • 4. 基于劃分思想
  • 建模資料

賽題思路

(賽題出來以后第一時間在CSDN分享)

https://blog.csdn.net/dc_sinor?type=blog

一、簡介 – 關于異常檢測

異常檢測(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()

在這里插入圖片描述

建模資料

資料分享: 最強建模資料
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35874.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35874.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟考高級之系統架構師之數據通信與計算機網絡

概念 OSPF 在劃分區域之后,OSPF網絡中的非主干區域中的路由器對于到外部網絡的路由,一定要通過ABR(區域邊界路由器)來轉發,既然如此,對于區域內的路由器來說,就沒有必要知道通往外部網絡的詳細路由,只要由…

保持城市天際線(力扣)貪心 JAVA

給你一座由 n x n 個街區組成的城市,每個街區都包含一座立方體建筑。給你一個下標從 0 開始的 n x n 整數矩陣 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的建筑物的 高度 。 城市的 天際線 是從遠處觀察城市時,所有建筑物形成的外部輪廓。…

html2canvas生成圖片地址Base64格式轉成blob在轉成file(二進制)可正常發送(保姆教程,復制粘貼可用)

開始: 最終結果: 1. html2canvas方法生成的圖片地址已Base64編碼形式放在img標簽src中可直接展示生成的圖片(注意頁面標簽獲取位置,還有個setTimeout頁面渲染需要時間) setTimeout(function () {var result {};v…

Python 使用Hadoop 3 之HDFS 總結

Hadoop 概述 Hadoop 是一個由Apache 軟件基金會開發的分布式基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序,充分利用集群的威力進行高速運算和存儲。 Hadoop 實現一個分布式文件系統(Hadoop Distributed File Sy…

Python爬蟲——selenium_交互

交互: 點擊:button.click() 輸入:inputs.send_keys() 后退操作:browser.back() 前進操作:browser.forword() 模擬js滾動:browser. js_bottom document.documentElement.scrollTop100000 browser.execute_…

將本地項目上傳至gitee的詳細步驟

將本地項目上傳至gitee的詳細步驟 1.在gitee上創建以自己項目名稱命名的空項目2.進入想上傳的項目的文件夾,然后右鍵點擊3. 初始化本地環境,把該項目變成可被git管理的倉庫4.添加該項目下的所有文件5.使用如下命令將文件添加到倉庫中去6.將本地代碼庫與遠…

Stable Diffusion 插件開發基礎講解

近來Stable diffusion擴散網絡大熱,跟上時代,簡單的文生圖,圖生圖,其實可以滿足絕大多數設計師的應用,但是有什么是賽博畫手無法做到的呢? 那就是他們使用到的stable diffusion的插件開發,他們并不清楚stable diffusino的代碼結構,如果遇到一些代碼層面的報錯問題,他們…

生信豆芽菜-單基因KM曲線

網址:http://www.sxdyc.com/panCancerKMCurve 該工具主要用于查看單基因在泛癌組織中,高低表達的預后情況,這里可以選擇合適的截斷值,比如最佳截斷,中位值,平均值,當然也可以自己輸入&#xff0…

基于長短期神經網絡的客流量預測,基于長短期神經網絡的超短期客流量預測,lstm詳細原理

目錄 背影 摘要 LSTM的基本定義 LSTM實現的步驟 基于長短期神經網絡LSTM的客流量預測 完整代碼: 基于長短期神經網絡LSTM的公交站客流量預測資源-CSDN文庫 https://download.csdn.net/download/abc991835105/88184734 效果圖 結果分析 展望 參考論文 背影 碳排放越來越受到重…

java將字符串中文轉為拼音

可以使用第三方庫來實現中文轉拼音的功能&#xff0c;比如使用pinyin4j這個庫。 首先&#xff0c;需要將pinyin4j庫添加到項目的依賴中。可以通過Maven或者Gradle來添加依賴。 對于Maven&#xff0c;可以在pom.xml文件中添加以下代碼&#xff1a; <dependency><group…

原生信息流廣告特點,如何幫APP開發者增加變現收益?

簡單來說&#xff1a;原生廣告&#xff0c;就是把廣告片和賬號&#xff0c;一起用消耗推流的買量模式&#xff0c;一同投放出去。 用戶看到的廣告/內容&#xff0c;與原生視頻沒有差別——用戶可以點頭像關注、也可以查看賬號歷史信息。原生廣告本質&#xff0c;是顯得真實、原…

聊一聊Sentinel背后的原理

Sentinel簡介 Sentinel是阿里開源的一款面向分布式、多語言異構化服務架構的流量治理組件。 主要以流量為切入點&#xff0c;從流量路由、流量控制、流量整形、熔斷降級、系統自適應過載保護、熱點流量防護等多個維度來幫助開發者保障微服務的穩定性。 上面兩句話來自Sentin…

Android自定義側滑Item

源碼地址&#xff1a;https://github.com/LanSeLianMa/CustomizeView/tree/master/cehuaitem 使用方式一&#xff1a;XML布局中直接使用 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com…

Python爬蟲 爬取圖片

在我們日常上網瀏覽網頁的時候&#xff0c;經常會看到一些好看的圖片&#xff0c;我們就希望把這些圖片保存下載&#xff0c;或者用戶用來做桌面壁紙&#xff0c;或者用來做設計的素材。 我們最常規的做法就是通過鼠標右鍵&#xff0c;選擇另存為。但有些圖片鼠標右鍵的時候并沒…

CVPR 2023 | 用戶可控的條件圖像到視頻生成方法(基于Diffusion)

注1:本文系“計算機視覺/三維重建論文速遞”系列之一&#xff0c;致力于簡潔清晰完整地介紹、解讀計算機視覺&#xff0c;特別是三維重建領域最新的頂會/頂刊論文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI, IJCV 等)。 本次介紹的論…

使用chatGPT-4 暢聊量子物理學(二)

Omer 量子力學的主導哲學或模型或解釋是什么&#xff1f; ChatGPT 量子力學是一門描述微觀世界中粒子行為的物理學理論&#xff0c;但它的解釋和哲學觀點在學術界存在多種不同的觀點和爭議。以下是幾種主要的哲學觀點或解釋&#xff1a; 哥本哈根解釋&#xff1a;這是最為廣泛…

Windows 11清除無效、回收站、過期、緩存、補丁更新文件

Windows 11與之前的Windows版本類似&#xff0c;也需要定期清理無效、垃圾、過期、緩存文件來保持系統性能和存儲空間的優化。以下是在Windows 11中進行這些清理操作的一些建議方法&#xff1a; 磁盤清理工具 Windows 11內置了磁盤清理工具&#xff0c;可以幫助你刪除臨時文件…

Node.js學習筆記-03

七、網絡編程 1. 構建 TCP 服務 TCP 是面向連接的協議&#xff0c;顯著特征 在傳輸之前需要3次握手形成會話。 客戶端 ——請求連接——> 服務器端 ——響應——> 客戶端 ——開始傳輸——> 服務器端。 2. 構建 UDP 服務 3. 構建 HTTP 服務 http模塊 在node中HTT…

《Java面向對象程序設計》學習筆記——第 7 章 面向對象設計的基本原則

?專欄&#xff1a;《Java面向對象程序設計》學習筆記 ?# 第 7 章 面向對象設計的基本原則 7.1 UML 類圖簡介 類的 UML 圖 長方形垂直地分為三層。 第 1 層是名字層。 名字是常規字形&#xff0c;表明該類是具體類&#xff0c;如果類的名字是斜體字形&#xff0c;表明該類…