導航:首頁 > 編程語言 > ais數據異常檢測python

ais數據異常檢測python

發布時間:2023-02-04 23:14:21

python異常和錯誤的區別

什麼是錯誤?
錯誤分為兩種情況:第一種語法錯誤,代碼不符合解釋器或者編譯器語法;第二種邏輯錯誤,不完整或者不合法輸入或者計算出現問題。
什麼是異常?
所謂的異常就是執行過程中出現萬體導致程序無法執行,同樣分為兩種情況:第一種程序遇到邏輯或者演算法問題;第二種運行過程中計算機錯誤,內存不夠或者IO錯誤。
Python中錯誤和異常有什麼區別?
錯誤是代碼運行前的語法或者邏輯錯誤,語法錯誤在執行前修改,邏輯錯誤無法修改;
而異常分為兩個步驟,異常產生,檢查到錯誤且解釋器認為是異常,拋出異常;第二是異常處理,截獲異常,忽略或者終止程序處理異常。
從軟體方面來說,錯誤是語法或者邏輯上的問題,語法錯誤指示軟體的結構上有錯誤,導致不能被解釋器解釋或者編譯器無法編譯,這些錯誤必須在程序執行前進行糾正;當程序語法正確後,剩下的就是邏輯錯誤問題,邏輯錯誤可能是由於不完整或不合法的輸入導致,在其他情況下,可能是邏輯無法生成、計算或輸出結果需要的過程無法執行。這些錯誤通常分別被稱為域錯誤和范圍錯誤。
當Python檢測到一個錯誤時,解釋器就會指出當前已經無法繼續執行下去,這時就出現異常。
而異常它是因為程序出現了錯誤而在正常控制流以外採取的行為,這個行為分為兩個階段:首先是引起異常發生的錯誤,然後是檢測階段;
第一個階段是在發生了一個異常條件後發生的,只要檢測到錯誤並且意識到異常條件,解釋器會引發一個異常,引發也可以叫作觸發或生成,解釋器通過它通知當前控制流有錯誤發生;
Python也允許程序員自己引發異常,無論是Python解釋器還是程序員引發的,異常就是錯誤發生的信號,當前流將被打斷,用來處理這個錯誤並採取相應的操作,這就是第二個階段。
對異常的處理發生在第二階段,異常引發後,可以調用很多不同的操作,可以是忽視錯誤,或是減輕問題的影響後設法繼續執行程序,所以的這些操作都代表一種繼續,或是控制的分支,關鍵是程序員在錯誤發生時可以指示程序如何執行。
類似Python這樣支持引發和處理異常的語言,可以讓開發人員在錯誤發生時更直接地控制它們,程序員不僅僅有了檢測錯誤的能力,還可以在它們發生時採取更可靠的補救措施。

❷ python數據分析綜合項目--空氣質量指數分析

近年來,我國的環境問題比較嚴重,很多城市出現了霧霾天氣,當然也有很多城市空氣依舊清新,為了研究具體的空氣環境城市分布,我們採用了假設檢驗以及線性回歸的思想對AQI(空氣質量指數)進行分析和預測,其中AQI的值越大,表示空氣質量越差,AQI值越小,表明空氣質量越好。

1.列出空氣質量優秀/較差的五個城市
2.全國空氣質量分布情況
3.臨海城市和內陸城市的空氣質量對比
4.影響空氣指數的因素
5.空氣質量均值驗證

City 城市名
AQI 空氣質量指數
Precipitation 降雨量
GDP 城市生產總值
Temperature 溫度
Longitude 經度
Latitude 緯度
Altitude 海拔高度
PopulationDensity 人口密度
Coastal 是否沿海
GreenCoverageRate 綠化覆蓋率
Incineration(10,000ton) 焚燒量(10000噸)

在進行數據分析之前,我們對數據集進行觀察並對其中的缺失值、重復值、異常值進行處理

我們發現降雨量數據中包含了4個缺失值,為了保證數據的精確,我們查一下降雨量的數據分布

很明顯的呈現右偏分布,因此採用平均數來替代缺失值並不妥,我們這里用中位數來代替

