欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

插補缺失值java代碼 缺失值插補法

幾種常見的缺失數(shù)據(jù)插補方法

(一)個案剔除法(Listwise Deletion) 最常見、最簡單的處理缺失數(shù)據(jù)的方法是用個案剔除法(listwise deletion),也是很多統(tǒng)計軟件(如SPSS和SAS)默認(rèn)的缺失值處理方法。在這種方法中如果任何一個變量含有缺失數(shù)據(jù)的話,就把相對應(yīng)的個案從分析中剔除。如果缺失值所占比例比較小的話,這一方法十分有效。至于具體多大的缺失比例算是“小”比例,專家們意見也存在較大的差距。有學(xué)者認(rèn)為應(yīng)在5%以下,也有學(xué)者認(rèn)為20%以下即可。然而,這種方法卻有很大的局限性。它是以減少樣本量來換取信息的完備,會造成資源的大量浪費,丟棄了大量隱藏在這些對象中的信息。在樣本量較小的情況下,刪除少量對象就足以嚴(yán)重影響到數(shù)據(jù)的客觀性和結(jié)果的正確性。因此,當(dāng)缺失數(shù)據(jù)所占比例較大,特別是當(dāng)缺數(shù)據(jù)非隨機(jī)分布時,這種方法可能導(dǎo)致數(shù)據(jù)發(fā)生偏離,從而得出錯誤的結(jié)論。 (二)均值替換法(Mean Imputation) 在變量十分重要而所缺失的數(shù)據(jù)量又較為龐大的時候,個案剔除法就遇到了困難,因為許多有用的數(shù)據(jù)也同時被剔除。圍繞著這一問題,研究者嘗試了各種各樣的辦法。其中的一個方法是均值替換法(mean imputation)。我們將變量的屬性分為數(shù)值型和非數(shù)值型來分別進(jìn)行處理。如果缺失值是數(shù)值型的,就根據(jù)該變量在其他所有對象的取值的平均值來填充該缺失的變量值;如果缺失值是非數(shù)值型的,就根據(jù)統(tǒng)計學(xué)中的眾數(shù)原理,用該變量在其他所有對象的取值次數(shù)最多的值來補齊該缺失的變量值。但這種方法會產(chǎn)生有偏估計,所以并不被推崇。均值替換法也是一種簡便、快速的缺失數(shù)據(jù)處理方法。使用均值替換法插補缺失數(shù)據(jù),對該變量的均值估計不會產(chǎn)生影響。但這種方法是建立在完全隨機(jī)缺失(MCAR)的假設(shè)之上的,而且會造成變量的方差和標(biāo)準(zhǔn)差變小。 (三)熱卡填充法(Hotdecking) 對于一個包含缺失值的變量,熱卡填充法在數(shù)據(jù)庫中找到一個與它最相似的對象,然后用這個相似對象的值來進(jìn)行填充。不同的問題可能會選用不同的標(biāo)準(zhǔn)來對相似進(jìn)行判定。最常見的是使用相關(guān)系數(shù)矩陣來確定哪個變量(如變量Y)與缺失值所在變量(如變量X)最相關(guān)。然后把所有個案按Y的取值大小進(jìn)行排序。那么變量X的缺失值就可以用排在缺失值前的那個個案的數(shù)據(jù)來代替了。與均值替換法相比,利用熱卡填充法插補數(shù)據(jù)后,其變量的標(biāo)準(zhǔn)差與插補前比較接近。但在回歸方程中,使用熱卡填充法容易使得回歸方程的誤差增大,參數(shù)估計變得不穩(wěn)定,而且這種方法使用不便,比較耗時。 (四)回歸替換法(Regression Imputation) 回歸替換法首先需要選擇若干個預(yù)測缺失值的自變量,然后建立回歸方程估計缺失值,即用缺失數(shù)據(jù)的條件期望值對缺失值進(jìn)行替換。與前述幾種插補方法比較,該方法利用了數(shù)據(jù)庫中盡量多的信息,而且一些統(tǒng)計軟件(如Stata)也已經(jīng)能夠直接執(zhí)行該功能。但該方法也有諸多弊端,第一,這雖然是一個無偏估計,但是卻容易忽視隨機(jī)誤差,低估標(biāo)準(zhǔn)差和其他未知性質(zhì)的測量值,而且這一問題會隨著缺失信息的增多而變得更加嚴(yán)重。第二,研究者必須假設(shè)存在缺失值所在的變量與其他變量存在線性關(guān)系,很多時候這種關(guān)系是不存在的。 (五)多重替代法(Multiple Imputation) 多重估算是由Rubin等人于1987年建立起來的一種數(shù)據(jù)擴(kuò)充和統(tǒng)計分析方法,作為簡單估算的改進(jìn)產(chǎn)物。首先,多重估算技術(shù)用一系列可能的值來替換每一個缺失值,以反映被替換的缺失數(shù)據(jù)的不確定性。然后,用標(biāo)準(zhǔn)的統(tǒng)計分析過程對多次替換后產(chǎn)生的若干個數(shù)據(jù)集進(jìn)行分析。最后,把來自于各個數(shù)據(jù)集的統(tǒng)計結(jié)果進(jìn)行綜合,得到總體參數(shù)的估計值。由于多重估算技術(shù)并不是用單一的值來替換缺失值,而是試圖產(chǎn)生缺失值的一個隨機(jī)樣本,這種方法反映出了由于數(shù)據(jù)缺失而導(dǎo)致的不確定性,能夠產(chǎn)生更加有效的統(tǒng)計推斷。結(jié)合這種方法,研究者可以比較容易地,在不舍棄任何數(shù)據(jù)的情況下對缺失數(shù)據(jù)的未知性質(zhì)進(jìn)行推斷。NORM統(tǒng)計軟件可以較為簡便地操作該方法

