第五章 演算法效率評估
本章我們以實做程式的方式來評估本論文方法的可行性,與論文[10]提出的
TSW(Time-Sensitive Sliding Window Method)演算法,比較執行效率及記憶體 大小需求。程式開發是採用 Microsoft Visual C++ 6.0 程式語言,實驗環境的作
業系統為 Microsoft Windows XP,系統配備為 Pentium IV3.4GHz 之中央處理
器,及 1GB 的主記憶體。
5-1 資料產生方式
實驗評估所使用的交易資料是以程式模擬產生,資料產生方式同論文[4],
使用 IBM 資料產生器產生交易資料,描述所產生之資料集中資料特性的參數意
義如表 5.1 所示。
表 5.1 實驗資料集參數說明
參數 參數說明
|T| 每筆交易的平均資料項個數
|I| 最大常見資料項集的平均長度
|D| 交易資料筆數
|N| 資料項的種類個數
以下我們將以 Tx.Iy.DnK 來表示實驗所採用的資料集之特性,其所代表的意 義為|T|=x、|I|=y 及|D|=nK。
5-2 實驗評估
我們設定實驗資料集參數為 T5I4D100K,|N|=100,產生 100K(即 100,000)
筆交易記錄資料,為了模擬資料流,我們將所產生的資料集分成多個包含相同交
易筆數的單位累積交易集,每個單位累積交易集中包含 1000 筆交易資料。實驗
評估分為兩部分,第一個部分是對本論文 NFCP(Normalized Frequency Changing
Point)演算法與 TSW 演算法[10]在探勘正確性、執行效率及記憶體大小需求三方 面的比較。第二部分是以本論文所提出的探勘最近常見代表樣式之方法以及將
TSW 結合 RPlocal 演算法[18]來探勘最近常見代表樣式之效能比較。
5-2-1 探勘正確性之比較
本實驗主要目的是將 NFCP 演算法及 TSW 演算法探勘出來的最近常見資料
項集及其支持度,分別以 Apriori 演算法[1]從各時間點對應的交易視窗中找出的
精確結果進行比較,計算出兩個方法的漏失率(False dismissal rate)、錯誤率(False
alarm rate)及平均支持度誤差值 ASE(Average Support Error)。
令 Rx表示以探勘演算法 X 找出的最近常見資料項集,RApriori表示由 Apriori
演算法探勘出來的結果,則 Rx的漏失率 FDR(False dismissal rate)值計算方式
| R
|
| R R
|
Apriori x Apriori −
= 。錯誤率 FAR(False alarm rate)的計算方式
| R
|
| R R
|
x Apriori x −
= 。
ASE(Rx|RApriori)表示探勘演算法 X 探勘結果相較於 Apriori 演算法所得結果之平均 支持度誤差值,由下式計算得之:ASE(Rx|RApriori) =
| R
| / ) ) ( sup
| ) ( sup )
( sup
| )
( sup
(
∑ ∑ ∑
x−
∈
∩
∈
−
∈
+
− +
x Apriori
Apriori
Apriori x
Apriori
Apriori e R R
R R
R e
Rx R R
Rx e
Rx
e R e R e R e
R
。在本實驗中參數之預設值如下:最小支持度門檻值設為 0.01,視窗大小 w 分別
設為 20 及 40 個單位累積交易集。NFCP 及 TSW 演算法時皆是每 1 個單位時間
處理一個單位累積交易集來更新維護資料流出現資訊。在整個資料流 100 個單位
累積交易集中,我們每隔 10 個單位累積交易集進行一次最近常見資料項集探
勘,Apriori 演算法則從當時對應的目前交易視窗探勘出常見資料項集,作為比
對資料。
圖 5.2.1 探勘漏失率之比較
NFCP 及 TSW 演算法皆保證不會有最近常見項目集被漏失,因此兩者在各 個時間點的漏失率皆為 0%,如圖 5.2.1 所示。
0 10 20 30 40 50
10 30 50 70 90
單位累積交易集編號
F als e d is m is sa l ra te (% )
NF C P (w= 20) NF C P (w= 40) TS W (w= 20) TS W (w= 40)
圖 5.2.2 探勘錯誤率之比較
圖 5.2.2 顯示兩個演算法在不同時間點探勘最近常見資料項集結果之錯誤
率。結果顯示視窗大小為 40 時,NFCP 演算法的錯誤率小於視窗大小為 20 的情
況,且總體來說 NFCP 演算法的錯誤率比 TSW 來得低,大多維持在 10%以下,
且最多不超過 14%。
圖 5.2.3 平均支持度誤差值之比較 ASE(×10-3)
0
20 40 60 80 100
10 20 30 40 50 60 70 80 90 100
單位累積交易集編號
F al se al ar m rat e(% )
NFCP(w=20) NFCP(w=40) TSW (w=20) TSW (w=40)
0 10 20 30 40 50 60 70 80 90 100
10 20 30 40 50 60 70 80 90 100 單位累積交易集編號
AS E
( ×1
0
-3) NFCP(w=20)
NFCP(w=40)
TSW (w=20)
TSW (w=40)
在不同時間點 ASE(RNFCP|RApriori)及 ASE(RTSW|RApriori)的結果顯示在圖 5.2.3
中。其顯示 NFCP 的平均支持度誤差值亦小於 TSW。當視窗大小由 20 增加至
40 個單位累積交易集, ASE 值有略為減小的現象。而在此實驗參數下,NFCP 皆較 TSW 具有較精確的探勘結果。
5-2-2 執行效率與記憶體大小需求之比較
本實驗主要的目的是在比較 NFCP 及 TSW 兩個演算法,在不同的最小支持
度門檻值下,探勘資料流最近常見資料項集所耗費的時間,及所需記憶體大小之
影響。NFCP 方法分別顯示維護資料項集資訊時間、探勘常見資料項集時間,及
合計的時間。
本實驗在相同的最小支持度門檻值 Smin,及相同的視窗大小 w,對 NFCP 及
TSW 演算法之執行效率及記憶體大小需求之比較。實驗參數之預設值:令 Smin
預設分別為 0.01 及 0.005,w 為 20 個單位累積交易集,實驗資料產生參數為
T5I4D100K。
圖 5.2.4 執行時間(秒)之比較(Smin
= 0.01)
圖 5.2.5 執行時間(秒)之比較(Smin = 0.005)
表 5.2 TSW 演算法各時間點探勘出之常見資料項集筆數
時間點 10 20 30 40 50 60 70 80 90 100
常見資料
項集筆數 14995 11894 9815 8560 11069 13689 9618 10837 12144 11730
0 0.5 1 1.5 2
10 20 30 40 50 60 70 80 90 100
單 位 累 積 交易 集 編 號執 行 時 間 ( 秒
)
NFC P( Main tain ) NFC P( Min in g ) NFC P( T o tal) T SW
0 2 4 6 8 10 12
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0
單 位 累 積 交 易 集 編 號 執
行 時 間
( 秒
)
NFC P( Main tain ) NFC P( Min in g ) NFC P( T o tal) T SW
圖 5.2.6 記憶體大小需求(MB)之比較
比較執行時間之實驗結果如圖 5.2.4 及 5.2.5 所示,比較記憶體大小需求如圖
5.2.6 所示。表 5.2 列出 TSW 演算法在各時間點探勘出之常見資料項集筆數,可 對照圖 5.2.5 看出 TSW 演算法探勘時間與所探勘出的最近常見資料項集筆數程
正相關。由實驗結果可知,當 Smin為 0.01 時,TSW 執行速度在大部分的時間點
比 NFCP 稍微快些,但是當 Smin為 0.005 時,NFCP 就會比 TSW 來得快,主要
是因為 Smin值的改變對 NFCP 維護資料項集資訊方法時間的影響很小,且探勘常
見資料項集時間增加的幅度也很小,所以當最小門檻值愈小時對本論文方法愈有
利。若觀察 NFCP 的維護時間,更可看出 NFCP 所需的維護時間極少,因此若資
料流中並非在每個時間點都需進行探勘,但亦隨時有可能要求進行探勘,則
NFCP 可以很有效率的維護方式,達到隨時可進行探勘最近常見資料項集的效 果,可節省更多的處理成本。
0 20 40 60 80 100 120 140 160 180 200
10 20 30 40 50 60 70 80 90 100 單位累積交易集編號
記 憶 體 大 小
(M
B
)NFCP(s=0.01)
NFCP(s=0.005)
TSW (s=0.01)
TSW (s=0.005)
此外,NFCP 演算法不像 TSW 演算法,所需記憶體大小不會因時間點而有
明顯增加,且改變最小支持度門檻值對 NFCP 所需之記憶體也幾乎沒有影響,執
行一段時間後所需之記憶體需求就會趨於平穩,約維持在 12MB 到 13MB 之間。
5-2-3 比較探勘代表樣式演算法之執行效能
本實驗主要的目的是在評估 NFCP 的代表樣式探勘方法,因此將 TSW 結合
RPlocal 演算法[18]、以及將 Apriori 結合 RPglobal 演算法[18]來探勘最近常見代 表樣式作為比較對象,以下簡稱為 TSW(use RPlocal)及 Apriori(use RPglobal)。
NFCP 演算法每隔 10 個單位時間進行一次最近常見代表樣式之探勘。TSW(use
RPlocal)將每隔 10 個單位時間 TSW 演算法輸出之常見資料項集作為輸入資料,
建立成 FP-tree 結構,執行 RPlocal 演算法探勘出最近常見代表樣式。Apriori(use
RPglobal)則是每隔 10 個單位時間將窗中的交易視為一個資料庫,進行常見資料 項集之探勘,其探勘結果為完全正確之結果,再將這些結果輸入給 RPglobal 演
算法找出常見代表樣式,因此以 Apriori(use RPglobal)之探勘結果為完全正確且
最精簡的常見代表樣式結果,將其作為比照對象。
實驗中分別改變最小支持度門檻值 Smin、視窗大小 w 及
δ
三個參數,比較NFCP 與 TSW(use RPlocal)每個單位時間維護資料項資訊及探勘代表樣式所耗費 的時間及記憶體之比較。此外,分別調整最小支持度門檻值 Smin及
δ
兩個參數,比 較 NFCP 探 勘 最 近 常 見 代 表 樣 式 方 法 、 TSW(use RPlocal) 與 Apriori (use
RPglobal)所探勘出常見代表樣式的個數。
[實驗 3.1]
本實驗設計是在相同的視窗大小 w 及相同的
δ
值下,比較不同的最小支持度門檻值 Smin對 NFCP 探勘代表樣式方法及 TSW(use RPlocal)之執行時間及記憶
體消耗之影響。此外,比較不同的 Smin值對 NFCP 探勘代表樣式方法、TSW(use
RPlocal)及 Apriori(use RPglobal)探勘代表樣式產生樣式個數之比較,針對每種
S
min值,每隔 10 個單位時間進行一次最近常見代表樣式探勘,將 10 次探勘所得 的代表樣式筆數取其平均值顯示。實驗參數之設定:將 w 及δ
各別設為 20 個單位累積交易集及 0.2。
圖 5.2.7 最小支持度門檻值對所需記憶體大小(MB)之影響
1
10 100 1000
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 單位累積交易集編號
記 憶 體
( M
B )
NFC P( s = 0 .0 1 ) NFC P( s = 0 .0 0 5 ) NFC P( s = 0 .0 0 1 ) TSW (s = 0 .0 1 ) TSW (s = 0 .0 0 5 ) TSW (s = 0 .0 0 1 )
圖 5.2.8 最小支持度門檻值對所需執行時間(秒)之影響
圖 5.2.9 最小支持度門檻值對常見代表樣式個數之影響
當最大支持度門檻值 Smin分別設定為 0.01、0.005 及 0.001 時,記憶體消耗
之實驗結果如圖 5.2.7 所示,比較執行時間如圖 5.2.8 所示,比較兩個探勘方法與
Apriori(use RPglobal)所探勘出的常見代表樣式個數如圖 5.2.9 所示。由實驗結果 可知,當 Smin值變小,NFCP 探勘代表樣式方法與 TSW(use RPlocal)之執行時間
1 10 100 1000
10 20 30 40 50 60 70 80 90 10 0 單位累積交易集編號
執 行 時 間
( 秒
)
NFC P(s = 0 .0 1 ) NFC P(s = 0 .0 0 5 ) NFC P(s = 0 .0 0 1 ) TSW ( s = 0 . 0 1 ) TSW ( s = 0 . 0 0 5 ) TSW ( s = 0 . 0 0 1 )
0 1000 2000 3000 4000 5000 6000 7000 8000
0.01 0.005 0.001
最小支持度門檻值S
m in代 表 樣 式 筆 數
Ap rio r i( R P) NFC P( R P) TSW (R P)
會隨之增加,然而 NFCP 執行時間增加的幅度小於 TSW(use RPlocal)。因此雖然
在 Smin為 0.01 時,NFCP 執行時間與 TSW(use RPlocal)差不多,但當 Smin減少至
0.005 之後,NFCP 執行速度較 TSW(use RPlocal)快,最多可快約 600 秒。TSW(use
RPlocal)所需之記憶體空間也會隨 Smin值變小而增加,但 NFCP 代表樣式探勘方 法在 Smin為 0.001 時所需之記憶體空間反而最少,主要是因為 FP-tree 中所記錄
的頻率改變點資料會減少,所以消耗的記憶體反而減少。當 Smin 值為 0.001 時
TSW(use RPlocal)所需之記憶體多達 753MB,比本論文方法所需的最大記憶體空 間 13MB 多了將近 60 倍,所以可以看出在最小門檻值愈小的情況下,本論文方
法的執行效率及所消耗記憶體需求有愈好的表現。Apriori(use RPglobal)的探勘結
果為完全正確且最精簡的探勘結果,雖然本論文方法探勘出的常見代表樣式數量
較多,但差異並沒有很大。且因為 Apriori 得對每個目前交易視窗中的交易資料
重 新 進 行 探 勘 , 且 RPglobal 演 算 法 為 一 個 時 間 複 雜 度 很 高 的 方 法 , 所 以
Apriori(use RPglobal)探勘的成本會較高,而本論文方法與 TSW(use RPlocal)探勘 出的樣式數量雖然較多,卻能顯著的減少探勘執行成本。此外,當 Smin值變小,
TSW(use RPlocal)多探勘出的樣式筆數會較本論文方法更多,此情況下本論文方 法探勘效果會較 TSW(use RPlocal)更佳。
[實驗 3.2]
本實驗設計是在相同的最小支持度門檻值 Smin,及相同的視窗大小 w 下,比
較不同的
δ
值對 NFCP 代表樣式探勘方法及 TSW(use RPlocal)兩演算法的執行時間及所需記憶體之影響。此外,比較調整
δ
值對兩個探勘方法與 Apriori(useRPglobal)所探勘出的常見代表樣式個數之比較,針對每種
δ
值,每隔 10 個單位 時間進行一次最近常見代表樣式探勘,將 10 次探勘所得的代表樣式筆數取其平均值。實驗參數之預設值:令 Smin及 w 分別預設為 0.001 及 20 個單位累積交易
集。
圖 5.2.10
δ
值對所需記憶體大小(MB)之影響1
10 100 1000
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 單位累積交易集編號
記 憶 體 ( M B )
NF C P (δ = 0. 2) NF C P (δ = 0. 4) NF C P (δ = 0. 6) TS W (δ = 0. 2) TS W (δ = 0. 4) TS W (δ = 0. 6)
圖 5.2.11
δ
值對所需執行時間(秒)之影響圖 5.2.12
δ
值對常見代表樣式個數之影響當
δ
值分別為 0.2、0.4 及 0.6 時,記憶體需求之實驗結果如圖 5.2.10 所示,比較執行時間如圖 5.2.11 所示,比較兩種探勘方法與 Apriori(use RPglobal)所產
生代表樣式個數比較如圖 5.2.12 所示。由實驗結果顯示,不同的
δ
值對兩種演算法探勘代表樣式時所需之記憶體空間影響很小,因為兩種演算法中最佔記憶體空
間的部分都是儲存資料項集摘要資訊的儲存資料結構,而
δ
值並不會影響兩種演 110 100 1000
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 單位累積交易集編號
執 行 時 間 ( 秒
)
NF C P (δ = 0. 2) NF C P (δ = 0. 4) NF C P (δ = 0. 6) TS W (δ = 0. 2) TS W (δ = 0. 4) TS W (δ = 0. 6)
0 1000 2000 3000 4000 5000 6000 7000 8000
0.2 0.4 0.6
δ 值 代
表 樣 式 筆 數
Apri ori (RP ) NF CP (RP ) TS W (R P )
算法的儲存資料結構大小。TSW(use RPlocal)執行時間中大部分都是在執行維護
常見資料項集資訊,探勘代表樣式之時間平均不到 1 秒,所以
δ
值對 TSW(useRPlocal)執行時間影響不大。對於 NFCP 探勘代表樣式方法,在全部執行時間中 探勘代表樣式的時間佔很大比例,因此
δ
值變大時,會縮短探勘所需時間,因此可從圖中看出
δ
值變大時,NFCP 探勘代表樣式方法的執行時間有降低的趨勢。此外,當
δ
值變大,所探勘出來的代表資訊差異愈大,因此三個方法探勘所得的筆數皆隨之逐漸減少;然而因為 TSW 在進行最近常見資料項集探勘時多探勘出
的數量便比 NFCP 還來得多,因此 TSW(use RPlocal)探勘出來的代表樣式筆數亦
比 NFCP 代表樣式探勘法所得結果多。
[實驗 3.3]
本實驗設計是在相同的最小支持度門檻值 Smin,及相同的
δ
值下,比較不同的視窗大小 w 對 NFCP 探勘代表樣式方法及 TSW(use RPlocal)執行時間及所需記
憶體空間之影響。實驗參數之預設值:令 Smin及
δ
分別預設為 0.005 及 0.2。圖 5.2.13 視窗大小 w 對記憶體需求(MB)之
影響
圖 5.2.14 視窗大小 w 對執行時間(秒)之
影響
當視窗大小 w 分別為 20、40 及 60 時,比較記憶體需求之實驗結果如圖 5.2.13
所示,比較執行時間之實驗結果如圖 5.2.14 所示。由實驗結果顯示,當視窗大小
設愈大時,兩種演算法儲存資料結構需要記錄的資料項集資訊就會變多,因此
NFCP 代表樣式探勘方法與 TSW(use RPlocal)所需記憶體空間皆會隨之增加。此 外,視窗變大時,視窗中所包含的交易筆數會隨之增加,則需要處理的資料項集
0 50 100 150 200 250
10 20 30 40 50 60 70 80 90 100 單位累積交易集編號
記 憶 體
(
M
B
)NF CP (w = 20) NF CP (w = 40) NF CP (w = 60) TS W (w = 20) TS W (w = 40) TS W (w = 60)
0 2 4 6 8 10 12
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 單位累積交易集編號
執 行 時 間 ( 秒
)
NF C P (w = 20) NF C P (w = 40) NF C P (w = 60) TS W (w = 20) TS W (w = 40) TS W (w = 60)
就會變多,因此,兩種探勘方法的探勘時間皆隨著視窗大小變大而有增加。但可
看 出 改 變 視 窗 大 小 對 本 論 文 方 法 執 行 時 間 及 記 憶 體 需 求 的 影 響 皆 小 於 對
TSW(use RPlocal)演算法的影響。
5-3 實驗結果總結
由以上探勘正確性的實驗結果顯示,NFCP 演算法能找出所有最近常見資料
項集,探勘錯誤率平均為 8%左右,且平均支持度誤差值較 TSW 演算法為佳。
此外,由更新維護資料流出現資訊執行效率與記憶體大小需求的實驗結果顯示,
當 Smin小於 0.005 時,NFCP 探勘常見資料項集方法不論是執行效率或記憶體消
耗上都較 TSW 演算法為佳。
由探勘代表樣式的實驗結果顯示,改變各種參數對 NFCP 演算法的探勘時間
及記憶體空間的影響都小於比較對象。且當最小支持度門檻值愈小時,本論文探
勘所得的代表樣式筆數會比 TSW 結合 RPlocal 演算法探勘筆數少更多,因此整
體來說 NFCP 為一個在較小記憶體空間及穩定的執行時間需求下,可有效地從資
料流中近似探勘出最近常見代表樣式的演算法。