GDP屬性中檢測出8條異常值,我們這里採取用極端值替換的方式,將異常值替換成最大值

數據集處理完畢之後,我們開始進行數據分析

按照AQI降序排列,選出排名前五以及後五的城市,進行可視化,結果如下

結論:空氣質量較好的城市為韶關市、南平市、梅州市、基隆市、三明市,空氣質量堪憂的城市分別為焦作市、錦州市、保定市、朝陽市、北京市

這里我們將AQI指數分為六個等級,並根據等級統計全國空氣質量的等級情況

我們再用散點圖繪制下全國的空氣質量分布

結論:我國城市的空氣質量集中在一級、二級和三級,高污染城市比例較低;從地理位置來看,西部城市空氣質量優於東部城市,南部城市優於北部城市。

根據上面的結論我們發現,彷彿臨海城市的空氣質量普遍高於內陸地區,那麼這個結論是否是真的呢?還需要進一步驗證。

首先,我們來統計下不同地理環境的城市數量

第二步,繪制臨海和內陸城市的AQI分布圖

我們發現內陸城市AQI集中分布在50-100區間內,而沿海城市AQI集中分布在0-50區間,在此樣本中,沿海的AQI分布低於內陸城市,但是這畢竟是樣本,無法推測出總體分布情況,還需進一步探測。

第三步,統計AQI均值並繪制分布密度圖

第四步,差異檢驗,查看內陸沿海AQI均值分布是否顯著

我們先假設內陸城市和沿海城市的平均值相同

結果得出支持的概率為0.006,遠低於0.05,因此我們否定原假設,選擇備擇假設,即內陸城市和沿海城市的平均值不相同

結論:經過分析,我們發現有超過99%的概率可以證明臨海城市空氣質量優於內陸城市的空氣質量。

為了探究影響空氣質量的具體因素,我們需要計算出兩個變數之間的相關系數,以此進行判斷,這里採用熱力圖進行可視化操作。

結論:從顯示結果看出,AQI主要受降雨量和緯度的影響,其中降雨量越多,空氣質量越好(0.4);緯度越低,空氣質量越好(-0.55)
當然,從整個圖片來看,也能發現很多變數之間的關系,比如GDP與焚燒量的正相關系數達到了0.9,溫度與緯度的負相關系數達到了-0.81等。

傳聞空氣質量均值在71左右,這個消息是否是准確的呢?我們進行一次驗證。

首先計算樣本的均值

結果顯示為75.334

那麼總體的均值是否為71呢?這里先假設總體的均值為71,進行t檢驗

結論:可以看出,偏離均值1.81倍的標准差,而且p值大於0.05,我們接受原假設(即空氣質量均值在71左右)另外,我們還可以計算出在置信度為95%時,空氣質量均值的置信區間為70-80。

❸ Python中程序異常都能被處理嗎

「異常」是Python對象,表示一個錯誤。

如果不想出現異常後程序自動停止運行,編程的人,就要主動捕捉異常,並自己作出相應處理。

捕捉異常可以使用try/except語句。

try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息並處理。

下面是try/except的示例,說明了怎樣處理各種異常:

try:

<語句> #運行別的代碼

except <名字>:

<語句> #如果在try部份引發了'name'異常

except <名字>,<數據>:

<語句> #如果引發了'name'異常,獲得附加的數據

else:

<語句> #如果沒有異常發生

Python的各種標准異常是預先定義好的。基本上包括了常見的異常情況,主要有以下內容。

異常名稱 描述

BaseException 所有異常的基類

SystemExit 解釋器請求退出

KeyboardInterrupt 用戶中斷執行(通常是輸入^C)

Exception 常規錯誤的基類

StopIteration 迭代器沒有更多的值

GeneratorExit 生成器(generator)發生異常來通知退出

StandardError 所有的內建標准異常的基類

ArithmeticError 所有數值計算錯誤的基類

FloatingPointError 浮點計算錯誤

OverflowError 數值運算超出最大限制

ZeroDivisionError 除(或取模)零 (所有數據類型)

AssertionError 斷言語句失敗

