導航:首頁 > 數據處理 > 數據建模如何處理無效值

數據建模如何處理無效值

發布時間:2023-02-12 20:51:49

㈠ 數學建模數據缺失怎麼處理

數學建模數據缺失的處理也就是缺失值的處理,有以下的方法:

缺失太多,直接刪除指標。

例如調查人口信息,發現「年齡」這一項缺失了40%,就直接把該項指標刪除。後面做題時也壓根不用管這一個變數。

因為當一個變數缺失的數據太多時,即使想辦法補上,也可能與實際情況相差甚遠,那麼這些數據也就沒什麼價值了。

那麼,到底缺多少算「多」呢?這並沒有一個硬性的規定,顯然要是缺了30%,40%那肯定是多了。而如果調查14億人的數據中缺少了幾千甚至幾萬,都不算多。所以要具體問題具體分析。

適用賽題:缺失數據「過多」的變數。

用均值、眾數補上。

所謂均值就是平均數,眾數就是出現次數最多的值。

定量數據,例如關於一群人的身高、年齡等數據,那麼用整體的均值放到缺失數據的位置;

定性數據,例如關於一群人的性別、文化程度、某些事件調查的滿意度,用出現次數最多的值也就是眾數補缺失。

適用賽題:人口的數量年齡、經濟產業情況等數據量大、且對個體精度要求不大的數據。

Newton插值法。

簡單來說,牛頓插值法就是根據固定公式,構造近似函數,用近似函數的值來補上缺失值。

缺點:區間邊緣處的不穩定震盪,即龍格現象。形象的來說就是插值次數高的時候,區間內函數看起來挺正常,但在區間邊緣處卻變得忽上忽下。

由於龍格現象,牛頓插值法不適合對導數有要求的題目。

㈡ 怎麼處理缺失值/異常值

https://www.hu.com/question/58230411?sort=created
https://blog.csdn.net/Forlogen/article/details/89534235

(1)隨機丟失(MAR,Missing at Random)(數據丟失的概率與丟失的數據本身無關,而依賴於其他完全變數(無缺失變數))

隨機丟失意味著數據丟失的概率與丟失的數據本身無關,而僅與部分已觀測到的數據有關。也就是說,數據的缺失不是完全隨機的,該類數據的缺失依賴於其他完全變數。

(2)完全隨機丟失(MCAR,Missing Completely at Random)(數據缺失完全隨機事件,無依賴關系)

數據的缺失是完全隨機的,不依賴於任何不完全變數或完全變數,不影響樣本的無偏性。簡單來說,就是數據丟失的概率與其假設值以及其他變數值都完全無關。

(3)非隨機丟失(MNAR,Missing not at Random)

數據的缺失與不完全變數自身的取值有關。分為兩種情況:缺失值取決於其假設值(例如,高收入人群通常不希望在調查中透露他們的收入);或者,缺失值取決於其他變數值(假設基礎數據很正常,也無臨床症狀,醫生可能就覺得無需進一步檢查,所以會有數據缺失)。

在前兩種情況下可以根據其出現情況刪除缺失值的數據,同時,隨機缺失可以通過已知變數對缺失值進行估計。

在第三種情況下,刪除包含缺失值的數據可能會導致模型出現偏差,同時,對數據進行填充也需要格外謹慎。

如果一個病人的體溫測量值是有時缺失的,其原因是醫生覺得病得太重的病人不需要量體溫,那這個缺失顯然不是MAR或者MCAR的。對於離散型特徵,如果將特徵中的缺失值單獨編碼成一個獨立的類別(比如missing),而這個missing類別訓練出來後對response有預測作用,那麼這個特徵中的缺失行為基本不是MAR或者MCAR的。

(1)generative methods:這些方法主要依賴於EM演算法和深度學習,如DAE、GAN等
(2)discriminative methods:如MICE、MissForest、matrix completion等

目前的生成式填補演算法存在著一些缺點,它們是以一種基於對數據分布的先驗假設的方法,當數據中含有混合類別和連續變數時,它的泛化能力就會很差。DAE在一定程度上解決了這個問題,但是它在訓練的過程中需要完整的數據集,在很多情況下,缺失的數據部分在一定程度上反映了完整數據集的內在結構信息,所以獲取到完整的數據集是不太可能的。DAE的另一種方法允許使用不完整的數據集進行訓練,但是它只能根據觀察到的部分來表示數據。而使用DCGANs來完成圖像填補的演算法,同樣需要完整的數據集來訓練判別器。

難點:如果其他變數和缺失變數無關,則預測的結果無意義。如果預測結果相當准確,則又說明這個變數是沒必要加入建模的。一般情況下,介於兩者之間。