碑林網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),碑林網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為碑林成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的碑林做網(wǎng)站的公司定做!

缺失值插補2(轉(zhuǎn))

缺失值的處理有3種:不處理(做建模鐵定不選),刪除(可以考慮),數(shù)據(jù)補差(99%的同僚選擇)

而補差的方式主要用下面的5類,重點是第五個,插值法

1. 補插均值/中位數(shù)/眾數(shù)

2. 使用固定值 .

3. 最近鄰補插

4. 回歸方法

5. 插值法

插值法又包含好多種:(1)拉格朗日插值法(最容易看的懂的,用的人較多,用錯的也多)(2)牛頓插值法(3)Hermite插值 (4)分段插值 (5)樣條插值 (后三種相對用的較少)

(1)拉格朗日插值法(劃重點)

其原理百度就是構(gòu)建一個多項式,這個多項式很厲害,假如說我們的數(shù)據(jù)是城市里的銀行位置坐標(biāo),那這個多項式就是一條過所有銀行的公路,所以,當(dāng)我們要問50km外的銀行在哪兒時,我們順著這條路算就可以算出來。當(dāng)然,算出來的坐標(biāo)只是一個近似值。(當(dāng)給出的已知銀行坐標(biāo)點越多,近似誤差越小)。

關(guān)于拉格朗日多項式的構(gòu)建原理,這里不說了,百度各種解釋,這里只說一下它的優(yōu)缺點:優(yōu)點就是過程簡單,很容易找到插值,而且還是唯一的。缺點也明顯,就是當(dāng)已知的點很多時候,階數(shù)也會很高,所以不適合插那些百十來個數(shù)據(jù)點的題。處理十來個的還是很好的。(我個人建議還是用牛頓)

(2)牛頓插值法8

相比較與拉格朗日,其優(yōu)點是當(dāng)新增加插值點時,得到的擬合函數(shù)變化不大。其原理解釋還是看百度或者找老師問吧,我的理解就是從第一個插值點開始修路,每修到一個銀行就進(jìn)行一次校正(高階差商我的理解),然后這樣的話插未知點就準(zhǔn)一點。所以用的比較多吧也。

(x-c(1,2,3,NA))

is.na(x) #返回一個邏輯向量,TRUE為缺失值,F(xiàn)ALSE為非缺失值

table(is.na(x)) #統(tǒng)計分類個數(shù)

sum(x) #當(dāng)向量存在缺失值的時候統(tǒng)計結(jié)果也是缺失值

sum(x,na.rm = TRUE) #很多函數(shù)里都有na.rm=TRUE參數(shù),此參數(shù)可以在運算時移除缺失值