AttributeError 對象沒有這個屬性

EOFError 沒有內建輸入,到達EOF 標記

EnvironmentError 操作系統錯誤的基類

IOError 輸入/輸出操作失敗

OSError 操作系統錯誤

WindowsError 系統調用失敗

ImportError 導入模塊/對象失敗

LookupError 無效數據查詢的基類

IndexError 序列中沒有此索引(index)

KeyError 映射中沒有這個鍵

MemoryError 內存溢出錯誤(對於Python 解釋器不是致命的)

NameError 未聲明/初始化對象 (沒有屬性)

UnboundLocalError 訪問未初始化的本地變數

ReferenceError 弱引用(Weak reference)試圖訪問已經垃圾回收了的對象

RuntimeError 一般的運行時錯誤

NotImplementedError 尚未實現的方法

SyntaxError Python 語法錯誤

IndentationError 縮進錯誤

TabError Tab 和空格混用

SystemError 一般的解釋器系統錯誤

TypeError 對類型無效的操作

ValueError 傳入無效的參數

UnicodeError Unicode 相關的錯誤

UnicodeDecodeError Unicode 解碼時的錯誤

UnicodeEncodeError Unicode 編碼時錯誤

UnicodeTranslateError Unicode 轉換時錯誤

Warning 警告的基類

DeprecationWarning 關於被棄用的特徵的警告

FutureWarning 關於構造將來語義會有改變的警告

OverflowWarning 舊的關於自動提升為長整型(long)的警告

PendingDeprecationWarning 關於特性將會被廢棄的警告

RuntimeWarning 可疑的運行時行為(runtime behavior)的警告

SyntaxWarning 可疑的語法的警告

UserWarning 用戶代碼生成的警告

Python系統處理異常就是提示一下,停止運行。不想停止,只有自己處理。

可以不帶類型,所有異常執行同一組語句:

try:
正常的操作
except:
發生異常,執行這塊代碼
else:
如果沒有異常執行這塊代碼


也可以多個異常共用一段代碼:

ry:
正常的操作
except(Exception1[, Exception2[,...ExceptionN]]]):
發生以上多個異常中的一個,執行這塊代碼
else:
如果沒有異常執行這塊代碼

還有一種格式,可以有finally部分:

try:
fh = open("testfile", "w")
try:
fh.write("這是一個測試文件,用於測試異常!!")
finally:
print "關閉文件"
fh.close()except IOError:
print "Error: 沒有找到文件或讀取文件失敗"

當在try塊中拋出一個異常,立即執行finally塊代碼。

finally塊中的所有語句執行後,異常被再次觸發,並執行except塊代碼。

參數的內容不同於異常。

除了標准異常,我們也可以自己定義異常,並進行處理,這時用到raise語句:

raise [Exception [, args [, traceback]]]

語句中 Exception 是異常的類型(例如,NameError)參數標准異常中任一種,args 是自已提供的異常參數。

最後一個參數是可選的(在實踐中很少使用),如果存在,是跟蹤異常對象。

相應的異常處理程序示例如下:

try:
正常語句,內含raise語句

except Exception,err:
觸發自定義異常

else:
其餘代碼

❹ 對於異常值的檢測

離群點,是一個數據對象,它顯著不同於其他數據對象,與其他數據分布有較為顯著的不同。有時也稱非離群點為「正常數據」,離群點為「異常數據」。

離群點跟雜訊數據不一樣,雜訊是被觀測變數的隨機誤差或方差。一般而言,雜訊在數據分析(包括離群點分析)中不是令人感興趣的,需要在數據預處理中剔除的,減少對後續模型預估的影響,增加精度。

離群點檢測是有意義的,因為懷疑產生它們的分布不同於產生其他數據的分布。因此,在離群點檢測時,重要的是搞清楚是哪種外力產生的離群點。

常見的異常成因:

通常,在其餘數據上做各種假設,並且證明檢測到的離群點顯著違反了這些假設。如統計學中的假設檢驗,基於小概率原理,對原假設進行判斷。一般檢測離群點,是人工進行篩選,剔除不可信的數據,例如對於房屋數據,面積上萬,卧室數量過百等情況。而在面對大量的數據時,人工方法耗時耗力,因此,才有如下的方法進行離群點檢測。

