• 沒有找到結果。

本研究應用 RapidMiner 軟體 9.0 版本作為資料分析工具,採用的演算法分別 為隨機森林、規則歸納及深度學習,各運算流程(Process)說明分述如下:

一、個別公司之運算流程:

(一)整體運算流程如圖 4-1 及圖 4-2。

圖 4-1 運算主流程(個別公司)

圖 4-2 運算子流程(個別公司) 1

2 3 4

5

1-1 1-2 1-3 1-4 1-5 1-6 1-7

1-8 1-9 1-10 1-11

1-12 1-13 1-14

(二)運算元流程說明如表 4-1。

1-2 Set Role 將變數名稱(attributes name)設定為五行生剋,目標 角色(target role)設定為 id。

1-3 Select Attributes

選擇之變數為 14 項財務指標及股價,並勾選包括 特殊變數(include special attributes)。

1-4 Loop Attributes

迭 代 運 算 各 變 數 , 在 子 流 程 內 分 別 套 入 Differentiate、Select Attributes(2)及 Transpose,變數 迴圈(Loop Attributes)子流程,如圖 4-4。

1-4-1 Differentiate

將 change mode 設定為差分(difference),lag 設定為 4。

1-4-2 Select Attributes(2)

將 attribute filter type 設定為沒有遺漏值(no_missing _values),並勾選反向選擇(invert selection)。

1-4-3 Transpose 將樣本集的行與列互換。

1-5 Append 將多個樣本集附加成一個樣本集。

1-6 Transpose(2) 將樣本集的行與列互換。

1-7 Generate ID 在樣本集中增加具有 id 角色的新變數。

1-8 Select Attributes(3)

選擇之變數為公司及五行生剋,並勾選包括特殊變 數(include special attributes)。

1-9 Set Role(2)

將 attributes name 設定為五行生剋,target role 設定 為 regular,另外將 attributes name 設定為公司,而 target role 設定為 id2。

1-10 Generate ID(2) 在樣本集中增加具有 id 角色的新變數。

1-11 Join 將 join type 設定為 inner,key attributes 設定為 id,

使得兩個樣本集合併在一起。

1-12 Filter Examples

將 condition class 設定為沒有遺漏屬性(no_missing_

attributes)。

1-13 Numerical to Binominal

將數字類型變數轉換為二項式,如 true 及 false。

1-14 Map

點選 value mappings,將 true 設定為 up,false 設定 為 down。

2 Map(2)

將 attribute filter type 設定為 single,attribute 設定為 五行生剋,並點選 value mappings,將+設定為 up,

-設定為 down。

3 Set Role(3)

將 attributes name 設定為股價,target role 設定為目 標(label),主要目的是以每年各四季的股價漲跌作 為目標變數。

4 Select Attributes(4)

將 attribute filter type 設定為 single,attribute 設定為 五行生剋,此設定為探討五行生剋模型變數對股價 漲跌之影響。若勾選反向選擇(invert selection),此 設定為探討 14 項財務指標對股價漲跌之影響。如 刪除 Select Attributes(4)運算元,此設定為探討 14 項財務指標及五行生剋模型變數對股價漲跌之影 響。

5 Optimize Selection (Evolutionary)

從資料中篩選出最佳的變數,並在此運算元內加入 交叉認證。優化選擇(Optimize Selection)子流程,

如圖 4-5。

5-1 Cross Validation

將訓練資料分割成 10 等分資料,其中以 1/10 為測 試資料,其餘為訓練資料,每次更換測試資料重複 10 次後,將每次的準確率加以平均。其次在此演算 元內的訓練區(training)分別套入隨機森林、規則歸 納及深度學習,最後在測試區(testing)分別依序加 入 Apply Model 及 Performance。交叉驗證(Cross Validation)子流程,如圖 4-6。

5-1-1

Random Forest 此為隨機森林模型,參數設定採用預設值。

Rule Induction 此為規則歸納模型,參數設定採用預設值。

Deep Learning 此為深度學習模型,參數設定須勾選 reproducible (use 1 thread)使產生單一結果。

5-1-2 Apply Model 將訓練出來的模型應用到測試資料。此參數設定採 用預設值。

5-1-3 Performance 將預測結果進行準確率之評估。此參數設定採用預 設值。

資料來源:參考 RapidMiner Documentation

圖 4-3 匯入數據資料

圖 4-4 變數迴圈子流程(個別公司)

圖 4-5 優化選擇子流程(個別公司) 1-4-1 1-4-2 1-4-3

5-1

圖 4-6 交叉驗證子流程(個別公司)

二、合併所有公司之運算流程:

(一)整體運算流程如圖 4-7。

圖 4-7 運算主流程(合併所有公司) (二)運算元流程說明如表 4-2。

表 4-2 運算元流程說明(合併所有公司)

次序 名稱 內容設定

1 Loop Files

在目錄(directory)中選取臺灣 50 成分股的資料夾,

並執行 28 家公司的資料檔。另將此運算元內依序 加入 Read Excel 及 Subprocess。檔案迴圈(Loop Files)子流程,如圖 4-8。