(x[which(is.na(x))]-0) #可以用which()函數(shù)代替缺失值,which()函數(shù)返回符合條件的響應(yīng)位置

(test-data.frame(x=c(1,2,3,4,NA),y=c(6,7,NA,8,9)))

is.na(test) #test中空值的判斷

which(is.na(test),arr.ind = T) #arr.ind=T可以返回缺失值的相應(yīng)行列坐標(biāo)

test[which(is.na(test),arr.ind = T)]-0 #結(jié)合which進(jìn)行缺失替代

(test_omit-na.omit(data.frame(x=c(1,2,3,4,NA),y=c(6,7,NA,8,9)))) #na.omit函數(shù)可以直接刪除值所在的行

str(airquality)

complete.cases(airquality) #判斷個案是否有缺失值

airquality[complete.cases(airquality),] #列出沒有缺失值的行

nrow(airquality[complete.cases(airquality),]) #計算沒有缺失值的樣本量

airquality[!complete.cases(airquality),] #列出有缺失的值的行

nrow(airquality[!complete.cases(airquality),]) #計算有缺失值的樣本量

is.na(airquality$Ozone) #TRUE為缺失值,F(xiàn)ALSE為非缺失值

table(is.na(airquality$Ozone))

complete.cases(airquality$Ozone) #FALSE為缺失值,TRUE為非缺失值

table(complete.cases(airquality$Ozone))

可用sum()和mean()函數(shù)來獲取關(guān)于缺失數(shù)據(jù)的有用信息

sum(is.na(airquality$Ozone)) #查看缺失值的個數(shù)

sum(complete.cases(airquality$Ozone)) #查看沒有缺失值的個數(shù)

mean(is.na(airquality$Ozone)) #查看缺失值的占比

mean(is.na(airquality)) #查看數(shù)據(jù)集airquality中樣本有缺失值的占比

列表缺失值探索

library(mice)

md.pattern(airquality)

圖形缺失值探索

library(VIM)

aggr(airquality,prop=FALSE,number=TRUE)

aggr(airquality,prop=TRUE,number=TRUE) #生成相同的圖形,但用比例代替了計數(shù)

aggr(airquality,prop=FALSE,number=FALSE) #選項numbers = FALSE(默認(rèn))刪去數(shù)值型標(biāo)簽

airquality[complete.cases(airquality),] #方法一:刪除缺失值行

na.omit(airquality) #方法二:刪除缺失值的行

newnhanes2-nhanes2

sub-which(is.na(newnhanes2[,4])) #返回newnhanes2數(shù)據(jù)集中第4列NA的行標(biāo)識

datatr-newnhanes2[-sub,] #方法一:將第4列不為NA的數(shù)存入數(shù)據(jù)集datatr中

datatr-newnhanes2[complete.cases(newnhanes2[,4]),] #方法二:將第4列不為NA的數(shù)存入數(shù)據(jù)集datatr中

datate-newnhanes2[sub,] #方法一:將第4列為NA的數(shù)存入數(shù)據(jù)集datate中

datate-newnhanes2[is.na(newnhanes2[,4]),] #方法二:將第4列為NA的數(shù)存入數(shù)據(jù)集datate中

fit-lm(chl~age,data = datatr) #利用datatr中age為自變量,chl為因變量構(gòu)建線性回歸模型lm

newnhanes2[sub,4]-round(predict(fit,datate)) #利用datate中數(shù)據(jù)按照模型fit對nhanes2中chl中的缺失數(shù)據(jù)進(jìn)行預(yù)測

library(missForest)

z-missForest(airquality) #用隨機(jī)森林迭代彌補缺失值

air.full-z$ximp

zz-missForest(nhanes2)

nhanes2.full-zz$ximp

mice::md.pattern(airquality)

index1-is.na(airquality$Ozone) #對Ozone變量進(jìn)行缺失值處理

dput(colnames(airquality)) #求出變量列名稱

Ozone_train-airquality[!index1,c("Ozone", "Wind", "Temp", "Month", "Day")] #訓(xùn)練集,需注意什么時候用!,什么時候用-

Ozone_test-airquality[index1,c("Ozone", "Wind", "Temp", "Month", "Day")] #測試集

fit-lm(Ozone~.,data = Ozone_train) #建立線性回歸模型

summary(fit)