統計學方法是基於模型的方法,即為數據創建一個模型,並且根據對象擬合模型的情況來評估它們。大部分用於離群點檢測的統計學方法都是構建一個概率分布模型,並考慮對象有多大可能符合該模型。

離群點的概率定義:離群點是一個對象,關於數據的概率分布模型,它具有低概率。這種情況的前提是必須知道數據集服從什麼分布,如果估計錯誤就造成了重尾分布。

a. 參數法:

當數據服從正太分布的假設時在正態分布的假定下,u±3σ區域包含99.7%的數據,u±2σ包含95.4%的數據,u±1σ包含68.3%的數據。其區域外的數據視為離群點。

當數據是非正態分布時,可以使用切比雪夫不等式,它對任何分布形狀的數據都適用。根據 切比雪夫不等式 ,至少有(1-1/k 2 )的數據落在±k個標准差之內。所以,有以下結論:

計算得到:通過繪制箱線圖可以直觀地找到離群點,或者通過計算四分位數極差(IQR)定義為Q3-Q1。比Q1小1.5倍的IQR或者比Q3大1.5倍的IQR的任何對象都視為離群點,因為Q1-1.5IQR和Q3+1.5IQR之間的區域包含了99.3%的對象。

涉及兩個或多個屬性或變數的數據稱為多元數據。核心思想是把多元離群點檢測任務轉換成一元離群點檢測問題。

- 卡方統計量的多元離群點檢測 :正態分布的假定下,卡方統計量也可以用來捕獲多元離群點,對象 ,卡方統計量是: , 是 在第i維上的值, 是所有對象在第i維上的均值,而n是維度。如果對象的卡方統計量很大,則該對象是離群點。

b. 非參數法:

構造直方圖
為了構造一個好的直方圖,用戶必須指定直方圖的類型和其他參數(箱數、等寬or等深)。最簡單的方法是,如果該對象落入直方圖的一個箱中,則該對象被看做正常的,否則被認為是離群點。也可以使用直方圖賦予每個對象一個離群點得分,比如對象的離群點得分為該對象落入的箱的容積的倒數。但這個方法很難選擇一個較好的直方圖參數。

注意
傳統的觀點都認為孤立點是一個單獨的點,然而很多的現實情況是異常事件具有一定的時間和空間的局部性,這種局部性會產生一個小的簇.這時候離群點(孤立點)實際上是一個小簇(圖下圖的C1和C3)。

一個對象是異常的,如果它遠離大部分點。這種方法比統計學方法更一般、更容易使用,因為確定數據集的有意義的鄰近性度量比確定它的統計分布更容易。不依賴統計檢驗,將基於鄰近度的離群點看作是那些沒有「足夠多「鄰居的對象。這里的鄰居是用 鄰近度(距離) 來定義的。最常用的距離是絕對距離(曼哈頓)和歐氏距離等等。

一個對象的離群點得分由到它的k-最近鄰的距離給定。離群點得分對k的取值高度敏感。如果k太小,則少量的鄰近離群點可能導致離群點較少;如果K太大,則點數少於k的簇中所有的對象可能都成了離群點,導致離群點過多。為了使該方案對於k的選取更具有魯棒性,可以使用k個最近鄰的平均距離。

從基於密度的觀點來說,離群點是在低密度區域中的對象。一個對象的離群點得分是該對象周圍密度的逆。基於密度的離群點檢測與基於鄰近度的離群點檢測密切相關,因為密度通常用鄰近度定義。

定義密度
一種常用的定義密度的方法是,定義密度為到k個最近鄰的平均距離的倒數 。如果該距離小,則密度高,反之亦然。

另一種密度定義是使用DBSCAN聚類演算法使用的密度定義,即一個對象周圍的密度等於該對象指定距離d內對象的個數。 需要小心的選擇d,如果d太小,則許多正常點可能具有低密度,從而離群點較多。如果d太大,則許多離群點可能具有與正常點類似的密度(和離群點得分)無法區分。 使用任何密度定義檢測離群點具有與基於鄰近度的離群點方案類似的特點和局限性。特殊地,當數據包含不同密度的區域時,它們不能正確的識別離群點。