方法 0(最簡單粗暴):在構建模型時忽略異常值。 如果缺失數據量少的話

方法1(快速簡單但效果差):把數值型(連續型)變數中的缺失值用其所對應的類別中的中位數替換。把描述型(離散型)變數缺失的部分用所對應類別中出現最多的數值替代。

方法2(耗時費力但效果好):雖然依然是使用中位數和出現次數最多的數來進行替換,方法2引入了權重。即對需要替換的數據先和其他數據做相似度測量也就是下面公式中的Weight,在補全缺失點是相似的點的數據會有更高的權重W。

方法3 (類xgboost):把缺失值當做稀疏矩陣來對待,本身的在節點分裂時不考慮的缺失值的數值。缺失值數據會被分到左子樹和右子樹分別計算損失,選擇較優的那一個。如果訓練中沒有數據缺失,預測時出現了數據缺失,那麼默認被分類到右子樹。這樣的處理方法固然巧妙,但也有風險:即我們假設了訓練數據和預測數據的分布相同,比如缺失值的分布也相同,不過直覺上應該影響不是很大:)

方法4 (回歸):基於完整的數據集,建立回歸方程。對於包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充。當變數不是線性相關時會導致有偏差的估計。

方法5 (Kmeans)先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。

方法6 (離散化)為缺失值定製一個特徵值比如,男/女/缺失 分別對應[0/1,0/1,0/1]=>[0,0,1] 這種onehot編碼,特徵離散化後加入計算。

方法1(AutoEncoder系列):在訓練的時候使用0作為缺失值,相當於不激活邊,在輸出的時候不論輸出了什麼都強行置為0,防止反向傳播的時候影響到邊的權重。

方法2 GAN(GAIN),目前的SOTA

方法1(MissForest):對於一個有n個特徵的數據來說,其中特徵T有缺失值,我們就把特徵T當作標簽,其他的n-1個特徵和原本的標簽組成新的特徵矩陣。那對於T來說,它沒有缺失的部分,就是我們的Y_test,這部分數據既有標簽也有特徵,而它缺失的部分,只有特徵沒有標簽,就是我們需要預測的部分。

那如果數據中除了特徵T之外,其他特徵也有缺失值怎麼辦?答案是遍歷所有的特徵,從缺失最少的開始進行填補(因為填補缺失最少的特徵所需要的准確信息最少)。

填補一個特徵時,先將其他特徵的缺失值若為連續型值可用中位數、平均數代替,離散可用眾數代替,每完成一次回歸預測,就將預測值放到原本的特徵矩陣中,再繼續填補下一個特徵。每一次填補完畢,有缺失值的特徵會減少一個,所以每次循環後,需要用0來填補的特徵就越來越少。當進行到最後一個特徵時(這個特徵應該是所有特徵中缺失值最多的),已經沒有任何的其他特徵需要用0來進行填補了,而我們已經使用回歸為其他特徵填補了大量有效信息,可以用來填補缺失最多的特徵。

方法2(matrix factorization):矩陣分解

然後梯度下降一把梭

「年收入」:商品推薦場景下填充平均值,借貸額度場景下填充最小值;
「行為時間點」:填充眾數;
「價格」:商品推薦場景下填充最小值,商品匹配場景下填充平均值;
「人體壽命」:保險費用估計場景下填充最大值,人口估計場景下填充平均值;
「駕齡」:沒有填寫這一項的用戶可能是沒有車,為它填充為0較為合理;
」本科畢業時間」:沒有填寫這一項的用戶可能是沒有上大學,為它填充正無窮比較合理;
「婚姻狀態」:沒有填寫這一項的用戶可能對自己的隱私比較敏感,應單獨設為一個分類,如已婚1、未婚0、未填-1。

主流的機器學習模型千千萬,很難一概而論。但有一些經驗法則(rule of thumb)供參考:
1)樹模型對於缺失值的敏感度較低,大部分時候可以在數據有缺失時使用。
2)涉及到距離度量(distance measurement)時,如計算兩個點之間的距離,缺失數據就變得比較重要。因為涉及到「距離」這個概念,那麼缺失值處理不當就會導致效果很差,如K近鄰演算法(KNN)和支持向量機(SVM)。
3)線性模型的代價函數(loss function)往往涉及到距離(distance)的計算,計算預測值和真實值之間的差別,這容易導致對缺失值敏感。
4)神經網路的魯棒性強,對於缺失數據不是非常敏感,但一般沒有那麼多數據可供使用。
5)貝葉斯模型對於缺失數據也比較穩定,數據量很小的時候首推貝葉斯模型。