airquality[index1,"Ozone"]-predict(fit,newdata =Ozone_test )

index2-is.na(airquality$Solar.R) #Solar.R變量進(jìn)行缺失值處理,Ozone變量數(shù)據(jù)已補齊

Solar.R_train-airquality[!index2,] #訓(xùn)練集

Solar.R_test-airquality[index2,] #測試集

Solar.R_fit-lm(Solar.R~.,data = Solar.R_train)

summary(Solar.R_fit)

airquality[index2,"Solar.R"]-predict(Solar.R_fit,newdata = Solar.R_test)

mice::md.pattern(airquality)

舉例:knn和bag缺失值插補(利用caret包中的preProcess函數(shù),method參數(shù)有多種方式可選)

question-read.csv("問卷調(diào)研數(shù)據(jù).csv")

question-question[,-1]

str(question)

for(i in 1:ncol(question)){

question[,i]-as.factor(question[,i])

} #批量修改為因子類型

str(question)

question-read.csv("問卷調(diào)研數(shù)據(jù).csv")

question-question[,-1]

mice::md.pattern(question) #列表缺失值探索

library(caret)

knn.model-preProcess(question,method = "knnImpute") #KNN處理數(shù)值型數(shù)據(jù)(歐式距離),不能處理因子型數(shù)據(jù)

question1-predict(knn.model,newdata = question)

install.packages("RANN")

mice::md.pattern(question1)

table(question1$性別) #不是之前的1和2了

table(question$性別)

最后結(jié)果:knn不適合處理該數(shù)據(jù),需要做啞變量處理,再套模型

question-read.csv("問卷調(diào)研數(shù)據(jù).csv")

question-question[,-1]

mice::md.pattern(question) #列表缺失值探索

library(caret)

bag.model-preProcess(question,method = "bagImpute") #bag算法模型建立

install.packages("ipred")

question2-predict(bag.model,question) #預(yù)測結(jié)果

mice::md.pattern(question2) #列表缺失值探索

table(question2$性別)

最后結(jié)果:bag算法不適合處理該數(shù)據(jù)

數(shù)據(jù)清理中,處理缺失值的方法有哪些

由于調(diào)查、編碼和錄入誤差,數(shù)據(jù)中可能存在一些無效值和缺失值,需要給予適當(dāng)?shù)奶幚怼3S玫奶幚矸椒ㄓ校汗浪悖齽h除,變量刪除和成對刪除。

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

可分為超級計算機(jī)、工業(yè)控制計算機(jī)、網(wǎng)絡(luò)計算機(jī)、個人計算機(jī)、嵌入式計算機(jī)五類,較先進(jìn)的計算機(jī)有生物計算機(jī)、光子計算機(jī)、量子計算機(jī)、神經(jīng)網(wǎng)絡(luò)計算機(jī)。蛋白質(zhì)計算機(jī)等。

當(dāng)今計算機(jī)系統(tǒng)的運算速度已達(dá)到每秒萬億次,微機(jī)也可達(dá)每秒幾億次以上,使大量復(fù)雜的科學(xué)計算問題得以解決。例如:衛(wèi)星軌道的計算、大型水壩的計算、24小時天氣預(yù)報的計算等,過去人工計算需要幾年、幾十年,而現(xiàn)在用計算機(jī)只需幾天甚至幾分鐘就可完成。

科學(xué)技術(shù)的發(fā)展特別是尖端科學(xué)技術(shù)的發(fā)展,需要高度精確的計算。計算機(jī)控制的導(dǎo)彈之所以能準(zhǔn)確地?fù)糁蓄A(yù)定的目標(biāo),是與計算機(jī)的精確計算分不開的。一般計算機(jī)可以有十幾位甚至幾十位(二進(jìn)制)有效數(shù)字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。

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

計算機(jī)內(nèi)部操作是根據(jù)人們事先編好的程序自動控制進(jìn)行的。用戶根據(jù)解題需要,事先設(shè)計好運行步驟與程序,計算機(jī)十分嚴(yán)格地按程序規(guī)定的步驟操作,整個過程不需人工干預(yù),自動執(zhí)行,已達(dá)到用戶的預(yù)期結(jié)果。

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

超級計算機(jī)擁有最強的并行計算能力,主要用于科學(xué)計算。在氣象、軍事、能源、航天、探礦等領(lǐng)域承擔(dān)大規(guī)模、高速度的計算任務(wù)。