定義相對密度
為了正確的識別這種數據集中的離群點,我們需要與對象鄰域相關的密度概念,也就是定義相對密度。常見的有兩種方法:
(1)使用基於SNN密度的聚類演算法使用的方法;
(2)用點x的密度與它的最近鄰y的平均密度之比作為相對密度。使用相對密度的離群點檢測( 局部離群點要素LOF技術 ):

一種利用聚類檢測離群點的方法是丟棄遠離其他簇的小簇。這個方法可以和其他任何聚類技術一起使用,但是需要最小簇大小和小簇與其他簇之間距離的閾值。這種方案對簇個數的選擇高度敏感。使用這個方案很難將離群點得分附加到對象上。

一種更系統的方法,首先聚類所有的點,對某個待測點評估它屬於某一簇的程度。(基於原型的聚類可用離中心點的距離來評估,對具有目標函數(例如kmeans法時的簇的誤差平方和)的聚類技術,該得分反映刪除對象後目標函數的改進),如果刪去此點能顯著地改善此項目標函數,則可以將該點定位為孤立點。

基於聚類的離群點:一個對象是基於聚類的離群點,如果該對象不強屬於任何簇。離群點對初始聚類的影響:如果通過聚類檢測離群點,則由於離群點影響聚類,存在一個問題:結構是否有效。為了處理該問題,可以使用如下方法:

對象是否被認為是離群點可能依賴於簇的個數(如k很大時的雜訊簇)。該問題也沒有簡單的答案。一種策略是對於不同的簇個數重復該分析。另一種方法是找出大量小簇,其想法是(1)較小的簇傾向於更加凝聚,(2)如果存在大量小簇時一個對象是離群點,則它多半是一個真正的離群點。不利的一面是一組離群點可能形成小簇而逃避檢測。

根據已有訓練集檢測新樣本是否異常

異常檢測根據原始數據集的不同可分為兩類:
novelty detection: 訓練集中沒有異常樣本
outlier detection: 訓練集中有異常樣本

異常樣本:
數量少,比較分散

novelty detection和outlier detection的區別:

Sklearn異常檢測模型一覽

5.1 奇異點檢測(Novelty Detection)
奇異點檢測,就是判斷待測樣本到底是不是在原來數據的概率分布內。概率學上認為,所有的數據都有它的隱藏的分布模式,這種分布模式可以由概率模型來具象化。

5.1 離群點檢測(Outlier Detection)
不同與奇異點檢測是,現在我們沒有一個干凈的訓練集(訓練集中也有雜訊樣本)。下面介紹的三種離群點檢測演算法其實也都可以用於奇異點檢測。

如果我們認為,可達密度小的目標樣本點就是異常點,這樣未嘗不可。但是,LOF演算法更進一步。

LOF可以用來判斷經緯度的異常。

使用python進行異常值(outlier)檢測實戰:KMeans + PCA + IsolationForest + SVM + EllipticEnvelope

文章引用: 數據挖掘:數據清洗——異常值處理

❺ python怎麼實現數據的異常值的處理

異常值也稱離群值,具體地說,判斷標准依據實際情況,根據業務知識及實際需要而定.
要是一般地說,可以用公式計算:
upper adjacent value = 75th percentile + (75th percentile – 25th percentile) * 1.5
lower adjacent value = 25th percentile – (75th percentile – 25th percentile) * 1.5
翻譯過來:
上界=75%分位數+(75%分位數-25%分位數)*1.5
下界=25%分位數- (75%分位數-25%分位數)*1.5
比上界大的,和比下界小的都是異常值.

❻ python如何做數據分析

Python做數據分析比較好用且流行的是numpy、pandas庫,有興趣的話,可以深入了解、學習一下。

❼ Python中錯誤與異常的規范