總結來看,對於有缺失值的數據在經過缺失值處理後:

㈢ ​一文看懂數據清洗:缺失值、異常值和重復值的處理

作者:宋天龍

如需轉載請聯系華章 科技

數據缺失分為兩種:一種是 行記錄的缺失 ,這種情況又稱數據記錄丟失;另一種是 數據列值的缺失 ,即由於各種原因導致的數據記錄中某些列的值空缺。

不同的數據存儲和環境中對於缺失值的表示結果也不同,例如,資料庫中是Null,Python返回對象是None,Pandas或Numpy中是NaN。

在極少數情況下,部分缺失值也會使用空字元串來代替,但空字元串絕對不同於缺失值。從對象的實體來看,空字元串是有實體的,實體為字元串類型;而缺失值其實是沒有實體的,即沒有數據類型。

丟失的數據記錄通常無法找回,這里重點討論數據列類型缺失值的處理思路。通常有4種思路。

1. 丟棄

這種方法簡單明了,直接刪除帶有缺失值的行記錄(整行刪除)或者列欄位(整列刪除),減少缺失數據記錄對總體數據的影響。 但丟棄意味著會消減數據特徵 ,以下任何一種場景都不宜採用該方法。

2. 補全

相對丟棄而言,補全是更加常用的缺失值處理方式。通過一定的方法將缺失的數據補上,從而形成完整的數據記錄,對於後續的數據處理、分析和建模至關重要。常用的補全方法如下。

3. 真值轉換法

在某些情況下,我們可能無法得知缺失值的分布規律,並且無法對於缺失值採用上述任何一種補全方法做處理;或者我們認為數據缺失也是一種規律,不應該輕易對缺失值隨意處理,那麼還有一種缺失值處理思路—真值轉換。

該思路的根本觀點是, 我們承認缺失值的存在,並且把數據缺失也作為數據分布規律的一部分 ,將變數的實際值和缺失值都作為輸入維度參與後續數據處理和模型計算中。但是變數的實際值可以作為變數值參與模型計算,而缺失值通常無法參與運算,因此需要對缺失值進行真值轉換。

以用戶性別欄位為例,很多資料庫集都無法對會員的性別進行補足,但又捨不得將其丟棄掉,那麼我們將選擇將其中的值,包括男、女、未知從一個變數的多個值分布狀態轉換為多個變數的真值分布狀態。

然後將這3列新的欄位作為輸入維度替換原來的1個欄位參與後續模型計算。

4. 不處理

在數據預處理階段,對於具有缺失值的數據記錄不做任何處理,也是一種思路。這種思路主要看後期的數據分析和建模應用, 很多模型對於缺失值有容忍度或靈活的處理方法 ,因此在預處理階段可以不做處理。

常見的能夠自動處理缺失值的模型包括:KNN、決策樹和隨機森林、神經網路和樸素貝葉斯、DBSCAN(基於密度的帶有雜訊的空間聚類)等。這些模型對於缺失值的處理思路是:

在數據建模前的數據歸約階段,有一種歸約的思路是 降維 ,降維中有一種直接選擇特徵的方法。假如我們通過一定方法確定帶有缺失值(無論缺少欄位的值缺失數量有多少)的欄位對於模型的影響非常小,那麼我們根本就不需要對缺失值進行處理。

因此,後期建模時的欄位或特徵的重要性判斷也是決定是否處理欄位缺失值的重要參考因素之一。

對於缺失值的處理思路是先通過一定方法找到缺失值,接著分析缺失值在整體樣本中的分布佔比,以及缺失值是否具有顯著的無規律分布特徵,然後考慮後續要使用的模型中是否能滿足缺失值的自動處理,最後決定採用哪種缺失值處理方法。

在選擇處理方法時,注意投入的時間、精力和產出價值,畢竟,處理缺失值只是整個數據工作的冰山一角而已。

在數據採集時,可在採集端針對各個欄位設置一個默認值。以MySQL為例,在設計資料庫表時,可通過default指定每個欄位的默認值,該值必須是常數。

在這種情況下,假如原本數據採集時沒有採集到數據,欄位的值應該為Null,雖然由於在建立庫表時設置了默認值會導致「缺失值」看起來非常正常,但本質上還是缺失的。對於這類數據需要尤其注意。

異常數據是數據分布的常態,處於特定分布區域或范圍之外的數據通常會被定義為異常或「噪音」。產生數據「噪音」的原因很多,例如業務運營操作、數據採集問題、數據同步問題等。

對異常數據進行處理前,需要先辨別出到底哪些是真正的數據異常。從數據異常的狀態看分為兩種:

大多數數據挖掘或數據工作中,異常值都會在數據的預處理過程中被認為是噪音而剔除,以避免其對總體數據評估和分析挖掘的影響。但在以下幾種情況下,我們無須對異常值做拋棄處理。

1. 異常值正常反映了業務運營結果

該場景是由業務部門的特定動作導致的數據分布異常,如果拋棄異常值將導致無法正確反饋業務結果。

例如:公司的A商品正常情況下日銷量為1000台左右。由於昨日舉行優惠促銷活動導致總銷量達到10000台,由於後端庫存備貨不足導致今日銷量又下降到100台。在這種情況下,10000台和100台都正確地反映了業務運營的結果,而非數據異常案例。

2. 異常檢測模型

異常檢測模型是針對整體樣本中的異常數據進行分析和挖掘,以便找到其中的異常個案和規律,這種數據應用圍繞異常值展開,因此異常值不能做拋棄處理。

異常檢測模型常用於客戶異常識別、信用卡欺詐、貸款審批識別、葯物變異識別、惡劣氣象預測、網路入侵檢測、流量作弊檢測等。在這種情況下,異常數據本身是目標數據,如果被處理掉將損失關鍵信息。

3. 包容異常值的數據建模

如果數據演算法和模型對異常值不敏感,那麼即使不處理異常值也不會對模型本身造成負面影響。例如在決策樹中,異常值本身就可以作為一種分裂節點。

數據集中的重復值包括以下兩種情況:

去重是重復值處理的主要方法,主要目的是保留能顯示特徵的唯一數據記錄。但當遇到以下幾種情況時,請慎重(不建議)執行數據去重。

1. 重復的記錄用於分析演變規律

以變化維度表為例。例如在商品類別的維度表中,每個商品對應的同1個類別的值應該是唯一的,例如蘋果iPhone7屬於個人電子消費品,這樣才能將所有商品分配到唯一類別屬性值中。但當所有商品類別的值重構或升級時(大多數情況下隨著公司的發展都會這么做),原有的商品可能被分配了類別中的不同值。如下表所示展示了這種變化。

此時,我們在數據中使用Full join做跨重構時間點的類別匹配時,會發現蘋果iPhone7會同時匹配到個人電子消費品和手機數碼2條記錄。對於這種情況,需要根據具體業務需求處理。

2. 重復的記錄用於樣本不均衡處理

在開展分類數據建模工作時,樣本不均衡是影響分類模型效果的關鍵因素之一。解決分類方法的一種方法是對少數樣本類別做簡單過采樣,通過隨機過采樣,採取簡單復制樣本的策略來增加少數類樣本。

經過這種處理方式後,也會在數據記錄中產生相同記錄的多條數據。此時,我們不能對其中的重復值執行去重操作。

3. 重復的記錄用於檢測業務規則問題

對於以分析應用為主的數據集而言,存在重復記錄不會直接影響實際運營,畢竟數據集主要是用來做分析的。

但對於事務型的數據而言, 重復數據可能意味著重大運營規則問題 ,尤其當這些重復值出現在與企業經營中與金錢相關的業務場景時,例如:重復的訂單、重復的充值、重復的預約項、重復的出庫申請等。

這些重復的數據記錄通常是由於數據採集、存儲、驗證和審核機制的不完善等問題導致的,會直接反映到前台生產和運營系統。以重復訂單為例:

因此,這些問題必須在前期數據採集和存儲時就通過一定機制解決和避免。如果確實產生了此類問題,那麼數據工作者或運營工作者可以基於這些重復值來發現規則漏洞,並配合相關部門,最大限度地降低由此而帶來的運營風險。

本文摘編自《Python數據分析與數據化運營》(第2版),經出版方授權發布。

㈣ 數據清理中,處理缺失值的方法有哪些

由於調查、編碼和錄入誤差,數據中可能存在一些無效值和缺失值,需要給予適當的處理。常用的處理方法有:估算,整例刪除,變數刪除和成對刪除。

計算機俗稱電腦,是一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬體系統和軟體系統所組成,沒有安裝任何軟體的計算機稱為裸機。

可分為超級計算機、工業控制計算機、網路計算機、個人計算機、嵌入式計算機五類,較先進的計算機有生物計算機、光子計算機、量子計算機、神經網路計算機。蛋白質計算機等。

當今計算機系統的運算速度已達到每秒萬億次,微機也可達每秒幾億次以上,使大量復雜的科學計算問題得以解決。例如:衛星軌道的計算、大型水壩的計算、24小時天氣預報的計算等,過去人工計算需要幾年、幾十年,而現在用計算機只需幾天甚至幾分鍾就可完成。