在結(jié)構(gòu)上,雖然超級計算機(jī)和服務(wù)器都可能是多處理器系統(tǒng),二者并無實質(zhì)區(qū)別,但是現(xiàn)代超級計算機(jī)較多采用集群系統(tǒng),更注重浮點運算的性能,可看著是一種專注于科學(xué)計算的高性能服務(wù)器,而且價格非常昂貴。

一般的超級計算器耗電量相當(dāng)大,一秒鐘電費就要上千,超級計算器的CPU至少50核也就是說是家用電腦的10倍左右,處理速度也是相當(dāng)?shù)目欤沁@種CPU是無法購買的,而且價格要上千萬。

對于缺失值的處理

建議:不同場景下的數(shù)據(jù)缺失機(jī)制不同,這需要工程師基于對業(yè)務(wù)選擇合適的填充方法。

如何判斷缺失值類型?

缺失值的分類按照數(shù)據(jù)缺失機(jī)制可分為:

可忽略的缺失

不可忽略的缺失

平常工作中遇到的缺失值大部分情況下是隨機(jī)的(缺失變量和其他變量有關(guān))

這個就可以用estimator來做了,選其中一個變量(y),然后用其他變量作為X,隨便選個值填充X的缺失部分,用X train一個estimator,再預(yù)測y的缺失部分(大致思路)

此外有些數(shù)據(jù)是符合某種分布的,利用這個分布呢也可以填充缺失的數(shù)據(jù),如(EM算法)

處理缺失數(shù)據(jù)的三個標(biāo)準(zhǔn):

1. 非偏置的參數(shù)估計

不管你估計means, regressions或者是odds ratios,都希望參數(shù)估計可以準(zhǔn)確代表真實的總體參數(shù)。在統(tǒng)計項中,這意味著估計需要是無偏的。有缺失值可能會影響無偏估計,所以需要處理。

2. 有效的能力:

刪除缺失數(shù)據(jù)會降低采樣的大小,因此會降低power。如果說問題是無偏的,那么得到的結(jié)果會是顯著的,那么會有足夠的能力來檢驗這個效力(have adequate power to detect your effects)。反之,整個檢測可能失效。

3. 準(zhǔn)確的標(biāo)準(zhǔn)差(影響p值和置信區(qū)間):

不僅需要參數(shù)估計無偏,還需要標(biāo)準(zhǔn)差估計準(zhǔn)確,在統(tǒng)計推斷中才會有效。

缺失值處理的方法大致分為這幾類:1、刪除法;2、基于插補的方法;3、基于模型的方法; 4、不處理; 5、映射高維

有些處理方法是基于完全隨機(jī)缺失假設(shè)(MCAR),一般來說,當(dāng)數(shù)據(jù)不是 MCAR 而 是隨機(jī)缺失(MAR)時,這些方法是不適用的;而有些方法(如似然估計法)在 MAR 的假設(shè)下是適用的,因此,在進(jìn)行缺失數(shù)據(jù)處理時,首先需要認(rèn)真分析缺失數(shù) 據(jù)產(chǎn)生的原因,然后采取有針對性的補救措施,這樣才能夠獲得無偏或弱偏估計。

此處關(guān)于使用多重插補來處理非隨機(jī)缺失(MNAR)的問題,它其實效果不一定,也可能出現(xiàn)效果倒退的情況,總的說多重更適合MAR

注:此處一元與多元指的是僅有一個特征有缺失值與多個特征有缺失值

對于不同類別的缺失值的處理方法如上圖。

以下展開介紹各個方法:

注: k-means插補 與KNN插補很相似,區(qū)別在于k-means是利用無缺失值的特征來尋找最近的N個點,然后用這N個點的我們所需的缺失的特征平均值來填充,而KNN則是先用均值填充缺失值再找最近的N個點。

類似的還有 隨機(jī)回歸插補 :也優(yōu)于純回歸插補

其他單一插補法:

與單一插補方法相比較,多重插補方法充分地考慮了數(shù)據(jù)的不確定性。多重插補的主要分為三個步驟,綜合起來即為:插補、分析、合并。插補步是為每個缺失值都構(gòu)造出 m 個可能的插補值,缺失模型具有不確定性,這些插補值能體現(xiàn)出模型的這個性質(zhì),利用這些可能插補值對缺失值進(jìn)行插補就得到了 m 個完整數(shù)據(jù)集。分析步是對插補后的 m 個完整數(shù)據(jù)集使用一樣的統(tǒng)計數(shù)據(jù)分析方法進(jìn)行分析,同時得到 m 個統(tǒng)計結(jié)果。綜合步就是把得到的這 m 個統(tǒng)計結(jié)果綜合起來得到的分析結(jié)果,把這個分析結(jié)果作為缺失值的替代值。多重插補構(gòu)造多個插補值主要是通過模擬的方式對估計量的分布進(jìn)行推測,然后采用不同的模型對缺失值進(jìn)行插補,這種插補是隨機(jī)抽取的方式,這樣以來能提高估計的有效性和可靠性。

多重插補-python手冊

多重插補法主要有以下幾種:

(使用回歸、貝葉斯、隨機(jī)森林、決策樹等模型對缺失數(shù)據(jù)進(jìn)行預(yù)測。)

基于已有的其他字段,將缺失字段作為目標(biāo)變量進(jìn)行預(yù)測,從而得到較為可能的補全值。如果帶有缺失值的列是數(shù)值變量,采用回歸模型補全;如果是分類變量,則采用分類模型補全。

常見能夠自動處理缺失值模型包括:KNN、決策樹和隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)和樸素貝葉斯、DBSCAN(基于密度的帶有噪聲的空間聚類)等。

處理思路:

自動插補 :例如XGBoost會通過training loss reduction來學(xué)習(xí)并找到最佳插補值。

忽略 :缺失值不參與距離計算,例如:KNN,LightGBM

將缺失值作為分布的一種狀態(tài) :并參與到建模過程,例如:決策樹以及變體。

不基于距離做計算 :因此基于值得距離計算本身的影響就消除了,例如:DBSCAN。

ID3、c4.5、cart、rf到底是如何處理缺失值的?

最精確的做法,把變量映射到高維空間。

比如性別,有男、女缺失三種情況,則映射成3個變量:是否男、否女、是否缺失。連續(xù)型變量也可以這樣處理。比如Google、 百度的CTR預(yù)估模型,預(yù)處理時會把所有變量都這樣處理,達(dá)到幾億維。又或者可根據(jù)每個值的頻數(shù),將頻數(shù)較小的值歸為一類'other',降低維度。此做法可最大化保留變量的信息。

前推法 (LOCF,Last Observation Carried Forward,將每個缺失值替換為缺失之前的最后一次觀測值)與 后推法 (NOCB,Next Observation Carried Backward,與LOCF方向相反——使用缺失值后面的觀測值進(jìn)行填補)

這是分析可能缺少后續(xù)觀測值的縱向重復(fù)測量數(shù)據(jù)的常用方法。縱向數(shù)據(jù)在不同時間點跟蹤同一樣本。當(dāng)數(shù)據(jù)具有明顯的趨勢時,這兩種方法都可能在分析中引入偏差,表現(xiàn)不佳。

線性插值 。此方法適用于具有某些趨勢但并非季節(jié)性數(shù)據(jù)的時間序列。

季節(jié)性調(diào)整+線性插值 。此方法適用于具有趨勢與季節(jié)性的數(shù)據(jù)。

總而言之,大部分?jǐn)?shù)據(jù)挖掘的預(yù)處理都會使用比較方便的方法來處理缺失值,比如均值法,但是效果上并不一定好,因此還是需要根據(jù)不同的需要選擇合適的方法,并沒有一個解決所有問題的萬能方法。

具體的方法采用還需要考慮多個方面的:

在做數(shù)據(jù)預(yù)處理時,要多嘗試幾種填充方法,選擇表現(xiàn)最佳的即可。

總結(jié)來說,沒有一個最完美的策略,每個策略都會更適用于某些數(shù)據(jù)集和數(shù)據(jù)類型,但再另一些數(shù)據(jù)集上表現(xiàn)很差。雖然有一些規(guī)則能幫助你決定選用哪一種策略,但除此之外,你還應(yīng)該嘗試不同的方法,來找到最適用于你的數(shù)據(jù)集的插補策略。

