第五章 演算法效率評估
本章我們以實做程式的方式來評估本論文所提出三種方法的執行效率及探
勘正確性。實做程式採用Visual C++ 6.0程式語言,實驗環境的作業系統為
Microsoft Windows XP,系統配備採用Pentium IV3.4GHz之中央處理器,搭配2GB
的主記憶體。
5-1 資料產生方式
實驗評估所採用的交易資料是以程式模擬產生,資料產生方式使用 IBM 資
料產生器產生循序交易資料,並設定每一筆同時間交易中平均包含一筆資料項,
如果所產生交易同時間中包含大於一筆的資料項則只保留第一筆資料項,移除其
餘的資料項,最後將各筆循序交易資料依序結合模擬資料流序列內容。資料特性
的描述參數意義如表 5.1 所示,其中|L|會影響隱藏在模擬資料流序列中的最大重
覆樣式長度。
表 5.1 實驗資料參數說明
參數 參數說明
| I | 資料項種類個數
| P | 資料樣式的種類個數
| L | 資料樣式的平均長度
我們以 Ix.PyLz 來表示實驗所採用的參數值,而其所代表的意義為| I |= x、
| L |=y、| L |=y。
在第四章中,我們根據重新預測探勘的時機不同,分為錯誤率偵測觸發法及
固定視窗法。在以下討論中,我們將錯誤率偵測觸發法簡稱為觸發法,圖表中以
ERT 表示。固定視窗法根據預測規則調整的方法不同,又分為固定視窗取代法及
固定視窗規則調整法,分別簡稱為視窗取代法及視窗調整法,在圖表中分別以
WRNR 及 WANR 表示。實驗評估分為兩個部份,第一部份為不同實驗參數對觸
發法預測正確率之影響。第二部分為三種方法在資料樣式變動下探勘預測錯誤率
的實驗評估。
5-2.1 實驗參數對預測正確率之影響
本實驗主要目的為觀察執行時間的不同參數對觸發法預測正確率的影響。實
驗中採用的資料集為 I100P10L4,產生 1K(即 1,000)筆循序交易記錄資料,產生
一個長度為 1982 的資料流序列,實驗中多次重覆此序列內容,每個時間點最多
只輸入一筆資料處理來模擬資料流。前 1000 筆資料作為訓練資料,從 1001~10000
筆資料作為本實驗的實驗資料集。
[實驗 5.1] 本實驗固定訓練資料集 train_s=1000 與視窗大小 w=1000,最小支持度 門檻值定為 0.3,觸發錯誤率門檻為 0.4。比較改變資料項預測規則最小可信度值
對觸發法之視窗錯誤率及視窗漏失率的影響。
0 0.2 0.4 0.6 0.8 1
1 1501 3001 4501 6001 7501
預測時間 視
窗 錯 誤 率 及 視 窗 漏 失 率
min_conf(0.7) 視窗錯誤率 min_conf(0.5) 視窗錯誤率 min_conf(0.7) 視窗漏失率 min_conf(0.5) 視窗漏失率
圖 5.1 改變最小可信度值對觸發法的視窗錯誤率及視窗漏失率之影響
表 5.2 改變最小可信度值的視窗錯誤率平均及視窗漏失率平均
min_conf=0.7 min_conf=0.5
視窗錯誤率平均 0.121612 0.135884
視窗漏失率平均 0.229547 0.212061
不同 min_conf 值設定下,各時間點的視窗錯誤率及視窗漏失率如圖 5.1 所
示。圖中的横軸時間點表示在訓練資料集後開始進行預測的時間。圖 5.1 中顯示,
當 min_conf=0.7 時,視窗錯誤率較 min_conf=0.5 低;視窗漏失率反之。當 min_conf
值大時,產生的資料項預測規則的可信度值較大,因此視窗錯誤率會較低,然而,
因為所定的 min_conf 大,產生的資料項預測規則數較少,因此視窗漏失率較高。
此外,將每個時間點的視窗錯誤率平均及視窗漏失率平均,結果如表 5.2 所示,
[實驗 5.2] 本實驗固定訓練資料集 train_size=1000 與視窗大小 w=1000,最小支
持度門檻值定為 0.3,最小可信度門檻值定為 0.7,觸發錯誤率門檻為 0.4。比較
改變探勘樣式最長長度 k(即樣式儲存結構 k-樣式樹的 k 值)對觸發法之視窗錯誤
率的影響。
0 0.1 0.2 0.3 0.4 0.5
1 1501 3001 4501 6001 7501 9001 預測時間
視 窗 錯 誤 率
2-樣式 3-樣式 4-樣式 5-樣式
圖 5.2 改變探勘樣式最長長度 k 值之視窗錯誤率
表 5.3 改變 k 探勘樣式最長長度 k 視窗錯誤率平均
2-樣式 3-樣式 4-樣式 5-樣式
總平均錯誤率 0.147928 0.165963 0.125925 0.135884
不同 k 值設定下,各時間點的視窗錯誤率如圖 5.2 所示。圖中的横軸時間點
表示在訓練資料集後開始進行預測的時間。圖 5.2 中顯示,當 k 分別為 1、2、3、
4 及 5 時,以 k=4 之預測錯誤率最低,此實驗之結果符合於我們產生資料集時參
數|L|所採用的數值。將每個時間點的視窗錯誤率平均,結果如表 5.3 所示,最低
視窗平均錯誤率為 4-樣式之 0.125965,未達到觸發錯誤率門檻值 0,4,因此在預
測過程中並不需重新探勘預測規則。
[實驗 5.3]本實驗固定視窗大小 w=1000,樣式儲存結構為 4-樣式樹,觸發錯誤率 門檻值定為 0.5。比較改變訓練資料集大小(train_s)對觸發法視窗錯誤率的影響。
圖 5.3 改變訓練資料集大小之視窗錯誤率
表 5.4 改變訓練資料集大小視窗錯誤率平均
train_size 100 500 1000 1500
總平均錯誤率 0.297557 0.216605 0.136325 0.127182
在圖 5.3 中顯示,當訓練資料集大小為 100 時,由於訓練資料不夠,因此
錯誤率較高,提高訓練資料集的數量可以降低錯誤率。由表 5.4 所示之視窗錯誤
率總平均,可顯示當訓練資料集愈大,錯誤率會隨之降低,但當 train_s 為 1500 0
0.2 0.4 0.6 0.8 1
1 2001 4001 6001
預測時間 視
窗 錯 誤 率
train_s = 100 train_s = 500 train_s = 1000 train_s = 1500
和 train_s 為 1000 之錯誤率比較,所降低的錯誤率已很有限,因此在此實驗中,
只要訓練集大小達到 1000,就可以達到不錯的預測率。
5-2.2 資料概念變動下之效能比較
本部份實驗主要目的為比較本論文所提出的三種方法,是否能在資料概念
發生變動時快速反應,並動態調整預測規則,以維持一定的預測正確率。本部份
實驗中使用的資料序列一共有三組:S1、S2 及 S3。S1、S2、S3 分別是以
I100P10L4,各產生 1K 筆循序交易記錄組合起來,再將 S1 重覆後裁剪後產生一
個長度為 9000 的資料序列,取 1000 筆資料為訓練資料,對接下來的 8000 筆資
料進行預測;S2 亦重覆後產生一個長度為 8000 的資料序列,接在 S1 序列之後;
S3 亦重覆後產生一個長度為 8000 的資料序列,接在 S2 序列之後。
[實驗 5.4] 本實驗固定訓練資料集大小 train_s=1000 與視窗大小 w=1000,最小支
持度門檻值定為 0.3,最小可信度門檻值定為 0.7,儲存結構為 4-樣式樹。比較不
同觸發錯誤率門檻值(e)的對觸發法之視窗錯誤率的影響。如圖 5.4 所示。
觸發錯誤率門檻值定為 0.3 的實驗結果,以下討論簡稱為 e(0.3);觸發錯誤
率門檻值 0.35 的實驗結果,在以下討論中以 e(0.35)表示。
圖 5.4 在資料分布改變下,改變錯誤率門檻值大小之視窗錯誤率
e(0.3)的重新探勘點為 8801,16157 及 16397;e(0.35)的重新探勘點為 8950
及 16356。在 e(0.3)第一次重新探勘後,預測結果往下降至 0.211;而在 e(0.35)
在第一次重新探勘後,推測是因為重新探勘之最近視窗中包含新加入的 S2 樣式
較多,S2 樣式從 8001 開始加入,所以探勘出來的資料項預測較適用於 S2,因
此此段的視窗錯誤率較 e(0.3)低。e(0.3)在時間點 16157 觸發第二次重新探勘後,
視窗錯誤率維持在 0.295,直到時間 16397 時大於 0.3,重新探勘後視窗錯誤率下
降。由於 e(0.3)和 e(0.4)重新探勘採用的最近視窗內容不同,舊規則內容也不同,
推測是 e(0.35)重新探勘組合所得的規則較 e(0.3)之規則適用於 S3 樣式,但兩者
錯誤率差異不大。
此外,此實驗顯示視窗錯誤率門檻值的設定,必須考慮資料項預測規則的可
信度值,因為可信度值會影響視窗錯誤率,若原本預測規則就有一定的錯誤率,
0 0.1 0.2 0.3 0.4 0.5
1 3001 6001 9001 12001 15001 18001 21001 預測時間
e(0.35) e(0.3)
[實驗 5.6] 本實驗固定訓練資料集大小 train_s=1000,最小支持度門檻值定為
0.3,最小可信度門檻值定為 0.7,儲存結構為 4-樣式樹。比較不同視窗大小 w 值
對固定視窗的兩個方法,WRNR 及 WANR 之視窗錯誤率的影響,如圖 5.5 所示。
0 0.2 0.4 0.6 0.8 1
1 4001 8001 12001 16001 20001 預測時間
視 窗 錯 誤 率
WRNR w=500 WRNR w=1000 WANR w=500 WANR w=1000
圖 5.5 改變視窗大小之 WRNR 及 WANR 的視窗錯誤率
在 WRNR 法中,當 w=500 時,明顯視窗錯誤率較 w=1000 時高,推測可能
因為當視窗滿時,所探勘的視窗 k-樣式樹,因為只儲存最近 500 個時間點的資料
項樣式,因此產生的可能不夠具代表性;在 WANR 法中,當視窗大小定為 500
時,視窗錯誤率同樣也較視窗大小定為 1000 的高。但是,w=500 的預測錯誤率
曲線較 w=1000 的平緩,原因是因為其每隔 500 個時間便作一次規則重新整合的
動作,一旦資料分布發生改變,可以較早重新探勘產生新的預測規則,因此,在
資料分布發生改變時,其視窗錯誤率呈現較緩慢上昇的情況;同時,重新探勘之
後,也呈現較緩慢的下降趨勢。
[實驗 5.6]本實驗固定視窗大小 w=1000,固定訓練資料集大小 train_s=1000,最
小支持度門檻值定為 0.3,最小可信度門檻值定為 0.7,觸發錯誤率門檻為 0.4,
儲存結構為 4-樣式樹,且觸發錯誤率為 0.35。
比較視窗取代法、視窗調整法及觸發法在各時間的視窗錯誤率如圖 5.6 所
示。由於 S2 序列資料由 8000 開始加入,如圖 5.6 所示,三種方法在時間點 8100
之後,視窗錯誤率皆開始升高,尤其以觸發法特別明顯。這是因為觸發法只用初
始訓練資料建立預測規則後,並未重新探勘,因此對資料改變反應會特別顯著。
在觸發法中,因視窗錯誤率大於 0.35,在時間點 8950 時觸發,重新探勘產生預
測規則,之後視窗錯誤率持續下降,至時間點 10100 之後趨於平緩,表示觸發法
重新探勘的規則已能適用於最近視窗中資料。在時間點 16356 時,觸發法再次偵
測到 S3 加入造成的概念變動,調整後錯誤率的變化和前次相同。固定視窗法,
固定每 1000 個時間點會重新預測規則,因此跟觸發法比較起來,能較快更新預
測規則,並且結合新舊規則進行調整,因此整體來說達到較低的預測錯誤率。而
取代法,雖然也在固定每 1000 個時間點重新進行探勘,但由於其調整規則的方
式僅使用新探勘出來的規則,整體而言,其預測效果較差。
0 0.2 0.4 0.6 0.8 1
1 2001 4001 6001 8001 10001 12001 14001 16001 18001 20001 22001 預測時間
視 窗 錯 誤 率
WANR WRNR ERT
表 5.5 在不同預測時間點的累積執行時間(以秒為單位)
累積時間(秒)/時間點(千) 1 4 8 12 16 20 24
WRNR 0.003 0.016 0.031 0.047 0.063 0.078 0.089
WANR 0.004 0.023 0.038 0.053 0.067 0.089 0.102
ERT - - 0.024 - 0.418 - 0.068
圖 5.7 在不同預測時間點的累積執行時間(以秒為單位)
表 5.5 及圖 5.7 顯示的為在不同預測時間的累積執行時間,視窗取代法及視
窗調整法僅列出每 4(千)個時間點的探勘累積時間,實際上是每 1000 個時間點即
重新進行探勘。由於觸發法僅於偵測到的觸發時間點 8950 及 16356 重新探勘,
因此其累積的執行時間最短。而固定視窗的兩個方法。其中視窗取代法在探勘出
新的預測規則後,直接採用新的預測規則,不會與舊規則進行整合,因此探勘執
行時間較視窗調整法短。
觸發法可以偵測出資料概念變動,並僅於概念發生變動時才做重新探勘;而
調整法採固定視窗重新探勘的方式,在概念沒有發生變動時也需重新探勘,其探
勘時間較長,但其優點在於可以維持較低的探勘錯誤率,也能較快適應概念變動。