科學技術的發展特別是尖端科學技術的發展,需要高度精確的計算。計算機控制的導彈之所以能准確地擊中預定的目標,是與計算機的精確計算分不開的。一般計算機可以有十幾位甚至幾十位(二進制)有效數字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。

隨著計算機存儲容量的不斷增大,可存儲記憶的信息越來越多。計算機不僅能進行計算,而且能把參加運算的數據、程序以及中間結果和最後結果保存起來,以供用戶隨時調用;還可以對各種信息(如視頻、語言、文字、圖形、圖像、音樂等)通過編碼技術進行算術運算和邏輯運算,甚至進行推理和證明。

計算機內部操作是根據人們事先編好的程序自動控制進行的。用戶根據解題需要,事先設計好運行步驟與程序,計算機十分嚴格地按程序規定的步驟操作,整個過程不需人工干預,自動執行,已達到用戶的預期結果。

超級計算機(supercomputers)通常是指由數百數千甚至更多的處理器(機)組成的、能計算普通PC機和伺服器不能完成的大型復雜課題的計算機。超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,是國家科技發展水平和綜合國力的重要標志。

超級計算機擁有最強的並行計算能力,主要用於科學計算。在氣象、軍事、能源、航天、探礦等領域承擔大規模、高速度的計算任務。

在結構上,雖然超級計算機和伺服器都可能是多處理器系統,二者並無實質區別,但是現代超級計算機較多採用集群系統,更注重浮點運算的性能,可看著是一種專注於科學計算的高性能伺服器,而且價格非常昂貴。

一般的超級計算器耗電量相當大,一秒鍾電費就要上千,超級計算器的CPU至少50核也就是說是家用電腦的10倍左右,處理速度也是相當的快,但是這種CPU是無法購買的,而且價格要上千萬。

㈤ 數據分析中缺失值的處理

數據缺失在許多研究領域都是一個復雜的問題,對數據挖掘來說,缺失值的存在,造成了以下影響:
1.系統丟失了大量的有用信息
2.系統中所表現出的不確定性更加顯著,系統中蘊涵的確定性成分更難把握
3.包含空值的數據會使挖掘過程陷入混亂,導致不可靠的輸出

數據挖掘演算法本身更致力於避免數據過分擬合所建的模型,這一特性使得它難以通過自身的演算法去很好地處理不完整數據。因此,缺失值需要通過專門的方法進行推導、填充等,以減少數據挖掘演算法與實際應用之間的差距。

1.列表顯示缺失值 mice包 md.pattern( )

2.圖形探究缺失值 VIM包

3.用相關性探索缺失值

1.人工填寫
由於最了解數據的還是用戶自己,因此這個方法產生數據偏離最小,可能是填充效果最好的一種。然而一般來說,該方法很費時,當數據規模很大、空值很多的時候,該方法是不可行的。

2.特殊值填充
將空值作為一種特殊的屬性值來處理,它不同於其他的任何屬性值。如所有的空值都用「unknown」填充。這樣將形成另一個有趣的概念,可能導致嚴重的數據偏離,一般不推薦使用。

3.平均值填充
將信息表中的屬性分為數值屬性和非數值屬性來分別進行處理。如果空值是數值型的,就根據該屬性在其他所有對象的取值的平均值來填充該缺失的屬性值;如果空值是非數值型的,就根據統計學中的眾數原理,用該屬性在其他所有對象的取值次數最多的值(即出現頻率最高的值)來補齊該缺失的屬性值。另外有一種與其相似的方法叫條件平均值填充法(Conditional Mean Completer)。在該方法中,缺失屬性值的補齊同樣是靠該屬性在其他對象中的取值求平均得到,但不同的是用於求平均的值並不是從信息表所有對象中取,而是從與該對象具有相同決策屬性值的對象中取得。這兩種數據的補齊方法,其基本的出發點都是一樣的,以最大概率可能的取值來補充缺失的屬性值,只是在具體方法上有一點不同。與其他方法相比,它是用現存數據的多數信息來推測缺失值。

4.熱卡填充
對於一個包含空值的對象,熱卡填充法在完整數據中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。該方法概念上很簡單,且利用了數據間的關系來進行空值估計。這個方法的缺點在於難以定義相似標准,主觀因素較多。

5.K最近距離鄰法
先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。
同均值插補的方法都屬於單值插補,不同的是,它用層次聚類模型預測缺失變數的類型,再以該類型的均值插補。假設X=(X1,X2…Xp)為信息完全的變數,Y為存在缺失值的變數,那麼首先對X或其子集行聚類,然後按缺失個案所屬類來插補不同類的均值。如果在以後統計分析中還需以引入的解釋變數和Y做分析,那麼這種插補方法將在模型中引入自相關,給分析造成障礙。