8. 錯誤和異常
至今為止還沒有進一步的談論過錯誤信息,不過在你已經試驗過的那些例子中,可能已經遇到過一些。Python 中(至少)有兩種錯誤:語法錯誤和異常( syntax errors 和 exceptions )。
8.1. 語法錯誤
語法錯誤,也被稱作解析錯誤,也許是你學習 Python 過程中最常見抱怨:
>>> while True print('Hello world')
File "
", line 1, in ?
while True print('Hello world')
^
SyntaxError: invalid syntax
語法分析器指出錯誤行,並且在檢測到錯誤的位置前面顯示一個小「箭頭」。 錯誤是由箭頭 前面 的標記引起的(或者至少是這么檢測的): 這個例子中,函數 print() 被發現存在錯誤,因為它前面少了一個冒號( ':' )。 錯誤會輸出文件名和行號,所以如果是從腳本輸入的你就知道去哪裡檢查錯誤了。

❽ Python如何檢測惡意刷單行為

1、打開python。2、輸入檢測類的代碼。將賬號的訂單數和ip地主數量兩個變數進行異常值檢測,分析出黃牛惡意下單的行為特徵,多次重復下單,下單地址區間極短,甚至相同地址。

❾ Python 異常處理總結

什麼是異常?

異常即是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。一般情況下,在Python無法正常處理程序時就會發生一個異常。

異常是Python對象,表示一個錯誤。當Python腳本發生異常時我們需要捕獲處理它,否則程序會終止執行。

python提供了兩個非常重要的功能來處理python程序在運行中出現的異常和錯誤。你可以使用該功能來調試python程序。

異常處理: 本站Python教程會具體介紹。
斷言(Assertions):本站Python教程會具體介紹。

異常處理

捕捉異常可以使用try/except語句。try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息並處理。如果你不想在異常發生時結束你的程序,只需在try里捕獲它。

語法:

以下為簡單的try….except…else的語法:

try的工作原理是,當開始一個try語句後,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。

· 如果當try後的語句執行時發生異常,python就跳回到try並執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。

· 如果在try後的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,並列印預設的出錯信息)。

· 如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。

實例

下面是簡單的例子,它打開一個文件,在該文件中的內容寫入內容,且並未發生異常:

以上程序輸出結果:

實例

下面是簡單的例子,它打開一個文件,在該文件中的內容寫入內容,但文件沒有寫入許可權,發生了異常:

以上程序輸出結果:

使用except而不帶任何異常類型

你可以不帶任何異常類型使用except,如下實例:

以上方式try-except語句捕獲所有發生的異常。但這不是一個很好的方式,我們不能通過該程序識別出具體的異常信息。因為它捕獲所有的異常。

使用except而帶多種異常類型

你也可以使用相同的except語句來處理多個異常信息,如下所示:

try-finally 語句

try-finally 語句無論是否發生異常都將執行最後的代碼。

實例

如果打開的文件沒有可寫許可權,輸出如下所示:

同樣的例子也可以寫成如下方式:

當在try塊中拋出一個異常,立即執行finally塊代碼。finally塊中的所有語句執行後,異常被再次提出,並執行except塊代碼。參數的內容不同於異常。

異常的參數

一個異常可以帶上參數,可作為輸出的異常信息參數。你可以通過except語句來捕獲異常的參數,如下所示:

變數接收的異常值通常包含在異常的語句中。在元組的表單中變數可以接收一個或者多個值。

元組通常包含錯誤字元串,錯誤數字,錯誤位置。

實例

以下為單個異常的實例:

以上程序執行結果如下:

觸發異常

我們可以使用raise語句自己觸發異常

raise語法格式如下:

語句中Exception是異常的類型(例如,NameError)參數是一個異常參數值。該參數是可選的,如果不提供,異常的參數是」None」。

最後一個參數是可選的(在實踐中很少使用),如果存在,是跟蹤異常對象。

實例

一個異常可以是一個字元串,類或對象。 Python的內核提供的異常,大多數都是實例化的類,這是一個類的實例的參數。

定義一個異常非常簡單,如下所示:

注意:為了能夠捕獲異常,」except」語句必須有用相同的異常來拋出類對象或者字元串。

