❶ 數控機床沒有拋物線插補功能怎麼加工橢圓
這個就得學習宏程序編程
其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削,實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是
以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.由於現在B類宏程序的大量使
用很多書都進行了介紹這里我就不再重復了,但在一些老系統中,比如法蘭克OTD系統中由於它的MDI鍵盤上沒有公式符號,連最簡單的等於號都沒有,為此如果應用B類宏程序的話就只能在計算機上編好再通過RSN-32介面傳輸的數控系統中,可是如果我們沒有PC機和RSN-32電纜的話怎麼辦呢,那麼只有通過A類宏程序來進行宏程序編制了,下面我介紹一下A類宏的引用;
A類宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式輸入的xx的意思就是數值,是以um級的量輸入的,比如你輸入100那就是0.1MM~~~~~.#xx就是變數號,關於變數號是什麼意思再不知道的的話我也就沒治了,不過還是教一下吧,變數號就是把數值代入到一個固定的地址中,固定的地址就是變數,一般OTD系統中有#0~~~#100~#149~~~#500~#531關閉電源時變數#100~#149被初始化成「空」,而變數#500~#531保持數據.我們如果說#100=30那麼現在#100地址內的數據就是30了,就是這么簡單.好現在我來說一下H代碼,大家可以看到A類宏的標准格式中#xx和xx都是數值,而G65表示使用A類宏,那麼這個H就是要表示各個數值和變數號內的數值或者各個變數號內的數值與其他變數號內的數值之間要進行一個什麼運算,可以說你了解了H代碼A類宏程序你基本就可以應用了,好,現在說一下H代碼的各個含義:
以下都以#100和#101和#102,及數值10和20做為例子,應用的時候別把他們當格式就行,
基本指令:
H01賦值;格式:G65H01P#101Q#102:把#102內的數值賦予到#101中
G65H01P#101Q#10:把10賦予到#101中
H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數值加上#103的數值賦予#101
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4個都是加指令的格式都是把Q後面的數值或變數號內的數值加上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數值減去#103的數值賦予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4個都是減指令的格式都是把Q後面的數值或變數號內的數值減去R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數值乘上#103的數值賦予#101
G65 H04 P#101 Q#102 R10
G65 H04 P#101 Q10 R#103
G65 H04 P#101 Q20 R10
上面4個都是乘指令的格式都是把Q後面的數值或變數號內的數值乘上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的數值除以#103的數值賦予#101
G65 H05 P#101 Q#102 R10
G65 H05 P#101 Q10 R#103
G65 H05 P#101 Q20 R10
上面4個都是除指令格式都是把Q後面的數值或變數號內的數值除以R後面的數
值或變數號內的數值然後等於到P後面的變數號中.(余數不存,除數如果為0的話會出現112報警)
三角函數指令:
H31 SIN正玄函數指令:格式G65 H31 P#101 Q#102 R#103;含義Q後面的#102是三角形的斜邊R後面的#103內存的是角度.結果是#101=#102*SIN#103,也就是說可以直接用這個求出三角形的另
一條邊長.和以前的指令一樣Q和R後面也可以直接寫數值.
H32 COS余玄函數指令:格式G65 H32 #101 Q#102 R#103;含義Q後面的#102是三角形的斜邊
R後面的#103內存的是角度.結果是#101=#102*COS#103,也就是說可以直接用這個求出三角形的
另一條邊長.和以前的指令一樣Q和R後面也可以直接寫數值.
H33和H34本來應該是TAN 和ATAN的可是經過我使用得數並不準確,希望有知道的人能夠告訴我是為什麼?
開平方根指令:
H21;格式G65 H21 P#101 Q#102 ;意思是把#102內的數值開了平方根然後存到#101中(這個指令是非常重要的如果在車橢圓的時候沒有開平方跟的指令是沒可能用宏做到的.
無條件轉移指令:
H80;格式:G65 H80 P10 ;直接跳到第10程序段
有條件轉移指令:
H81 H82 H83 H84 H85 H86 ,分別是等於就轉的H81;不等於就轉的H82;小於就轉的H83;大於就轉的H84;小於等於就轉的H85;大於等於就轉的H86;
格式:G65 H8x P10 Q#101 R#102;將#101內的數值和#102內的數值相比較,按上面的H8x的碼帶入H8x中去,如果條件符合就跳到第10程序段,如果不符合就繼續執行下面的程序段.
用 戶 宏 程 序
能完成某一功能的一系列指令像子程序那樣存入存儲器,用一個總指令來它們,使用時只需給出這個總指令就能執行其功能。
l 所存入的這一系列指令——用戶宏程序
l 調用宏程序的指令————宏指令
l 特點:使用變數
一. 變數的表示和使用
(一) 變數表示
#I(I=1,2,3,…)或#[<式子>]
例:#5,#109,#501,#[#1+#2-12]
(二) 變數的使用
1. 地址字後面指定變數號或公式
格式: <地址字>#I
<地址字>-#I
<地址字>[<式子>]
例:F#103,設#103=15 則為F15
Z-#110,設#110=250 則為Z-250
X[#24+#18*COS[#1]]
2. 變數號可用變數代替
例:#[#30],設#30=3 則為#3
3. 變數不能使用地址O,N,I
例:下述方法下允許
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. 變數號所對應的變數,對每個地址來說,都有具體數值范圍
例:#30=1100時,則M#30是不允許的
5. #0為空變數,沒有定義變數值的變數也是空變數
6. 變數值定義:
程序定義時可省略小數點,例:#123=149
MDI鍵盤輸一. 變數的種類
1. 局部變數#1~#33
一個在宏程序中局部使用的變數
例: A宏程序 B宏程序
… …
#10=20 X#10 不表示X20
… …
斷電後清空,調用宏程序時代入變數值
2. 公共變數#100~#149,#500~#531
各用戶宏程序內公用的變數
例:上例中#10改用#100時,B宏程序中的
X#100表示X20
#100~#149 斷電後清空
#500~#531保持型變數(斷電後不丟失)
3. 系統變數
固定用途的變數,其值取決於系統的狀態
例:#2001值為1號刀補X軸補償值
#5221值為X軸G54工件原點偏置值
入時必須輸入小數點,小數點省略時單位為μm
一. 運算指令
運算式的右邊可以是常數、變數、函數、式子
式中#j,#k也可為常量
式子右邊為變數號、運算式
1. 定義
#I=#j
2. 算術運算
#I=#j+#k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. 邏輯運算
#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. 函數
#I=SIN[#j] 正弦
#I=COS[#j] 餘弦
#I=TAN[#j] 正切
#I=ATAN[#j] 反正切
#I=SQRT[#j] 平方根
#I=ABS[#j] 絕對值
#I=ROUND[#j] 四捨五入化整
#I=FIX[#j] 下取整
#I=FUP[#j] 上取整
#I=BIN[#j] BCD→BIN(二進制)
#I=BCN[#j] BIN→BCD
1. 說明
1) 角度單位為度
例:90度30分為90.5度
2) ATAN函數後的兩個邊長要用「1」隔開
例:#1=ATAN[1]/[-1]時,#1為了35.0
3) ROUND用於語句中的地址,按各地址的最小設定單位進行四捨五入
例:設#1=1.2345,#2=2.3456,設定單位1μm
G91 X-#1;X-1.235
X-#2 F300;X-2.346
X[#1+#2];X3.580
未返回原處,應改為
X[ROUND[#1]+ROUND[#2]];
4) 取整後的絕對值比原值大為上取整,反之為下取整
例:設#1=1.2,#2=-1.2時
若#3=FUP[#1]時,則#3=2.0
若#3=FIX[#1]時,則#3=1.0
若#3=FUP[#2]時,則#3=-2.0
若#3=FIX[#2]時,則#3=-1.0
5) 指令函數時,可只寫開頭2個字母
例:ROUND→RO
FIX→FI
6) 優先順序
函數→乘除(*,1,AND)→加減(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括弧為中括弧,最多5重,園括弧用於注釋語句
例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
一. 轉移與循環指令
1.無條件的轉移
格式: GOTO 1;
GOTO #10;
2.條件轉移
格式: IF[<條件式>] GOTO n
條件式:
#j EQ#k 表示=
#j NE#k 表示≠
#j GT#k 表示>
#j LT#k 表示<
#j GE#k 表示≥
#j LE#k 表示≤
例: IF[#1 GT 10] GOTO 100;
…
N100 G00 691 X10;
例:求1到10之和
O9500;
#1=0
#2=1
N1 IF [#2 GT10] GOTO 2
#1=#1+#2;
#2=#2+1;
GOTO 1
N2 M301.循環
格式:WHILE[<條件式>]DO m;(m=1,2,3)
…
…
…
ENDm
說明:1.條件滿足時,執行DOm到ENDm,則從DOm的程序段
不滿足時,執行DOm到ENDm的程序段
2.省略WHILE語句只有DOm…ENDm,則從DOm到ENDm之間形成死循環
3.嵌套
4.EQ NE時,空和「0」不同
其他條件下,空和「0」相同
例:求1到10之和
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1+#2;
#2=#2+#1;
END1;
M30;
❷ 幾種常見的缺失數據插補方法
(一)個案剔除法(Listwise Deletion)
最常見、最簡單的處理缺失數據的方法是用個案剔除法(listwise
deletion),也是很多統計軟體(如SPSS和SAS)默認的缺失值處理方法。在這種方法中如果任何一個變數含有缺失數據的話,就把相對應的個案從分析中剔除。如果缺失值所佔比例比較小的話,這一方法十分有效。至於具體多大的缺失比例算是「小」比例,專家們意見也存在較大的差距。有學者認為應在5%以下,也有學者認為20%以下即可。然而,這種方法卻有很大的局限性。它是以減少樣本量來換取信息的完備,會造成資源的大量浪費,丟棄了大量隱藏在這些對象中的信息。在樣本量較小的情況下,刪除少量對象就足以嚴重影響到數據的客觀性和結果的正確性。因此,當缺失數據所佔比例較大,特別是當缺數據非隨機分布時,這種方法可能導致數據發生偏離,從而得出錯誤的結論。
(二)均值替換法(Mean Imputation)
在變數十分重要而所缺失的數據量又較為龐大的時候,個案剔除法就遇到了困難,因為許多有用的數據也同時被剔除。圍繞著這一問題,研究者嘗試了各種各樣的辦法。其中的一個方法是均值替換法(mean
imputation)。我們將變數的屬性分為數值型和非數值型來分別進行處理。如果缺失值是數值型的,就根據該變數在其他所有對象的取值的平均值來填充該缺失的變數值;如果缺失值是非數值型的,就根據統計學中的眾數原理,用該變數在其他所有對象的取值次數最多的值來補齊該缺失的變數值。但這種方法會產生有偏估計,所以並不被推崇。均值替換法也是一種簡便、快速的缺失數據處理方法。使用均值替換法插補缺失數據,對該變數的均值估計不會產生影響。但這種方法是建立在完全隨機缺失(MCAR)的假設之上的,而且會造成變數的方差和標准差變小。
(三)熱卡填充法(Hotdecking)
對於一個包含缺失值的變數,熱卡填充法在資料庫中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。最常見的是使用相關系數矩陣來確定哪個變數(如變數Y)與缺失值所在變數(如變數X)最相關。然後把所有個案按Y的取值大小進行排序。那麼變數X的缺失值就可以用排在缺失值前的那個個案的數據來代替了。與均值替換法相比,利用熱卡填充法插補數據後,其變數的標准差與插補前比較接近。但在回歸方程中,使用熱卡填充法容易使得回歸方程的誤差增大,參數估計變得不穩定,而且這種方法使用不便,比較耗時。
(四)回歸替換法(Regression Imputation)
回歸替換法首先需要選擇若干個預測缺失值的自變數,然後建立回歸方程估計缺失值,即用缺失數據的條件期望值對缺失值進行替換。與前述幾種插補方法比較,該方法利用了資料庫中盡量多的信息,而且一些統計軟體(如Stata)也已經能夠直接執行該功能。但該方法也有諸多弊端,第一,這雖然是一個無偏估計,但是卻容易忽視隨機誤差,低估標准差和其他未知性質的測量值,而且這一問題會隨著缺失信息的增多而變得更加嚴重。第二,研究者必須假設存在缺失值所在的變數與其他變數存在線性關系,很多時候這種關系是不存在的。
(五)多重替代法(Multiple Imputation)
多重估算是由Rubin等人於1987年建立起來的一種數據擴充和統計分析方法,作為簡單估算的改進產物。首先,多重估算技術用一系列可能的值來替換每一個缺失值,以反映被替換的缺失數據的不確定性。然後,用標準的統計分析過程對多次替換後產生的若干個數據集進行分析。最後,把來自於各個數據集的統計結果進行綜合,得到總體參數的估計值。由於多重估算技術並不是用單一的值來替換缺失值,而是試圖產生缺失值的一個隨機樣本,這種方法反映出了由於數據缺失而導致的不確定性,能夠產生更加有效的統計推斷。結合這種方法,研究者可以比較容易地,在不舍棄任何數據的情況下對缺失數據的未知性質進行推斷。NORM統計軟體可以較為簡便地操作該方法
❸ 幾種常見的缺失數據插補方法
(一)個案剔除法(Listwise Deletion) 最常見、最簡單的處理缺失數據的方法是用個案剔除法(listwise deletion),也是很多統計軟體(如SPSS和SAS)默認的缺失值處理方法。在這種方法中如果任何一個變數含有缺失數據的話,就把相對應的個案從分析中剔除。如果缺失值所佔比例比較小的話,這一方法十分有效。至於具體多大的缺失比例算是「小」比例,專家們意見也存在較大的差距。有學者認為應在5%以下,也有學者認為20%以下即可。然而,這種方法卻有很大的局限性。它是以減少樣本量來換取信息的完備,會造成資源的大量浪費,丟棄了大量隱藏在這些對象中的信息。在樣本量較小的情況下,刪除少量對象就足以嚴重影響到數據的客觀性和結果的正確性。因此,當缺失數據所佔比例較大,特別是當缺數據非隨機分布時,這種方法可能導致數據發生偏離,從而得出錯誤的結論。 (二)均值替換法(Mean Imputation) 在變數十分重要而所缺失的數據量又較為龐大的時候,個案剔除法就遇到了困難,因為許多有用的數據也同時被剔除。圍繞著這一問題,研究者嘗試了各種各樣的辦法。其中的一個方法是均值替換法(mean imputation)。我們將變數的屬性分為數值型和非數值型來分別進行處理。如果缺失值是數值型的,就根據該變數在其他所有對象的取值的平均值來填充該缺失的變數值;如果缺失值是非數值型的,就根據統計學中的眾數原理,用該變數在其他所有對象的取值次數最多的值來補齊該缺失的變數值。但這種方法會產生有偏估計,所以並不被推崇。均值替換法也是一種簡便、快速的缺失數據處理方法。使用均值替換法插補缺失數據,對該變數的均值估計不會產生影響。但這種方法是建立在完全隨機缺失(MCAR)的假設之上的,而且會造成變數的方差和標准差變小。 (三)熱卡填充法(Hotdecking) 對於一個包含缺失值的變數,熱卡填充法在資料庫中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。最常見的是使用相關系數矩陣來確定哪個變數(如變數Y)與缺失值所在變數(如變數X)最相關。然後把所有個案按Y的取值大小進行排序。那麼變數X的缺失值就可以用排在缺失值前的那個個案的數據來代替了。與均值替換法相比,利用熱卡填充法插補數據後,其變數的標准差與插補前比較接近。但在回歸方程中,使用熱卡填充法容易使得回歸方程的誤差增大,參數估計變得不穩定,而且這種方法使用不便,比較耗時。 (四)回歸替換法(Regression Imputation) 回歸替換法首先需要選擇若干個預測缺失值的自變數,然後建立回歸方程估計缺失值,即用缺失數據的條件期望值對缺失值進行替換。與前述幾種插補方法比較,該方法利用了資料庫中盡量多的信息,而且一些統計軟體(如Stata)也已經能夠直接執行該功能。但該方法也有諸多弊端,第一,這雖然是一個無偏估計,但是卻容易忽視隨機誤差,低估標准差和其他未知性質的測量值,而且這一問題會隨著缺失信息的增多而變得更加嚴重。第二,研究者必須假設存在缺失值所在的變數與其他變數存在線性關系,很多時候這種關系是不存在的。 (五)多重替代法(Multiple Imputation) 多重估算是由Rubin等人於1987年建立起來的一種數據擴充和統計分析方法,作為簡單估算的改進產物。首先,多重估算技術用一系列可能的值來替換每一個缺失值,以反映被替換的缺失數據的不確定性。然後,用標準的統計分析過程對多次替換後產生的若干個數據集進行分析。最後,把來自於各個數據集的統計結果進行綜合,得到總體參數的估計值。由於多重估算技術並不是用單一的值來替換缺失值,而是試圖產生缺失值的一個隨機樣本,這種方法反映出了由於數據缺失而導致的不確定性,能夠產生更加有效的統計推斷。結合這種方法,研究者可以比較容易地,在不舍棄任何數據的情況下對缺失數據的未知性質進行推斷。NORM統計軟體可以較為簡便地操作該方法
❹ 數據缺失想要補齊有什麼方法,用spss的替換缺失值和缺失值分析完全不會用
1、均值插補。數據的屬性分為定距型和非定距型。如果缺失值是定距型的,就以該屬性存在值的平均值來插補缺失的值;如果缺失值是非定距型的,就根據統計學中的眾數原理,用該屬性的眾數(即出現頻率最高的值)來補齊缺失的值。
2、利用同類均值插補。同均值插補的方法都屬於單值插補,不同的是,它用層次聚類模型預測缺失變數的類型,再以該類型的均值插補。假設X=(X1,X2...Xp)為信息完全的變數,Y為存在缺失值的變數。
那麼首先對X或其子集行聚類,然後按缺失個案所屬類來插補不同類的均值。如果在以後統計分析中還需以引入的解釋變數和Y做分析,那麼這種插補方法將在模型中引入自相關,給分析造成障礙。
3、極大似然估計(Max Likelihood ,ML)。在缺失類型為隨機缺失的條件下,假設模型對於完整的樣本是正確的,那麼通過觀測數據的邊際分布可以對未知參數進行極大似然估計(Little and Rubin)。
這種方法也被稱為忽略缺失值的極大似然估計,對於極大似然的參數估計實際中常採用的計算方法是期望值最大化(Expectation Maximization,EM)。
4、多重插補(Multiple Imputation,MI)。多值插補的思想來源於貝葉斯估計,認為待插補的值是隨機的,它的值來自於已觀測到的值。具體實踐上通常是估計出待插補的值,然後再加上不同的雜訊,形成多組可選插補值。根據某種選擇依據,選取最合適的插補值。
(4)市場調查定量變數數據插補的方法是擴展閱讀
缺失值產生的原因很多,裝備故障、無法獲取信息、與其他欄位不一致、歷史原因等都可能產生缺失值。一種典型的處理方法是插值,插值之後的數據可看作服從特定概率分布。另外,也可以刪除所有含缺失值的記錄,但這個操作也從側面變動了原始數據的分布特徵。
對於缺失值的處理,從總體上來說分為刪除存在缺失值的個案和缺失值插補。對於主觀數據,人將影響數據的真實性,存在缺失值的樣本的其他屬性的真實值不能保證,那麼依賴於這些屬性值的插補也是不可靠的,所以對於主觀數據一般不推薦插補的方法。插補主要是針對客觀數據,它的可靠性有保證。
❺ 市場調查中定量變數數據插補方法
均值,中值,眾數還有回歸。你可以把數據錄入spss然後裡面有缺失數據填補的功能、
❻ 簡述資料整理中缺失值的估計方法
刪除含有缺失值的個案
可能值插補缺失值
(1)均值插補
(2)利用同類均值插補。
(3)極大似然估計(Max Likelihood ,ML)
(4)多重插補(Multiple Imputation,MI)
分類變數:若分組分析,選擇相應的分組變數,在「最大類別」輸入最大的分類數,默認25,超過規定分類數則不進行分析。
「個案標簽」選擇一定變數作為標記變數,也不可不選擇。
「估計」方法選擇如圖所示的幾個。
2
「模式」:「按照缺失值模式分組的表格個案」:以表格形式列出每個變數各種缺失方式的缺失例數。
「按照缺失值模式對變數排序」:缺失率太小的缺失方式不予顯示,系統默認1%。
「變數」:規定用何變數標記觀察單位觀察單位及對結果排序。
「附加信息」:顯示每個觀察單位的觀察值,對於列表方式如選擇該項可給出定量變數的均數及分類變數每一類各種缺失方式的缺失數。
「排序依據」:沒激活時是不能用的,選擇一個變數,依據該變數大小依次列出各觀察單位的結果。
❼ 機器學習中的數據預處理有哪些常見/重要的工具
大數據發展的挑戰: 目前大數據的發展依然存在諸多挑戰,包括七大方面的挑戰:業務部門沒有清晰的大數據需求導致數據資產逐漸流失;內部數據孤島嚴重,導致數據價值不能充分挖掘;數據可用性低,數據質量差,導致數據無法利用;數據相關管理技。
機器學習之常見的數據預處理:原始數據存在的幾個問題:不一致;重復;含雜訊;維度高。
1.1 數據挖掘中使用的數據的原則
盡可能賦予屬性名和屬性值明確的含義; 去除惟一屬性; 去除重復性; 合理選擇關聯欄位。
1.2 常見的數據預處理方法
數據清洗:數據清洗的目的不只是要消除錯誤、冗餘和數據噪音,還要能將按不同的、不兼容的規則所得的各種數據集一致起來。 數據集成:將多個數據源中的數據合並,並存放到一個一致的數據存儲(如數據倉庫)中。這些數據源可能包括多個資料庫、數據立方體或一般文件。
數據變換:找到數據的特徵表示,用維度變換來減少有效變數的數目或找到數據的不變式,包括規格化、規約、切換和投影等操作。 數據規約:是在對發現任務和數據本身內容理解的基礎上,尋找依賴於發現目標的表達數據的有用特徵,以縮減數據模型,從而在盡可能保持數據原貌的前提下最大限度的精簡數據量,主要有兩個途徑:屬性選擇和數據抽樣,分別針對資料庫中的屬性和記錄。
二、數據清洗
2.1 缺失值處理的兩種方法
刪除法,根據數據處理的不同角度,刪除法可分為以下4種:
(1)刪除觀測樣本 (2)刪除變數:當某個變數缺失值較多且對研究目標影響不大時,可以將整個變數整體刪除 (3)使用完整原始數據分析:當數據存在較多缺失而其原始數據完整時,可以使用原始數據替代現有數據進行分析; (4)改變權重:當刪除缺失數據會改變數據結構時,通過對完整數據按照不同的權重進行加工,可以降低刪除數據帶來的偏差。
插補法:在條件允許的情況下,找到缺失值的替代值進行插補,盡可能還原真實數據是更好的方法。常見的方法有均值插補、回歸插補、二階插補、熱平台、冷平台等單一變數插補。
(1)均值法是通過計算缺失值所在變數所有非缺失觀測值的均值,使用均值來代替缺失值的插補方法。 (2)均值法不能利用相關變數信息,因此會存在一定偏差,而回歸模型是將需要插補變數作為因變數,其他相關變數作為自變數,通過建立回歸模型預測出因變數的值對缺失變數進行插補。 (3)熱平台插補是指在非缺失數據集中找到一個與缺失值所在樣本相似的樣本(匹配樣本),利用其中的觀測值對缺失值進行插補。 (4)在實際操作中,尤其當變數數量很多時,通常很難找到與需要插補樣本完全相同的樣本,此時可以按照某些變數將數據分層,在層中對缺失值使用均值插補,即採取冷平台插補法。
2.2 雜訊數據處理
雜訊是一個測量變數中的隨機錯誤和偏差,包括錯誤值或偏離期望的孤立點值。
雜訊檢查中比較常見的方法:
(1)通過尋找數據集中與其他觀測值及均值差距最大的點作為異常 (2)聚類方法檢測,將類似的取值組織成「群」或「簇」,落在「簇」集合之外的值被視為離群點。 在進行雜訊檢查後,通常採用分箱、聚類、回歸、計算機檢查和人工檢查結合等方法「光滑」數據,去掉數據中的雜訊。
分箱:分箱方法是一種簡單常用的預處理方法,通過考察相鄰數據來確定最終值。所謂「分箱」,實際上就是按照屬性值劃分的子區間,如果一個屬性值處於某個子區間范圍內,就稱把該屬性值放進這個子區間所代表的「箱子」內。把待處理的數據(某列屬性值)按照一定的規則放進一些箱子中,考察每一個箱子中的數據,採用某種方法分別對各個箱子中的數據進行處理。在採用分箱技術時,需要確定的兩個主要問題就是:如何分箱以及如何對每個箱子中的數據進行平滑處理。
2.2.1 分箱的方法:有4種:等深分箱法、等寬分箱法、最小熵法和用戶自定義區間法。
等深分箱法(統一權重):將數據集按記錄行數分箱,每箱具有相同的記錄數,每箱記錄數稱為箱子的深度。這是最簡單的一種分箱方法。
設定權重(箱子深度)為4,分箱後
箱1:800 1000 1200 1500
箱2:1500 1800 2000 2300
箱3:2500 2800 3000 3500
箱4:4000 4500 4800 5000
等寬分箱法(統一區間):使數據集在整個屬性值的區間上平均分布,即每個箱的區間范圍是一個常量,稱為箱子寬度。
設定區間范圍(箱子寬度)為1000元人民幣,分箱後
箱1:800 1000 1200 1500 1500 1800
箱2:2000 2300 2500 2800 3000
箱3:3500 4000 4500
箱4:4800 5000
用戶自定義區間:用戶可以根據需要自定義區間,當用戶明確希望觀察某些區間范圍內的數據分布時,使用這種方法可以方便地幫助用戶達到目的。
如將客戶收入劃分為1000元以下、1000~2000、2000~3000、3000~4000和4000元以上幾組,分箱後
箱1:800
箱2:1000 1200 1500 1500 1800 2000
箱3:2300 2500 2800 3000
箱4:3500 4000
箱5:4500 4800 5000
2.2.2 數據平滑方法
按平均值平滑 :對同一箱值中的數據求平均值,用平均值替代該箱子中的所有數據。 按邊界值平滑:用距離較小的邊界值替代箱中每一數據。 按中值平滑:取箱子的中值,用來替代箱子中的所有數據。
三、數據集成
數據集成中的兩個主要問題是:
(1)如何對多個數據集進行匹配,當一個資料庫的屬性與另一個資料庫的屬性匹配時,必須注意數據的結構; (2)數據冗餘。兩個數據集有兩個命名不同但實際數據相同的屬性,那麼其中一個屬性就是冗餘的。
四、數據變換
數據變換策略主要包括以下幾種:
光滑:去掉雜訊; 屬性構造:由給定的屬性構造出新屬性並添加到數據集中。例如,通過「銷售額」和「成本」構造出「利潤」,只需要對相應屬性數據進行簡單變換即可 聚集:對數據進行匯總。比如通過日銷售數據,計算月和年的銷售數據; 規范化:把數據單按比例縮放,比如數據標准化處理; 離散化:將定量數據向定性數據轉化。比如一系列連續數據,可用標簽進行替換(0,1);
五、數據歸約
數據歸約通常用維歸約、數值歸約方法實現。維歸約指通過減少屬性的方式壓縮數據量,通過移除不相關的屬性,可以提高模型效率。常見的維歸約方法有:分類樹、隨機森林通過對分類效果的影響大小篩選屬性;小波變換、主成分分析通過把原數據變換或投影到較小的空間來降低維數。