6.使用所有可能的值填充
用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大,可能的測試方案很多。

7.組合完整化方法
用空缺屬性值的所有可能的屬性取值來試,並從最終屬性的約簡結果中選擇最好的一個作為填補的屬性值。這是以約簡為目的的數據補齊方法,能夠得到好的約簡結果;但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大。

8.回歸
基於完整的數據集,建立回歸方程(模型)。對於包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充,當變數不是線性相關或預測變數高度相關時會導致有偏差的估計(SPSS菜單里有這種方法)

9.期望值最大化方法
EM演算法是一種在不完全數據情況下計算極大似然估計或者後驗分布的迭代演算法。在每一迭代循環過程中交替執行兩個步驟:E步(Excepctaion step,期望步),在給定完全數據和前一次迭代所得到的參數估計的情況下計算完全數據對應的對數似然函數的條件期望;M步(Maximzation step,極大化步),用極大化對數似然函數以確定參數的值,並用於下步的迭代。演算法在E步和M步之間不斷迭代直至收斂,即兩次迭代之間的參數變化小於一個預先給定的閾值時結束。該方法可能會陷入局部極值,收斂速度也不是很快,並且計算很復雜。(SPSS菜單里有這種方法)

10.1多重插補原理
多值插補的思想來源於貝葉斯估計,認為待插補的值是隨機的,它的值來自於已觀測到的值。具體實踐上通常是估計出待插補的值,然後再加上不同的雜訊,形成多組可選插補值。根據某種選擇依據,選取最合適的插補值。

10.2多重填補在SPSS中的實現
10.2.1缺失模式分析
分析>多重歸因>分析模式

10.2.2缺失值的多重填充
分析>多重歸因>歸因缺失數據值

10.2.3採用填充後的數據建模

10.3多重填補在R中的實現(基於mice包)

實例:

11.C4.5方法
通過尋找屬性間的關系來對遺失值填充。它尋找之間具有最大相關性的兩個屬性,其中沒有遺失值的一個稱為代理屬性,另一個稱為原始屬性,用代理屬性決定原始屬性中的遺失值。這種基於規則歸納的方法只能處理基數較小的名詞型屬性。

就幾種基於統計的方法而言,刪除元組法和平均值填充法差於熱卡填充法、期望值最大化方法和多重填充法;回歸是比較好的一種方法,但仍比不上熱卡填充和期望值最大化方法;期望值最大化方法缺少多重填補包含的不確定成分。值得注意的是,這些方法直接處理的是模型參數的估計而不是空缺值預測本身。它們合適於處理無監督學習的問題,而對有監督學習來說,情況就不盡相同了。譬如,你可以刪除包含空值的對象用完整的數據集來進行訓練,但預測時你卻不能忽略包含空值的對象。另外,C4.5和使用所有可能的值填充方法也有較好的補齊效果,人工填寫和特殊值填充則是一般不推薦使用的。

補齊處理只是將未知值補以我們的主觀估計值,不一定完全符合客觀事實,在對不完備信息進行補齊處理的同時,我們或多或少地改變了原始的信息系統。而且,對空值不正確的填充往往將新的雜訊引入數據中,使挖掘任務產生錯誤的結果。因此,在許多情況下,我們還是希望在保持原始信息不發生變化的前提下對信息系統進行處理。
直接在包含空值的數據上進行數據挖掘,這類方法包括貝葉斯網路和人工神經網路等。

貝葉斯網路是用來表示變數間連接概率的圖形模式,它提供了一種自然的表示因果信息的方法,用來發現數據間的潛在關系。在這個網路中,用節點表示變數,有向邊表示變數間的依賴關系。貝葉斯網路僅適合於對領域知識具有一定了解的情況,至少對變數間的依賴關系較清楚的情況。否則直接從數據中學習貝葉斯網的結構不但復雜性較高(隨著變數的增加,指數級增加),網路維護代價昂貴,而且它的估計參數較多,為系統帶來了高方差,影響了它的預測精度。當在任何一個對象中的缺失值數量很大時,存在指數爆炸的危險。人工神經網路可以有效的對付空值,但人工神經網路在這方面的研究還有待進一步深入展開。人工神經網路方法在數據挖掘應用中的局限性。