例如我們捕獲以上異常,」except」語句如下所示:

用戶自定義異常

通過創建一個新的異常類,程序可以命名它們自己的異常。異常應該是典型的繼承自Exception類,通過直接或間接的方式。

以下為與RuntimeError相關的實例,實例中創建了一個類,基類為RuntimeError,用於在異常觸發時輸出更多的信息。

在try語句塊中,用戶自定義的異常後執行except塊語句,變數 e 是用於創建Networkerror類的實例。

在你定義以上類後,你可以觸發該異常,如下所示:

來源 | 腳本之家 原文鏈接:http://www.jb51.net/article/47996.htm

❿ Python數據分析 | 數據描述性分析

首先導入一些必要的數據處理包和可視化的包,讀文檔數據並通過前幾行查看數據欄位。

對於我的數據來說,由於數據量比較大,因此對於缺失值可以直接做刪除處理。

得到最終的數據,並提取需要的列作為特徵。

對類別數據進行統計:

類別型欄位包括location、cpc_class、pa_country、pa_state、pa_city、assignee六個欄位,其中:

單變數統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變數,不處理原因或關系。單變數分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。
單變數數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標准差、協方差、變異系數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變數)和頻數,構成比(分類或等級變數)。

對於數值型數據,首先希望了解一下數據取值范圍的分布,因此可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。

按照發布的時間先後作為橫坐標,數值范圍的分布情況如圖所示.

還可以根據最終分類的結果查看這些數值數據在不同類別上的分布統計。

箱線圖可以更直觀的查看異常值的分布情況。

異常值指數據中的離群點,此處定義超出上下四分位數差值的1.5倍的范圍為異常值,查看異常值的位置。

參考:
python數據分析之數據分布 - yancheng111 - 博客園
python數據統計分析 -

科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。

在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定的拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。

衡量兩個變數的相關性至少有以下三個方法:

皮爾森相關系數(Pearson correlation coefficient) 是反應倆變數之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變數之間的相關性。常用於分析自變數之間,以及自變數和因變數之間的相關性。

返回結果的第一個值為相關系數表示線性相關程度,其取值范圍在[-1,1],絕對值越接近1,說明兩個變數的相關性越強,絕對值越接近0說明兩個變數的相關性越差。當兩個變數完全不相關時相關系數為0。第二個值為p-value,統計學上,一般當p-value<0.05時,可以認為兩變數存在相關性。

斯皮爾曼等級相關系數(Spearman』s correlation coefficient for ranked data ) ,它主要用於評價順序變數間的線性相關關系,在計算過程中,只考慮變數值的順序(rank, 秩或稱等級),而不考慮變數值的大小。常用於計算類型變數的相關性。

返回結果的第一個值為相關系數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。

kendall :

也可以直接對整體數據進行相關性分析,一般來說,相關系數取值和相關強度的關系是:0.8-1.0 極強 0.6-0.8 強 0.4-0.6 中等 0.2-0.4 弱 0.0-0.2 極弱。

閱讀全文

與ais數據異常檢測python相關的資料

熱點內容
編譯器管理的存儲有哪些 瀏覽:956
顯控觸摸屏與單片機通信 瀏覽:426
宅之便利店app怎麼使用輕應用 瀏覽:320
去外國怎麼下載外國app 瀏覽:269
linux開機啟動配置 瀏覽:367
androidstudio類注釋 瀏覽:135
如何在pdf中插入圖片 瀏覽:907
京山pdf 瀏覽:28
怎麼解除微信授權的app 瀏覽:168
dcs用什麼編程 瀏覽:326
黑馬程序員專輯獲取 瀏覽:873
加密技術的關鍵密鑰其好處有哪些 瀏覽:977
方言pdf 瀏覽:997
程序員格子襯衣搞笑圖 瀏覽:390
vxworks編譯版本 瀏覽:111
怎麼查看讀取相冊的app 瀏覽:206
那個空調用日立壓縮機 瀏覽:816
androidsdkr25下載 瀏覽:12
哪位程序員的名字是誰 瀏覽:568
蘋果手機底部怎麼放5個app 瀏覽:915