1-1 Read Excel 讀取臺灣 50 成分股資料夾內 28 家公司 Excel 資料 檔。

5-1-1

5-1-1

5-1-1

5-1-2 5-1-3

1 2

3 4

5

1-2 Subprocess

將 1-2-1 至 1-2-15 運算元流程放入子流程內,以利 降低流程的複雜性。運算子流程(Subprocess),如 圖 4-9。

1-2-1 Set Role 將變數名稱(attributes name)設定為五行生剋,目標 角色(target role)設定為 id。

1-2-2 Select Attributes

選擇之變數為 14 項財務指標及股價,並勾選包括 特殊變數(include special attributes)。

1-2-3 Loop Attributes

迭 代 運 算 各 變 數 , 在 子 流 程 內 分 別 套 入 Differentiate、Select Attributes(2)及 Transpose,變 數迴圈子流程(Loop Attributes),如圖 4-10。

1-2-3-1 Differentiate

將 change mode 設定為差分(difference),lag 設定為 4。

1-2-3-2 Select Attributes(2)

將 attribute filter type 設定為沒有遺漏值(no_missing _values),並勾選反向選擇(invert selection)。

1-2-3-3 Transpose 將樣本集的行與列互換。

1-2-4 Append 將多個樣本集附加成一個樣本集。

1-2-5 Transpose(2) 將樣本集的行與列互換。

1-2-6 Generate ID 在樣本集中增加具有 id 角色的新變數。

1-2-7 Select Attributes(3)

選擇之變數為公司及五行生剋,並勾選包括特殊變 數(include special attributes)。

1-2-8 Set Role(2)

將 attributes name 設定為五行生剋,target role 設定 為 regular,另外將 attributes name 設定為公司,而 target role 設定為 id2。

1-2-9 Generate ID(2) 在樣本集中增加具有 id 角色的新變數。

1-2-10 Join

將 join type 設定為 inner,key attributes 設定為 id,

使得兩個樣本集合併在一起。

1-2-11 Filter Examples

將 condition class 設定為沒有遺漏屬性(no_missing_

attributes)。

1-2-12 Numerical to

Binominal 將數字類型變數轉換為二項式,如 true 及 false。

1-2-13 Map

點選 value mappings,將 true 設定為 up,false 設定 為 down。

1-2-14 Map(2)

將 attribute filter type 設定為 single,attribute 設定為 五行生剋,並點選 value mappings,將+設定為 up,

-設定為 down。

1-2-15 Set Role(3)

將 attributes name 設定為股價,target role 設定為目 標(label),主要目的是以每年各四季的股價漲跌作 為目標變數。

2 Append(2) 將多個樣本集附加成一個樣本集。

3 Nominal to Numerical

將 attribute filter type 設定為 single,attribute 設定為 公司,coding type 設定為 dummy coding,最後勾選 包括特殊變數(include special attributes)。

4 Select Attributes(4)

將 attribute filter type 設定為 single,attribute 設定為 五行生剋,此設定為探討五行生剋模型變數對股價 漲跌之影響。若勾選反向選擇(invert selection),此 設定為探討 14 項財務指標對股價漲跌之影響。如 刪除 Select Attributes(4)運算元,此設定為探討 14 項財務指標及五行生剋模型變數對股價漲跌之影 響。

5 Optimize Selection (Evolutionary)

從資料中篩選出最佳的變數,並在此運算元內加入 交叉認證,優化選擇(Optimize Selection)子流程,

如圖 4-11。

5-1 Cross Validation

將訓練資料分割成 10 等分資料,其中以 1/10 為測 試資料,其餘為訓練資料,每次更換測試資料重複 10 次後,將每次的準確率加以平均。其次在此演算 元內的訓練區(training)分別套入隨機森林、規則歸 納及深度學習,最後在測試區(testing)分別依序加 入 Apply Model 及 Performance,交叉驗證(Cross Validation)子流程,如圖 4-12。

5-1-1

Random Forest 此為隨機森林模型,參數設定採用預設值。

Rule Induction 此為規則歸納模型,參數設定採用預設值。

Deep Learning 此為深度學習模型,參數設定須勾選 reproducible (use 1 thread)使產生單一結果。

5-1-2 Apply Model 將訓練出來的模型應用到測試資料。此參數設定採 用預設值。

5-1-3 Performance

將預測結果進行準確率之評估。此參數設定採用預 設值。

資料來源:參考 RapidMiner Documentation

圖 4-8 檔案迴圈子流程(合併所有公司)

圖 4-9 運算子流程(合併所有公司)

圖 4-10 變數迴圈子流程(合併所有公司) 1-1 1-2

1-2-1 1-2-2 1-2-3 1-2-4 1-2-5 1-2-6

1-2-7 1-2-8 1-2-9 1-2-10

1-2-11 1-2-12 1-2-13 1-2-14 1-2-15

1-2-3-1 1-2-3-2 1-2-3-3

圖 4-11 優化選擇子流程(合併所有公司)

圖 4-12 交叉驗證子流程(合併所有公司) 5

5-1-1

5-1-1

5-1-1

5-1-2 5-1-3

相關文件