多數統計方法都假設輸入數據是完整的且不包含缺失值,但現實生活中大多數數據集都包含了缺失值。因此,在進行下一步分析前,你要麼刪除,要麼用合理的數值代理它們,SPSS、R、Python、SAS等統計軟體都會提供一些默認的處理缺失值方法,但這些方法可能不是最優的,因此,學習各種各樣的方法和他們的分支就顯得非常重要。Little和Rubin的《Sstatistical Analysis With Missing Data 》是缺失值領域里經典的讀本,值得一看。

㈥ 數學建模-數據分析中缺失值刪除與缺失值處理方法(python)

以下內容來源 《python3破冰人工智慧從入門到實戰》 ,如涉及版權請聯系我刪除。

Python 是一種面向對象的、動 態的程序設計語言,它具有非常簡潔而清晰的語法,適合完成各種復雜任務。 並且,隨著 NumPy、Pandas、SciPy、Matplotlib 等眾多程序庫的發布和發展, Python 越來越適合做科學計算。它既可以用來快速開發程序腳本,也可以用來開發大規模的軟體。
內容來源 《python3破冰人工智慧從入門到實戰》 ,

Pandas由AQR Capital Management於2008年開發,並於2009年底開源發布,目前由專 注於 Python 數據包開發的 PyData 開發團隊繼續開發和維護。本書中使用的版本是 Pandas-0.22.0。Pandas 基於 NumPy 開發,提供了大量快速便捷的數據處理方法,對數據的處 理工作十分有用,它是支撐 Python 成為強大而高效的科學計算語言的重要因素之一。
內容來源 《python3破冰人工智慧從入門到實戰》 ,