當(dāng)前最流行的方法應(yīng)該是 刪除法、KNN、多重插補法 。

參考文獻(xiàn): 龐新生. 缺失數(shù)據(jù)處理方法的比較[J]. 統(tǒng)計與決策, 2010(24):152-155.

處理缺失值的四種方法

處理缺失值的四種方法:

1、刪除含有缺失值的個案

主要有簡單刪除法和權(quán)重法。簡單刪除法是對缺失值進(jìn)行處理的最原始方法。它將存在缺失值的個案刪除。如果數(shù)據(jù)缺失問題可以通過簡單的刪除小部分樣本來達(dá)到目標(biāo),那么這個方法是最有效的。當(dāng)缺失值的類型為非完全隨機(jī)缺失的時候,可以通過對完整的數(shù)據(jù)加權(quán)來減小偏差。

把數(shù)據(jù)不完全的個案標(biāo)記后,將完整的數(shù)據(jù)個案賦予不同的權(quán)重,個案的權(quán)重可以通過logistic或probit回歸求得。如果解釋變量中存在對權(quán)重估計起決定行因素的變量,那么這種方法可以有效減小偏差。如果解釋變量和權(quán)重并不相關(guān),它并不能減小偏差。

對于存在多個屬性缺失的情況,就需要對不同屬性的缺失組合賦不同的權(quán)重,這將大大增加計算的難度,降低預(yù)測的準(zhǔn)確性,這時權(quán)重法并不理想。

2、可能值插補缺失值

它的思想來源是以最可能的值來插補缺失值比全部刪除不完全樣本所產(chǎn)生的信息丟失要少。

在數(shù)據(jù)挖掘中,面對的通常是大型的數(shù)據(jù)庫,它的屬性有幾十個甚至幾百個,因為一個屬性值的缺失而放棄大量的其他屬性值,這種刪除是對信息的極大浪費,所以產(chǎn)生了以可能值對缺失值進(jìn)行插補的思想與方法。常用的有如下幾種方法。

(1)均值插補。數(shù)據(jù)的屬性分為定距型和非定距型。如果缺失值是定距型的,就以該屬性存在值的平均值來插補缺失的值;如果缺失值是非定距型的,就根據(jù)統(tǒng)計學(xué)中的眾數(shù)原理,用該屬性的眾數(shù)(即出現(xiàn)頻率最高的值)來補齊缺失的值。

(2)利用同類均值插補。同均值插補的方法都屬于單值插補,不同的是,它用層次聚類模型預(yù)測缺失變量的類型,再以該類型的均值插補。假設(shè)X=(X1,X2…Xp)為信息完全的變量,Y為存在缺失值的變量,那么首先對X或其子集行聚類,然后按缺失個案所屬類來插補不同類的均值。

如果在以后統(tǒng)計分析中還需以引入的解釋變量和Y做分析,那么這種插補方法將在模型中引入自相關(guān),給分析造成障礙。

(3)極大似然估計。在缺失類型為隨機(jī)缺失的條件下,假設(shè)模型對于完整的樣本是正確的,那么通過觀測數(shù)據(jù)的邊際分布可以對未知參數(shù)進(jìn)行極大似然估計。這種方法也被稱為忽略缺失值的極大似然估計,對于極大似然的參數(shù)估計實際中常采用的計算方法是期望值最大化。

該方法比刪除個案和單值插補更有吸引力,它一個重要前提:適用于大樣本。有效樣本的數(shù)量足夠以保證ML估計值是漸近無偏的并服從正態(tài)分布。但是這種方法可能會陷入局部極值,收斂速度也不是很快,并且計算很復(fù)雜。

(4)多重插補(MultipleImputation,MI)。多值插補的思想來源于貝葉斯估計,認(rèn)為待插補的值是隨機(jī)的,它的值來自于已觀測到的值。具體實踐上通常是估計出待插補的值,然后再加上不同的噪聲,形成多組可選插補值。根據(jù)某種選擇依據(jù),選取最合適的插補值。

本文標(biāo)題:插補缺失值java代碼 缺失值插補法
網(wǎng)站鏈接:http://chinadenli.net/article44/hjoeee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣服務(wù)器托管定制開發(fā)外貿(mào)網(wǎng)站建設(shè)小程序開發(fā)做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名