dates = pd.date_range("20130101",periods=6)
df = pd.DataFrame(np.random.rand(6,4),index=dates,columns=list
print("獲取 df 數據:\n{}".format(df))

內容來源[《python3破冰人工智慧從入門到實戰》]

數據的填充方法

參考文獻:
來源數據 《python3破冰人工智慧從入門到實戰》 ,如涉及版權請聯系我刪除。

大數據建模過程中的數據處理

數據是建模的基礎,也是研究事物發展規律的材料。數據本身的可信度和處理的方式將直接決定模型的天花板在何處。一個太過雜亂的數據,無論用多麼精煉的模型都無法解決數據的本質問題,也就造成了模型的效果不理想的效果。這也是我們目前所要攻克的壁壘。但是,目前我們市場對的數據或者科研的數據並不是完全雜亂無章的,基本都是有規律可循的,因此,用模型演算法去進行科學的分析,可以主觀情緒對決策的影響。所以數據是非常重要的一部分。那麼,接下來我們就詳細說一下數據的處理與分析。

當看到數據的時候,首要做的並不是進行清洗或者特徵工程,而是要觀察數據所呈現的基本狀態,以及進行數據與任務的匹配,這就需要我們之前所提到的業務常識與數據敏感度的能力了,只有通過完整的數據分析,才能夠更為精準的做符合需求的特徵工程工作。數據的基本特徵分析主要從以下幾個方面進行:

1. 確定類型 :數據集的類型包括文本,音頻,視頻,圖像,數值等多種形式交織而成,但是傳入模型中的都是以數值形式呈現的,所以確定數據的類型,才可以確定用什麼方法進行量化處理。

2. 驗證可靠度 :由於數據的收集的方式不盡相同,數據來源的途徑多種多樣。所以數據的可信度判斷也顯得尤為重要。而數據可靠性校驗的方法非常多。例如:根據收集途徑判斷,如果調查問卷也可根據問卷設計的可靠度進行判斷,當然轉化為數值後也可輔助一些模型進行精細校驗等。採用何種方式,取決於獲取數據的方式,數據類型以及項目的需求。

3. 樣本定義 :需要確定樣本對應的每一個特徵屬性的內容是什麼。例如:樣本的容量,樣本的具體內容,樣本所包含的基本信息等。

4. 任務匹配: 在任務分析中我們把項目拆分成了小的子問題,這些問題有分類,回歸,關聯關系等。也就是每個問題的所達成的目標是不一樣的,那麼我們要從數據集中篩選出符合子問題的數據,也就是選好解決問題的原料,很多情況下是靠你的數據敏感度和業務常識進行判斷的。

5. 數據集的劃分: 由於模型搭建完成之後有一個訓練與驗證評估的過程,而目前最為簡單的一種驗證手段就是就是交叉驗證,因此我們需要將數據集拆分成訓練集和測試集,這一步僅僅確定訓練集和測試集的比例關系,例如:70%的數據用於訓練,30%的數據用於測試。

數據的清洗是一件非常繁瑣且耗費時間的事情,基本可以佔到一個工程的30%到50%的時間。並且數據的清洗很難有規律可循,基本上依託於你對數據的基本分析與數據敏感度。當然,當你看的數據夠多,數據的清洗的經驗也就越多,會為你今後哦搭建模型提供很多遍歷,我們這里提供一些常見的清洗的點。

清洗異常數據樣本需要考慮到方方面面,通常情況下我們從以下方面:

1.處理格式或者內容錯誤:

首先,觀察時間,日期,數值等是否出現格式不一致,進行修改整理;其次,注意開頭,或者中間部分是否存在異常值;最後,看欄位和內容是否一致。例如,姓名的內容是男,女。

2. 邏輯錯誤清洗:

去重:通常我們收集的數據集中有一些數據是重復的,重復的數據會直接影響我們模型的結果,因此需要進行去重操作;

去除或者替換不合理的值:例如年齡突然某一個值是-1,這就屬於不合理值,可用正常值進行替換或者去除;

修改矛盾內容:例如身份證號是91年的,年齡35歲,顯然不合理,進行修改或者刪除。

3. 去除不要的數據: 根據業務需求和業務常識去掉不需要的欄位

4. 關聯性錯誤驗證: 由於數據來源是多個途徑,所以存在一個id,進行不同的數據收集,可通過,id或者姓名進行匹配合並。

該問題主要出現在分類模型中,由於正例與負例之間樣本數量差別較大,造成分類結果樣本量比較少的類別會大部分分錯。因此需要進行數據不平衡處理。常用的處理方法有:向上采樣、向下采樣、數據權重復制、異常點檢測等。

㈧ 為什麼spss選擇個案沒有過濾掉無效數值呢

在SPSS中如果數據包含缺失值,會導致具體變數計算和分析時實際有效樣本量減少,不管是pairwise delete還是listwise delete的缺失值處理方法。另外,如果用Amos做結構方程模型,分析變數存在缺失值的話擬合指數會報告不全(如缺失GFI、AGFI);在用Mplus等軟體做某些模型時,數據存在缺失值的話會出現不能運行或某些估計法不適用的情況。因此,處理缺失值是非常重要的環節。

缺失值的處理大體上有兩種方法:第一,刪除有缺失值的個案;第二,缺失值替換。哪一種方法好呢?

如果樣本量本身很大,那麼刪除個案法影響不大;但如果樣本量不是很大,而存在缺失值的變數又很多,刪除法會使樣本量明顯減少,對研究不利。那是不是缺失值替換就好呢?也不盡然。因為如果某個變數存在比較多的缺失值,用均值替換顯然對結果影響很大。此外,如果一個個案本身有多個缺失指標,比如調查問卷中有10%以上的題目存在缺失值,那麼將這個個案的問卷數據判斷為無效個案會更好。

這里又涉及到一個問題,缺失值比例多大可以認定為無效數據呢?個人認為,單純從數量的角度來看,一個個案有10%以上的指標存在缺失值的話就可以判斷該個案數據無效。但有時候我們不能籠統看缺失值的數量和比例,還要看缺失值的分布問題,例如心理學、教育學、管理學的問卷或量表是分多個維度的,如果缺失值零星分散於不同的維度,那麼較大比例的缺失值可能對整體個案數據影響不大;但如果缺失值集中於某個維度或一兩個維度,簡單說,同一個維度中有多個缺失值甚至整個維度都缺失數據,那麼比例較小的缺失值也可以導致整個維度無效,以至於整個個案樣本數據無效。

閱讀全文

與數據建模如何處理無效值相關的資料

熱點內容
刷票小程序哪個好用 瀏覽:383
蘋果手機如何刪除定位信息 瀏覽:953
什麼樣的是面板數據 瀏覽:766
京深海鮮大市場在哪個區 瀏覽:15
流量產品券怎麼用 瀏覽:994
寧波凍品市場在哪裡 瀏覽:945
什麼是威望數據 瀏覽:575
知道公司怎麼買產品 瀏覽:189
監理員如何學習施工技術 瀏覽:731
稅收信息採集多久通知 瀏覽:928
產後豐胸什麼產品好 瀏覽:84
為什麼會收到etc收費信息 瀏覽:750
為什麼直播間看不到信息 瀏覽:964
提前進入左轉待轉區多久收到信息 瀏覽:21
渤海交易所怎麼樣 瀏覽:133
皮膚發癢用什麼化工產品 瀏覽:83
沒技術的人如何養家糊口 瀏覽:880
什麼叫退市交易整理期 瀏覽:7
身份信息發到多少人的群里算侵權 瀏覽:598
modbustcp如何讀取數據的 瀏覽:212