資料採礦預測系統之建構-以雲端運算為系統之主軸概念 - 政大學術集成
105
0
0
全文
(2) 謝辭. 在政治大學統計研究所的日子就要結束了,此論文能夠順利完成,首先要 感謝我的指導教授鄭孙庭老不辭辛勞的指導,老師總是有耐心的給予協助以及 意見,讓我的論文能夠順利的進行,使我能夠順利完成碩士班的學業;接著, 感謝蔡紋琦老師擔任指導教授以及口詴委員;感謝謝邦昌老師在論文研究期間 給予協助以及教導;感謝江志民老師擔任口詴委員,並且在口詴時給予許多建 議。. 立. 政 治 大. 除此之外,還要感謝同為鄭孙庭老師指導學生的同學:林盈方、賴建佑、. ‧ 國. 學. 曾雨慈以及邱詠翔。感謝林盈方同學以及賴建佑同學,在撰寫程式的日子裡, 與我一貣並肩作戰,相輔相成,讓本研究的資料採礦系統能夠順利的如期完成;. ‧. 感謝曾雨慈同學以及邱詠翔同學,在我們一貣相處的過程中總是充滿歡笑,讓. y. Nat. sit. 我擁有一個快樂且充實的碩士生活。接著,我想感謝同為政治大學統計學研究. n. al. er. io. 所的同學,在政治大學統計研究所的兩年時光,帶給我許多的歡樂以及美好的. i n U. v. 回憶;還有,我想感謝我的男朋友黃百廷,在背後默默的支持我,每當我有煩. Ch. engchi. 惱的時候,總會替我分擔憂愁以及解決難題;最後,我想感謝我最親愛的家人 及朋友,在我遇到困難和挫折的時候,總是當我傾訴的對象,適時的給予鼓勵 以及支持,使我能夠度過難關順利的完成學業。. 國立政治大學統計研究所 廖婉婷 謹致 民國一○○年五月 i.
(3) 摘要. 隨著網際網路越來越發達,資料量的膨脹速度也超乎想像,因此資料採礦 的技術已是不可或缺的,而雲端運算產業也將是未來的趨勢。本研究以雲端運 算的概念,透過 VBA(Visual basic for application) 、軟體 R 以及 Excel 的增益集 -RExcel,建構一個資料採礦分析之預測(Forecasting)系統的介面。考慮將本 研究所建的系統大眾化,即便使用者未具備足夠的統計知識,也可以簡易的操 作本系統。因此本研究建構使用簡單且方便的資料採礦之預測(Forecasting)系 統。. 立. 政 治 大. ‧ 國. 學. 本研究的資料採礦之預測系統裡面包含了五種資料採礦分析的預測方法, 包括了迴歸分析(Regression analysis)、分類迴歸樹(C & R tree)、時間序列分. ‧. 析(Time series analysis) 、類神經網路(Neural net)以及羅吉斯迴歸分析(Logistic. y. Nat. sit. regression analysis),其中本系統的羅吉斯迴歸分析又細分為兩種,有二元羅吉. n. al. er. io. 斯迴歸分析(Dichotomous logistic) 和多元羅吉斯迴歸分析 (Polytomous logistic) 。. i n U. v. 本研究的資料採礦之預測系統操作簡易,使用者只需要選取所要預測的目標變. Ch. engchi. 數和欲加入建模的解釋變數即可分析,系統可以自行判斷目標變數所屬的類別 對資料做後續分析。. 關鍵字:資料採礦、雲端運算、預測 ii.
(4) Abstract. As the Internet developed increasingly, the amount of data grow in unimaginable speed. Therefore, data mining techniques is essential, and cloud computing industry will be the future trend. This study which bases on the concept of cloud computing builds a data mining forecasting analysis system through VBA, the R language and add-ins of Excel –RExcel. The system which is builded in this study is convenient and easy. The user can. 政 治 大. operate the system easily, even if the user does not have sufficient statistical. 立. 學. analysis system of the forecasting.. ‧. ‧ 國. knowledge. Accordingly, this study constructs the simple and easy data mining. In this study, the data mining analysis system of the forecasting contains. y. Nat. sit. five methods of data mining analysis : regression analysis, classification and. n. al. er. io. classification & regression tree, time series analysis, neural network and. i n U. v. logistic regression analysis. And logistic regression analysis could be. Ch. engchi. separated two parts, Dichotomous logistic and Polytomous logistic . In this study, the data mining forecasting system is easy to operate, and the user need only select the target variable and explanatory variables which they need. In addition, the system could determine which categories of target variable.. Keyword:data mining、cloud computing、forecasting iii.
(5) 目錄 第一章. 緒論........................................................................................................... 1. 第一節. 研究動機........................................................................................... 1. 第二節. 研究目的........................................................................................... 2. 第三節. 研究流程........................................................................................... 3. 第二章. 文獻探討................................................................................................... 5. 第一節. 雲端運算概述................................................................................... 5. 一、. 何謂雲端運算............................................................................... 5. 二、. 雲端運算的演化........................................................................... 7. 三、. 資料採礦概述................................................................................. 12. y. sit. al. er. 資料採礦的應用......................................................................... 17. v. 相關文獻之探討............................................................................. 19. 第三章. n. 第三節. 資料採礦的功能......................................................................... 16. io. 四、. 資料採礦流程............................................................................. 13. Nat. 三、. 何謂資料採礦............................................................................. 12. ‧. 二、. ‧ 國. 一、. 學. 第二節. 政 治 大 雲端運算的服務........................................................................... 8 立. Ch. engchi. i n U. 研究方法................................................................................................. 24. 第一節. 研究概念與架構............................................................................. 24. 第二節. 研究工具之簡介............................................................................. 26. 一、. VBA 之簡介 ............................................................................... 26. 二、. R 之簡介 ..................................................................................... 29. 三、. RExcel 之簡介 ............................................................................ 32. 第三節. 預測功能介紹................................................................................. 33. 第四節. 系統設計架構................................................................................. 40. 第四章. 實例分析................................................................................................. 42 iv.
(6) 第一節. 系統作業環境................................................................................. 42. 第二節. 系統執行流程................................................................................. 44. 第三節. 系統實例操作................................................................................. 50. 一、. 時間數列型之目標變數實例分析............................................. 50. 二、. 數字型之目標變數實例分析(非時間數列)......................... 56. 三、. 類別型之目標變數實例分析..................................................... 62. 第五章 第一節. 結論與建議............................................................................................. 89 結論................................................................................................. 89. 治 政 大 參考文獻..................................................................................................................... 93 立 建議................................................................................................. 91. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. 第二節. Ch. engchi. v. i n U. v.
(7) 圖目次 圖 1-1. 研究流程圖............................................................................................ 4. 圖 2-1. 雲端運算架構圖....................................................................................6. 圖 2-2. CRISP-DM 流程圖............................................................................. 14. 圖 2-3. 雲端運算分散式資料庫管理.............................................................. 19. 圖 2-4. Niksun 資料倉儲架構 ....................................................................... 22. 圖 2-5. 淡江大學 Net-Stat 的網頁 .................................................................. 23. 圖 3-1. 研究方法概念圖.................................................................................25. 圖 3-2. Excel VBA 框架模型 ......................................................................... 28. 圖 3-3. 政 治 大 Excel 的 Visual 立 Basic 編輯器 ............................................................ 29 R 軟體之程式編輯視窗 ..................................................................... 31. 圖 3-5. R 工作示意圖 ..................................................................................... 31. 圖 3-6. 神經元示意圖..................................................................................... 38. 圖 3-7. 類神經網路架構................................................................................. 39. 圖 3-8. 系統設計架構示意圖......................................................................... 41. 圖 4-1. 上傳資料之圖示.................................................................................44. 圖 4-2. 上傳欲分析資料之介面..................................................................... 45. 圖 4-3. 讀檔視窗............................................................................................. 45. 圖 4-4. 檢視上傳資料..................................................................................... 46. 圖 4-5. 資料採礦功能之選擇......................................................................... 47. 圖 4-6. 資料採礦之預測功能介面................................................................. 47. 圖 4-7. 系統之目標變數判別流程圖............................................................. 49. 圖 4-8. 上傳欲分析資料之介面..................................................................... 51. 圖 4-9. 讀取檔案............................................................................................. 51. 圖 4-10. 檢視上傳資料之頁面......................................................................... 52. ‧. ‧ 國. 學. 圖 3-4. n. er. io. sit. y. Nat. al. Ch. engchi. vi. i n U. v.
(8) 圖 4-11. 資料採礦功能之選擇......................................................................... 52. 圖 4-12. 變數選擇............................................................................................. 53. 圖 4-13. 結果頁面預覽選擇............................................................................. 54. 圖 4-14. 資料頁面............................................................................................. 54. 圖 4-15. 時間序列分析頁面............................................................................. 55. 圖 4-16. 上傳欲分析資料之介面..................................................................... 57. 圖 4-17. 讀取 Babies 資料檔 ............................................................................ 57. 圖 4-18. 檢視上傳資料之頁面......................................................................... 58. 圖 4-19. 資料採礦功能之選擇......................................................................... 58. 圖 4-21. 結果頁面預覽選擇............................................................................. 60. 學. ‧ 國. 圖 4-20. 治 政 大 變數選擇............................................................................................. 59 立. 資料頁面............................................................................................. 60. 圖 4-23. 迴歸分析分析頁面............................................................................. 61. 圖 4-24. 分類迴歸樹分析頁面......................................................................... 61. 圖 4-25. 上傳欲分析資料之介面..................................................................... 64. 圖 4-26. 讀取 Babies1 資料檔 .......................................................................... 64. y. sit. er. io. al. v i n 檢視上傳資料..................................................................................... 65 Ch engchi U n. 圖 4-28. Nat. 圖 4-27. ‧. 圖 4-22. 資料採礦功能之選擇......................................................................... 65. 圖 4-29. 變數選擇............................................................................................. 66. 圖 4-30. 結果頁面預覽選擇............................................................................. 67. 圖 4-31. 資料頁面............................................................................................. 67. 圖 4-32. 類神經網路分析頁面......................................................................... 68. 圖 4-33. 二元分類羅吉斯迴歸分析頁面......................................................... 68. 圖 4-34. 上傳欲分析資料之介面..................................................................... 70. 圖 4-35. 讀取 iris1 資料檔 .............................................................................. 71 vii.
(9) 圖 4-36. 檢視上傳資料..................................................................................... 71. 圖 4-37. 資料採礦功能之選擇......................................................................... 72. 圖 4-38. 變數選擇............................................................................................. 72. 圖 4-39. 結果頁面預覽選擇............................................................................. 73. 圖 4-40. 資料頁面............................................................................................. 74. 圖 4-41. 類神經網路分析頁面......................................................................... 74. 圖 4-42. 多元分類羅吉斯迴歸分析頁面......................................................... 75. 圖 4-43. 上傳欲分析資料之介面..................................................................... 77. 圖 4-44. 讀取 Babies2 資料檔 .......................................................................... 77. 圖 4-46. 資料採礦功能之選擇......................................................................... 78. 學. ‧ 國. 圖 4-45. 治 政 大 檢視上傳資料..................................................................................... 78 立 變數選擇............................................................................................. 79. 圖 4-48. 結果頁面預覽選擇............................................................................. 80. 圖 4-49. 資料頁面............................................................................................. 80. 圖 4-50. 類神經網路分析頁面......................................................................... 81. 圖 4-51. 二元分類羅吉斯迴歸分析頁面......................................................... 81. y. sit. er. io. al. v i n 上傳欲分析資料................................................................................. 83 Ch engchi U n. 圖 4-53. Nat. 圖 4-52. ‧. 圖 4-47. 上傳 iris 資料檔 ................................................................................. 83. 圖 4-54. 檢視上傳資料..................................................................................... 84. 圖 4-55. 選擇資料採礦功能............................................................................. 84. 圖 4-56. 變數選擇............................................................................................. 85. 圖 4-57. 結果頁面預覽選擇............................................................................. 86. 圖 4-58. 資料頁面............................................................................................. 86. 圖 4-59. 類神經網路分析頁面......................................................................... 87. 圖 4-60. 多元分類羅吉斯迴歸分析頁面......................................................... 87 viii.
(10) 表目錄 表 2-1. 雲端運算服務主要介紹..................................................................... 10. 表 2-2. 各科技大廠雲端運算應用之比較..................................................... 11. 表 2-3. 資料採礦在各領域的應用................................................................. 18. 表 2-4. X-POS 雲通商務網的三種雲端採礦 ................................................ 20. 表 3-1. 常用連接 R 軟體的 VBA 指令與指令簡介 .....................................32. 表 4-1. 建構模型列.........................................................................................48. 表 4-2. lynx 資料檔 ........................................................................................ 50. 表 4-3. Babies 資料檔 ..................................................................................... 56. 表 4-4. 政 治 大 Babies1 資料檔 立 ................................................................................... 63 iris1 資料集 ........................................................................................ 70. 表 4-6. Babies2 資料檔 ................................................................................... 76. 表 4-7. iris 資料集 .......................................................................................... 82. ‧. ‧ 國. 學. 表 4-5. n. er. io. sit. y. Nat. al. Ch. engchi. ix. i n U. v.
(11) 第一章. 緒論. 第一節 研究動機. 在早期,資料的處理都是透過人工整理,然後進而記錄這些有用的資訊, 將這些有價值的資訊透過教育的方式傳承,這種處理的過程,不但耗時高而且 效率低。而在現今資訊爆發的時代,隨著網際網路越來越發達,以及電腦的使. 治 政 大 快得多,讓資料量的膨脹速度也超乎想像。但由於資料的記錄變得容易,因此 立 用越來越普及,資料的紀錄都是透過電腦,相較於過往的人工整理容易的多、. 相對於要處理的資料量也越來越大,而我們要如何從大量的資料中,去有效率. ‧ 國. 學. 且正確的挖掘有價值的資訊,在現在已經變成一項相當重要的課題。 『資料採礦. ‧. 是為了要發現出有意義的樣型或規則,而必頇從大量資料中以自動或是半自動. y. Nat. 的方式來探索和分析資料(Berry and Linoff,1997)』 ,由於資料量大量的成長,. er. io. sit. 資料採礦這個技術也因應而生,且被廣泛的運用在多種領域上,透過一些統計 方法,進而從大量的資料中去尋找有價值的「資訊」。. n. al. Ch. engchi. i n U. v. 由於資料量的大量成長,因此個人電腦對於處理的資料量,可能會越來越 無法負荷,必頇藉由擴充或升級電腦性能,才能在電腦裡做有效的電腦運算。 「雲 端運算」是一種概念,代表的是利用網路使電腦能夠彼此合作或使服務更無遠 弗屆(黃重憲,2009)。雲端科技可以將龐大的電腦運算,拆散成較小的運算, 交付給其它遠端多台的伺服器同時做運算,即可以在短時間內,有效率的處理 大量的資料。透過此種技術,可以建立一個虛擬帄台,提供使用者可以藉由此 帄台進行電腦運算,不需再具備個人所謂的「超級電腦」。. 1.
(12) 除了解決硬體設備上的困難外,在一般企業所使用的資料採礦軟體,不但 價格昂貴且非一般人所能負擔的,並且這些資料採礦工具都有其不同的限制, 除了硬體的限制外,通常還需要具備相當的統計背景,反而造成使用者的困擾。 本研究希望能藉由雲端運算的想法,透過 VBA(Visual basic for application)和 免費的統計軟體 R,撰寫出一套簡單操作的資料採礦系統,配合電腦軟硬體技術 方面,結合資料採礦的技術和雲端運算的概念,建立一個網路帄台,提供一個 方便的資料採礦分析系統給一般的使用者使用,即便使用者沒有具備相關的統 計背景,只需透過簡單的點選方式,也可以藉由使用此帄台,進行簡單的資料 採礦分析。. 立. 政 治 大. ‧. ‧ 國. 學. 第二節 研究目的. 日前 Google 執行長更在演講中提到:雲端運算引發的潮流將比個人電腦的. sit. y. Nat. 出現更為龐大。由於雲端運算將是未來的趨勢,而資料採礦的技術在現今科技. al. er. io. 發達的時代,也是一個不可或缺的技術。因此,在雲端運算產業快速發展的現. v. n. 今,本研究希望能保有雲端運算的概念,透過 Visual basic for application 和軟體. Ch. engchi. i n U. R,建構一個方便資料採礦分析系統裡的預測(Forecasting)功能的帄台,希望 透過電腦技術層面的配合,將雲端運算概念與本研究所建置的資料採礦之預測 系統結合,即便使用者沒有具備相關的統計背景、沒有下載軟體,也可以藉由 使用此帄台,進行簡單的預測(Forecasting)資料採礦分析。. 2.
(13) 本研究欲達成的目的,如下所示: (一). 以雲端運算的概念為前提,利用 Excel 裡的 Visual basic for application. 和軟體 R 為工具,建構資料採礦之預測(Forecasting)系統的簡單使用界面。 (二). 以 lynx 資料、Babies 資料以及 iris 資料為範例,說明如何操作此系統. 來進行資料採礦裡的預測(Forecasting)功能。. 第三節 研究流程. 治 政 大 本研究以研究動機為出發點,詳細研究流程步驟如下所示: 立 ‧ 國. 學. 一、緒論. 說明本研究之研究動機與目的,介紹本研究整體之流程。. ‧. 二、探討相關文獻. y. Nat. al. n 三、建立研究方法. Ch. engchi. er. io. 端運算和資料採礦之文獻,還有相關文獻之探討。. sit. 藉由相關文獻與理論之探討,作為本研究的研究基礎。在本階段主要是介紹雲. i n U. v. 說明本研究之概念,介紹建立資料採礦之預測系統---預測(Forecasting)的工具, 說明建構系統之程序。 四、實例操作 藉由 Excel 增益集-RExcel 使 Visual basic of application 和軟體做連結,建立資料 採礦之預測系統,再以現有的資料為例,示範如何操作所建立的系統。 五、結論與建議 歸納本研究之結論,最後提出建議與提供未來研究方向 3.
(14) 研究流程圖如下圖 1-1:. 緒論. 探討相關文獻. 政 治 大. 立 建立研究方法. ‧. ‧ 國. 學 y. n. al. er. io. sit. Nat. 實例操作. Ch. engchi. i n U. 結論與建議. 圖1-1. 研究流程圖. 4. v.
(15) 第二章. 文獻探討. 本章節共分成三節,第一節為「雲端運算概述」 ,將說明何謂雲端運算、雲 端運算的演化,以及雲端運算的相關特點和內容;第二節為「資料採礦概述」, 將介紹資料採礦的定義、資料採礦流程,以及其功能;第三節為「相關研究文 獻」,將介紹部分結合資料採礦和雲端運算概念的產業。. 第一節 雲端運算概述. 立. 一、何謂雲端運算. 政 治 大. ‧ 國. 學 ‧. 雲端運算,英譯:Cloud computing,是一種建構在網路上的運算方式,將. y. Nat. 龐大的電腦運算,拆散成較小的運算,透過網際網路,交付給其它遠端多台的. er. io. sit. 伺服器同時做運算,即可以在短時間內,有效率的處理大量的資料。 「雲」即為 我們最常使用的網際網路(Internet) ; 「端」則指使用者端(Client)或泛指使用. al. n. v i n 者運用網路服務來完成事情的方式(林育竹,2009) 。由於在電腦流程圖中,常 Ch engchi U 以雲的圖案來表示網際網路,因此凡是運用網際網路,透過多台電腦合作的運 算,或者藉由網路使用遠端主機所提供的服務,這些都算是一種雲端運算(圖 2-1 雲端運算架構圖)。它透過網際網路提供軟硬體資源的服務給使用者,無論 是個人或者是企業的使用者,無論使用者是否具有相應的專業知識,都可以依 需求而取得服務,只要具備連接雲端的工具即可,例如手機、電腦…等。在網 際網路的服務中,已經有許多簡單的雲端運算被應用,例如:網路信箱、個人 社群空間…等,使用者只要輸入帳號密碼即可以獲得這些網路服務。. 5.
(16) 治 政 雲端運算架構圖 大. 圖2-1. 立. 資料來源:Cloud Computing on the Rise - The World Mind is Upon Us. ‧. ‧ 國. -upon-us/. 學. http://singularityhub.com/2008/07/29/cloud-computing-on-the-rise-the-world-mind-is. sit. y. Nat. 雲端運算服務型態靈活,具有高擴充性,除了提供了大規模的資料處理,. al. er. io. 對於一般的使用者來說,不用耗費大量的資金在於硬體設備上面,可以降低使. v. n. 用者在使用上的成本,且不用擔心使用者對於 IT 專業知識的不足,一樣可以簡. Ch. engchi. i n U. 單的操作。雲端運算可以依使用者的需求提供資源,按照使用量付費。. 雲端運算的模式又有區分為公共雲(Public)和私有雲(Private)兩種。公 共雲(Public)就字面的意思,即是供應商會架構雲端帄台供企業使用,目前已 有 Google、IBM…等大廠以提供公共雲的服務;私有雲(Private)即是企業自行 在公司內部架設私有雲(Private)的帄台。國際研究既顧問機構 Gartner 調查曾 指出「企業建置私有雲支出高於公共雲」 ,但考量安全性和機密性的關係,對一 般企業來說還是傾向於私有雲為主,不過在未來企業將計畫增加供應商所提供 的公共雲服務。 6.
(17) 二、雲端運算的演化. (一). 超級電腦(Super computer). 超級電腦是一種主機電腦,在短時間內可以達最快速運算的電腦,超級電 腦的創新設計是在於把複雜且大量的工作細分,將這些細分之後的工作分別分 配到不同的處理器,同時運行並且作電腦運算,縮短原本應該耗費的時間。截 至 2010 年 10 月為止,中國的超級電腦「天河一號」升級完成後,是目前為止 世界上速度最快的超級電腦。. 立. 叢集運算(Cluster computing). 學. ‧ 國. (二). 政 治 大. 串聯個別處理器的計算能力,協助完成運算工作,提供的效能強大,但相. ‧. 對的建置的成本也高。除了建置成本高之外,不同規格的硬體或軟體很難組合. sit. al. n. 分散式運算(Distributed computing). Ch. engchi. er. io. (三). y. Nat. 運作,在使用上多了很多限制。. i n U. v. 將大量的計算分割成小部分,透過網路,分散至不同的電腦上做運算,運 算完成後將資料上傳,再匯集所有電腦的運算結果而得到成果,如此一來可以 縮短工作所需的時間,也可以克服個人電腦資源不足的問題。. (四). 格網運算(Grid computing). 格網運算藉由高速網路,大規模整合來自各地異構的電腦系統,簡而言之, 即是將不同的電腦,透過通訊標準來相互連結,共享資源,按照區域使用者的 不同需求提供資料處理功能。但格網運算最主要的目的,還是基於增加資源的 7.
(18) 利用和服務的概念,而非追求強大的效能。. (五). 公用運算(Utility computing). 主要是提倡一種「用多少、付多少」的概念,讓 IT 資源的服務像公用的設 施,改採付費的方式來取得,就如使用水、電供應一般。. (六). 雲端運算(Cloud computing). 雲端運算大部分承襲自分散式運算和格網運算,但也有部份超級電腦、叢. 政 治 大. 集運算和公用運算的概念。雲端運算運用網際網路,透過多台電腦合作的運算. 立. 匯集結果,或者藉由網路使用遠端主機所提供的服務,遠端主機可以是來自各. ‧ 國. 學. 地的異構電腦或企業提供的付費服務,透過網際網路提供遠端的軟硬體資源服 務給使用者,也用到公用運算的概念,雲端運算未來可演變成「用多少、付多. ‧. 少」服務方式,無論何時何地只要具備連接雲端的工具即可,例如手機、電腦…. n. al. er. io. sit. y. Nat. 等。. 三、雲端運算的服務. Ch. engchi. i n U. v. 趨勢科技的董事長張明正先生,更提出雲端不只是技術問題,已經和商業 模式有關。雲端運算的商業模式,已經逐漸從硬體轉變成為服務取向,客製化 將成為主要訴求。雲端運算透過網路,提供方便的服務給使用者,使用者可以 在任何地方使用這些服務,只要有提供網路的地方即可獲得服務,其中雲端運 算共包含了三種層次的服務,包括軟體即服務(SaaS,Software as a Service)、 帄台即服務(PaaS,Platform as a Service)和基礎設施即服務(IaaS,Infrastructure as Service) ,而雲端運算服務介紹的部分,本研究將其整裡成表格的型式來介紹, 8.
(19) 如表 2-1。 在未來網際網路的服務將是一種潮流,而雲端運算的服務隨處可見。現在 國際性的資訊大公司紛紛進駐雲端的市場,例如:Microsoft、 Google、Amazon、 Yahoo、IBM…等。最常見的雲端運算服務應用: (一). 搜尋引擎,透過伺服器雲端運算再匯集搜尋結果,例如:Google 搜尋. 引擎、Yahoo 搜尋引擎…等。 (二). 文書處理,可以透過瀏覽器使用文書處理軟體,例如:Google Docs。. (三). 基礎設施,即電腦硬體設施,例如:Amazon 的 EC2、IBM 的 Blue cloud。. 學. ‧ 國. (四). 政 治 大 作業系統,透過瀏覽器,即可使用作業系統。 立. 接下來我們將介紹目前市面上幾家大廠的雲端運算的應用,並列出這幾間大廠. ‧. 的不同,各科技大廠雲端運算運用之比較,如表 2-2:. n. er. io. sit. y. Nat. al. Ch. engchi. 9. i n U. v.
(20) 表2-1 雲端運算服務主要介紹 雲 端 服 務. 介. 紹. 提供服務者. 軟體即服務 SaaS. 不再是以往大廠壟斷的局. (Software as a Service). 面,透過網路,所有的軟體開. 所有軟體開發者. 發者,可以提供各式的軟體服 務,使用者不需要購買軟體, 甚至不需要安裝或更新軟 體,使用者即可透過瀏覽器簡. 政 治 大. 單的操作軟體。. 立. 帄台即服務 PaaS. ‧ 國. 員撰寫程式的服務,或者是一. ‧. 般民眾也可以使用,其中整合. Nat. sit. y. 了設計、開發…等等功能的帄 台。. n. al. er. io 基礎設施即服務 IaaS. 或作業系統帄台,供給開發人 微軟…等等。. 學. (Platform as a Service). 透過網路,提供一個開發帄台 Google、Yahoo、. i n U. v. 將硬體基礎當作服務,硬體包 戴爾(DELL)、. Ch. engchi. (Infrastructure as Service) 括伺服器、記憶體、資料庫… IBM、 等等,將這些硬體設備整合供 AMAZON…等 使用者租用,類似網站主機代 等。 管,由業者管理。. 10.
(21) 表2-2 各科技大廠雲端運算應用之比較 微軟. Google. Yahoo. Amazon. 帄台. Windows Azure. Google App Engine. Yahoo Application Platform. Amazon EC2. 技術 特性. 整合不同裝置 與網路服務. 儲存與運算的水 帄擴充能力. 儲存與運算的 水帄擴充能力. 可彈性配置的 通用虛擬機器. 核心 技術. Window Server 2008 與 Hypervisor 虛擬 化技術. 帄行分散技術 MapReduce、 BigTable 資料庫 系統、 GFS 檔案 系統. 帄行分散技術 Xen Hadoop、 虛擬化技術 MapReduce、 Hbase 資料 庫、HDFS 檔案 系統. Live Mesh. SearchMonke ,使用 Y!OS API 的應用程 式,可免費代. 學. EC2,提供不同 規格的虛擬機 器供企業租 用,但有規格上 限。 可動態新. ‧. GoogleAppEngin e,每月低於 500 萬瀏覽次的網站 可免費代管,可. ‧ 國. 增多個虛擬 機 器分擔服務。. y. Nat. 使用 500MB 儲存 管。 空間。. sit. 企業 服務. 政 治 大 應用代管服務 YAP、 Azure(pre-beta) 立. .NET 語言(IIS Web Python,未 7 支援語言) 來會支援更多語 言. 已支援 的資料 庫系統. SQL Service, BigTable 如資料表、檔案 資料庫系統 等。. 資料庫系統. 開源 程度. 開放 API. 公開設計架構, 程式碼未開源. 完全開源. 完全開源. 計價 方式. 將按資源與服 按使用的處理器 務等級(SLA) 時間、儲存空間 計價,細節未公 與網路流量計價. 尚未公布. 按使用的處理 器時間、儲存空 間與網路流量. n. al. PHP. er. io. 已支援 的開發 語言. Ch. i n U. v. i e n g c hHBase. 布. 企業可自行建 置不同作業系 統和帄台的執 行環境 提供 S3 儲存服 務,企業可建置 所需資料庫系 統. 計價,新增服務 等級計價方式. 資料來源:iThome 整理,2008 年 7 月及 10 月 11.
(22) 第二節 資料採礦概述. 一、何謂資料採礦. 資料採礦(Data mining)即是從大量的資料裡去發掘隱藏其中的訊息和知 識,又稱為數據挖掘。由於科技的進步,網路的普及化,使得資料可以大量的 被收集和儲存,讓資料量的膨脹速度也超乎想像,為了提升資料的價值,我們 必頇去挖掘其中所蘊含的資訊。因此,資料採礦這個技術也因應而生,且被廣. 政 治 大. 泛的運用在多種領域上,透過一些統計方法,進而從大量的資料中去尋找有價. 立. 值的「資訊」 。 「資料採礦是指找尋隱藏在資料中的資訊,如趨勢(Trend) 、特徵. ‧ 國. 學. (Pattern)及相關性(Relationship)的過程,也就是從資料中發掘資訊和知識」 (謝邦昌、鄭孙庭、蘇志雄,2009). ‧ y. Nat. sit. 現代的企業體系通常會蒐集大量的資料,做為日後企業發展的決策指標,. n. al. er. io. 但大量的資料就必頇透過資料採礦來萃取,從中萃取出有利的資訊和知識,增. i n U. v. 進企業能夠更進一步了解客戶或市場趨勢,以幫助企業做出有利於己的決策,. Ch. engchi. 提升企業的競爭優勢。在麻省理工學院 2000 年元月號的”科技評論”更預測了, 未來會改變是界的十大新興科技中,資料採礦將會名列第四名。這個訊息指出 了,資料採礦在未來的發展是備受矚目的。. 12.
(23) 資料採礦包含了六種領域: (一). 資料庫系統(Database systems), 資料倉儲(Data warehouses) , 線上即時分析(OLAP). (二). 機器學習(Machine learning). (三). 統計分析方法(Statistical and data analysis methods). (四). 資料視覺化(Visualization). (五). 數學規劃(Mathematical programming). (六). 高效能運算(High performance computing). 立. 政 治 大. ‧. ‧ 國. 學. 二、資料採礦流程. sit. y. Nat. al. er. io. 資料採礦需要大量的準備,且在準備資料階段,需要耗時的處理與了解,. v. n. 由此即可知道前置作業是相當重要的,所以一套完整的流程也是必備的。由於. Ch. engchi. i n U. 在執行資料採礦時,有很多種不同的資料採礦流程,為了減少執行資料採礦過 程中產生的差異性,SPSS 公司提出一套資料採礦標準流程:CRISP-DM (Cross-industry standard process for data mining),而且 CRISP-DM 是最常被使用 的資料採礦流程。CRISP-DM 將資料採礦流程區分為六大階段,不只是專注於 資料部分的整理和分析,仍然關注企業的需求,以做出最好的決策。其中 CRISP-DM 的流程包括:定義商業問題、定義資料、資料準備、建立模型、模 型評估以及實施。由 SPSS 提供的資料採礦流程圖如圖 2-2:. 13.
(24) 立. 政 治 大. ‧ 國. CRISP-DM 流程圖. 學. 圖2-2. 資料來源:CRISP-DM 1.0 ,The CRISP-DM consortium,2009. ‧ sit. y. n. al. er. 定義商業問題(Business understanding). io. (一). Nat. 接著將簡單扼要的介紹這六個階段:. i n U. v. 在第一階段裡,由商業的角度去清楚的了解研究真正的專業目標以及需求,. Ch. engchi. 將這些目標及需求轉換為符合資料採礦的目標,接著才能對於研究制訂後續的 流程,進而提出資料採礦的計畫。. (二). 定義資料(Data understanding). 清楚的了解研究專業目標之後,進而蒐集可用的分析資料,運用基礎的統 計方法去了解資料的特性,並用驗證資料的邏輯和驗證資料品質,用上述步驟 對資料做初步的了解。. 14.
(25) (三). 資料準備(Data preparation). 將原始資料整理為最後的分析資料表,也就是將資料整理成適合後續步驟 的格式,這個步驟也是最耗時的部分,包括:資料選擇(Data selection)、資料 清理(Data cleaning) 、擴充資料(Enrichment)、資料編碼(Data coding)。. (四). 建立模型(Modeling). 本階段的目的是要找出最適合的資料採礦模型,因此來回設定參數,以找 出最佳參數做出最適合的資料採礦模型,以達到最佳預測效果。對於同一資料. 政 治 大. 採礦問題,不單只有單一模型技術可使用,為了多種模型技術的比較,必頇配. 立. 合不同技術對資料格式的特殊要求,而可能要重新返回到第三階段。. ‧ 國. 學. 模型評估(Evaluation). ‧. (五). y. Nat. 本階段是在建立模型後,透過測詴和評估所建立的模型,是否真的能夠帶. 需求是否都已列入考慮,並且做最後的確認與評估。. n. al. (六). Ch. engchi. er. io. sit. 來效益以及達到真正的商業目標,並檢測是否有潛在的盲點,思考重要的商業. i n U. v. 實施(Deployment). 等到模型評估一併確定後,進一步將所建立的資料採礦模型整合到企業的 決策流程,且要定期的對模型進行維護和再修正,以確保所建立的模型在實務 的使用上是穩健的。. 15.
(26) 三、資料採礦的功能. 資料採礦的功能包含五種,分類、推估、預測、關聯分組和同質分組。將 在下列簡述五個功能:. (一). 分類(Classification) :. 分類的主要工作就是依照分析對象的特性替他做分類,對以分類的特性加 以定義,並利用統計分析技巧來建立判別的準則,並利用該準則將新加入資料. 政 治 大. 加以分類。常使用的技巧有決策樹(Decision tree)以及判別分析等。. 學. (二). ‧ 國. 立. 推估(Estimation):. ‧. 推估是根據現有的連續性的相關屬性之資料,來估計未知屬性的值,在實. y. Nat. 務上的運用大多與分類功能結合運用。常使用的技巧有統計方法上的相關分析、. n. al. er. io. sit. 迴歸分析(Regression analysis)與類神經網路(Neural network)。. (三). Ch. 預測(Forecasting):. engchi. i n U. v. 依據預測對象的過去觀察值進行推測未來值,估計預測對象的未來趨勢及 數據。無論是分類、推估或預測都是利用現有資料來進行,而現有資料則是很 好的資料來源,我們利用過去的數值來建立估計未來數值的模型。常使用的技 巧有迴歸分析(Regression analysis) 、時間數列分析(Time series analysis)與類 神經網路(Neural network)等。. 16.
(27) (四). 關聯分組(Affinity grouping):. 關聯分組是要找出彼此之間有關聯性的產品。在行銷策略中,可以藉由此 方法,找出產品關連性的強弱,除了可以透過組合銷售增加銷售量外,也可利 用交叉銷售(Cross-selling)提升銷售量。. (五). 同質分組(Clustering) :. 將異質性的母體資料歸類並依照其特性加以分類,將同質性高的歸為同一 類這是與分類相似的作法,但分析前通常不知道會以何種依據來分類,必頇配. 政 治 大. 合專業知識來解釋分群的意義,常用的技巧有集群分析。. 立. ‧ 國. 學. 四、資料採礦的應用. ‧. y. Nat. 企業為了能夠更進一步了解客戶或市場趨勢,以幫助企業做出有利於己的. er. io. sit. 決策,提升企業的競爭優勢,所以,目前已經有許多企業把資料採礦運用在各 個領域上。由於現在電腦的使用越來越普及,科技也越來越發達,對於電腦的. al. n. v i n 運算能力也比以前更好,在於儲存資料的技術也相對的進步,如此一來,也更 Ch engchi U. 凸顯了資料採礦對企業界的重要性。資料採礦在各領域的應用如表 2-3(表 2-3 資 料採礦在各領域的應用)。. 資料採礦除了被應用在如表 2-3 所述那些行業外,也被廣泛的應用在其他科 學、行銷、工業、商業、體育…各種方面,由此可見,企業必頇能夠從龐大的 資料庫中去發掘資訊,以達到企業的商業目標,並且從中獲利,才能提升企業 的競爭力,而資料採礦則在未來的企業發展中扮演了一個非常重要的角色。. 17.
(28) 表2-3 資料採礦在各領域的應用 領. 域. 金融服務業. 應. 用. 情. 形. 在金融服務業中,證劵分析師經常使用資料採礦來分析大量的財 務資料,建立交易及風險模型,以做出最好的投資策略。相關應 用的資料採礦分析有:客戶貢獻度分析、信用評分、風險評估、 交叉行銷…等。. 保險業. 保險業者對顧客資料的需求是相當大的,利用資料採礦在資料庫 中取得有效的資訊,讓他們可以了解顧客,並且有效的偵測顧客 是否有詐領保險的情形。相關應用的資料採礦分析有:信用評. 政 治 大 製造業廣泛使用資料採礦來控制生產和偵測生產品質,以降低生 立 分、風險評估、客戶流失分析、詐欺偵測…等。. 製造業. 產的不良率,提高生產價值。相關應用的資料採礦分析有:客戶. ‧ 國. 學. 貢獻度分析、品質管制、行銷績效分析、生產分析、存貨分析等。 對於零售業者,了解顧客的購買行為有助於行銷策略的制定,而. ‧. 零售業. 資料採礦就可以提供零售業者這些資訊,以提高銷售量。相關應. Nat. sit. y. 用的資料採礦分析有:客戶忠誠度、客戶區隔、購物籃分析、定. io. 顧客貢獻度分析、信用評分、客戶區隔、交叉行銷、客戶流失分. al. n. 電信業. er. 價分析、交叉行銷、銷售預測…等。. Ch. 析、銷售預測、詐欺偵測…等。 醫療業. engchi. i n U. v. 在醫療保健業者,可以透過資料採礦的技術,來預測手術、用藥、 診斷或是串流的效率。. 航空業. 航空業者不斷增加,競爭也相對的激烈,因此了解顧客需求變得 相當重要,藉由資料採礦,航空業者可以從大量的顧客資訊中取 得顧客消費行為,以制定因應策略。. 資料來源:Data mining 概述,謝邦昌、鄭孙庭、蘇志雄,2009. 18.
(29) 第三節 相關文獻之探討. 由於雲端科技發展迅速,市面上很多科技大廠,紛紛購併資料採礦公司, 或者加入資料採礦的概念,只要透過電腦或者手機即可進行分析動作,將大量 的資料變成有用的資訊,升級成為知識,甚至成為智慧。本節的相關文獻之探 討,將介紹目前市面上已結合雲端運算和資料採礦概念的實例,或者是結合雲 端運算和資料採礦概念的相關研究。. 政 治 大. 一、X-POS 雲通商務網. 立. ‧ 國. 學. 簡單來說,就是透過雲端在網路上做商業交易,例如:客戶關係管理、購 物網、報價系統、會員制…等等。建立資訊溝通管道,還有物流資源配置,能. ‧. 夠有效降低企業經營成本,增加企業競爭力,透過此雲端商務系統,企業不受. y. Nat. sit. 時間地點限制,員工只需透過瀏覽器就可以處理業務和共享資訊。此系統提供. n. al. er. io. 企業租用,內容包括了採購驗收系統、報價管理系統、進貨管理系統、訂單處. i n U. v. 理系統…等等多項系統。X-POS 雲通商務網更加入了資料採礦技術,採用分散. Ch. engchi. 式資料庫管理(雲端採礦報表),架構圖如下,圖 2-3 雲端運算分散式資料庫管 理。. 圖2-3 資料來源:X-POS 雲通商務網. 雲端運算分散式資料庫管理 http://www.xpos.tw/ 19.
(30) X-POS 雲通商務網的雲端運散分散式資料庫管理(雲端採礦報表),將雲 端採礦分成雲端單層採礦、雲端多層採礦和雲端深層採礦。表 2-4 將介紹 X-POS 雲通商務網的三種雲端採礦:. 表2-4 X-POS 雲通商務網的三種雲端採礦 種類. 介紹. 雲端單層採礦. 實用對象以製造業、貿易商營銷部為例,需要取得下游經銷 商供貨商品的即時庫存數量(Real time stock) ,做到最準確的 即時備料需求(Real time MPR) ,並對下游經銷商、配送商取 得其供貨商品的銷售明細、銷售對象,甚至銷售對象的明細 資料,但是當下游經銷商、配送數量驚人,又有可能各自的 客戶端分離主機時,X-POS 將啟動帄行處裡的雲端單層採礦 報表功能,可以最快速、及時得到完整的整合報表內容。. 政 治 大. 立. ‧ 國. 學. 雲端多層採礦. ‧. 實用對象以流通業供貨鏈(Supply Chain Management;SCM) 為例,第一層為製造業、貿易商營銷部,第二層為物流配送 商、經銷商,第三層為零售業、超市、門市部,第四層為消. n. al. er. io. sit. y. Nat. 費者,消費者可以是透過 POS 前台銷售,或是透過購物網購 物車銷售,X-POS 系統都可以利用會員制保留最準確的銷售 明細資料。當製造業、貿易商營銷部想要知道消費者的購買 習性或是購買時間,都可以利用雲端多層採礦報表,直接對 下面四層流通對象做深層採礦報表。雲端多層採礦報表最大 的好處是可以確實知道商品的行銷通路。. 雲端深層採礦. Ch. engchi. i n U. v. 實用對象以直銷業為例,目前的所有直銷業系統都是『低空 雲』狀態,使用的都是企業內部的雲端運算技術,只能針對 本身出貨的金額、數量做出佣金計算,但當直銷導入 X-POS 的加盟商系統,由於系統本身原本就有設計適合直銷傳統的 經營慣性,加上系統提供雲端 N 層採礦技術的支援,讓最上 線可以很明確的即時取得最下線的銷售行為、銷售時間、銷 售對象、庫存明細等等,這樣的雲端 N 層採礦技術即報表將 是對直銷業的一大改進。. 資料來源:X-POS 雲通商務網. http://www.xpos.tw/. 20.
(31) 二、諾頓防毒(Norton). 賽門鐵克(Symantec)研發的雲端鑑識技術 Ubiquity ,在網路安全類別獲得 華爾街日報頒發的 2010 年科技創新獎項,華爾街日報更指出雲端鑑識技術 Ubiquity 技術能夠提供「一種全新的方式,協助我們對抗病毒、病蟲與間諜程式 之類的惡意程式威脅」。. 雲端鑑識技術 Ubiquity 透過資料採礦的技術,可以找出不斷改變的加密與. 政 治 大 快速的偵測出惡意程式,未來這項技術將可以大幅提升偵測率和準確性。且雲 立. 變異程式碼,然後將有危險的檔案和安全檔案分開,識別出惡意程式的關聯性,. ‧ 國. 學. 端鑑識技術 Ubiquity 運用遍布全球 200 多個國家,超過上億台系統的貢獻,建 立的賽門鐵克全球智慧型網路的 24 萬個感應器,協助偵測減少誤報,大幅提升. ‧. 網路效能。(諾頓防毒(Norton)官方網站 http://www.nortonopscenter.com/?lang=tw ). sit. y. Nat. n. al. er. io. 三、甲骨文(Oracle). Ch. engchi. i n U. v. 美國的軟體公司 Oracle,中文名稱做甲骨文,擁有最具代表性的資料庫系統。 Oracle 公司將他們自己的資料採礦軟體(Oracle data mining)建構成雲端程式放 到亞馬遜(Amazon)EC2 的雲端服務中,供線上使用資料採礦技術。. 一般民眾只要進入 Oracle 的官方網站(http://www.oracle.com/)下載免費的 資料採礦軟體(Oracle data mining)使用者介面,申請亞馬遜(Amazon)EC2 的雲端服務的線上帳號,即可登入使用資料採礦軟體(Oracle data mining)。 (甲骨文(Oracle)官方網站 http://www.oracle.com) 21.
(32) 四、Niksun. 資安與網路效能管理公司 Niksun 主要以研發生產網路安全軟硬體為主,在 2005 年開始進入台灣市場,銷售對象主要政府機構、電信業和銀行業。由於在 雲端運算的架構下,網路安全問題也漸漸浮出檯面,且現今企業在網路中部屬 大量不同的設備,因此網路流量的分析和記錄也成為一門重要的課題。Niksun 擁有良好的網路監看系統,可以快速記錄各種流量,透過資料採礦的技術(圖 2-4 Niksun 資料倉儲架構) ,即時對所記錄的大量資料進行各種統計分析,有助. 治 政 大 Niksun 可以打造安全的雲端網路架構,以提供客戶使用。 立. 於網路管理員了解網路運行狀況。Niksun 的創辦人更表示針對網路效能與安全,. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. 圖2-4. engchi. i n U. v. Niksun 資料倉儲架構. 資料來源:精誠資訊,資訊安全電子報,第 019 期,2008/10/02. 22.
(33) 五、淡江大學 Net-Stat. 淡江大學統計學系藉由 R 軟體,在網路上建構一套統計分析的介面,將統 計分析與網路結合,提供使用者可以在任何地方使用,只要具備可以上網的工 具即可,這具有雲端運算的概念,其中統計分析方法包括簡單的資料採礦功能: 決策樹、羅吉斯迴歸、判別分析、集群分析、類神經網路…等等。而且 Net-Stat 網站,會隨時更新背後運作軟體的版本,或新增統計方法。Net-Stat 的網頁如圖 2-5。. 政 治 大. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. 圖2-5. engchi. i n U. v. 淡江大學 Net-Stat 的網頁. 資料來源:淡江大學 Net-Stat http://netstat.stat.tku.edu.tw/. 23.
(34) 第三章. 研究方法. 第一節 研究概念與架構. 由於近年來電腦的運算能力大幅提升,資料的記錄也變得容易,相對於要 處理的資料量也越來越大,因此資料採礦也變得相對的熱門。各種領域的企業 包括金融業、電信業、零售業、製造業、醫療保健…等企業,也都成功地將資 料採礦應用在該領域。在一般企業所使用的資料採礦軟體,不但價格昂貴且非. 政 治 大. 一般人所能負擔的,並且這些資料採礦工具都有其不同的限制和使用方法,除. 立. 了硬體的限制外,通常還需要具備相當的統計背景,反而造成使用者的困擾。. ‧ 國. 學. 因此在本研究,我們將提出一套簡易的資料採礦系統---以預測(Forecasting)功 能為例,即便使用者沒有具備相關的統計背景,也可以進行簡單的資料採礦分. ‧. 析。. sit. y. Nat. n. al. er. io. 本章將以 VBA(Visual basic for application)和免費的軟體 R 為使用工具,. i n U. v. 將兩者做一個整合,RExcel 是一個 Excel 的套件,在安裝 RExcel 套件之後,Excel. Ch. engchi. 將具備連接 Excel 和 R 語言的 VBA(Visual basic for application)指令以供使用, 將 RExcel 當作 Excel 的 VBA(Visual basic for application)和免費的軟體 R 的連 接橋梁。本研究以 Excel 的 VBA 程式軟體撰寫預測(Forecasting)功能的使用 界面,而界面背後運算的統計分析方法,我們將透過免費的軟體 R,撰寫指令做 執行,再藉由 RExcel 將軟體 R 所執行的結果做連結,回傳結果至 Excel 視窗, 再藉由 Excel 發布成網頁的方式做預覽。希望能結合雲端運算的概念,將建置的 系統線上化,提供一般使用者使用,即便使用者不熟悉統計方法,也可以方便 操作,獲取所需的分析結果。圖 3-1 為本研究的研究方法概念圖。 24.
(35) R. RExcel. VBA. 簡易資料採礦系統預測功能. 立. sit. 遠端使用者. io. n. al. 遠端使用者. er. Nat. y. ‧. ‧ 國. 學. 遠端使用者. 政 雲端治 大. Ch. engchi. 圖3-1. i n U. 研究方法概念圖. 25. v. 遠端使用者.
(36) 第二節 研究工具之簡介. 一、VBA 之簡介. VBA 的全名是 Visual basic for application,是附屬於 Office 各軟體的巨集, 利用 VBA(Visual basic for application)來延伸 Office 的功能。例如我們帄常使 用的 Excel 和 Word,其中文書軟體裡的字型、字體大小、顏色…等,這些功能 的背後,都是透過 Office 的 VBA 撰寫支撐而成的。VBA 不能獨力建立系統,. 政 治 大. 只能附屬於宿主應用程式上一貣操作,需要這些應用程式做支援,操作應用程. 立. 式的物件模型以完成動作,Excel、Word、Access…等等就是一種 VBA 的宿主應. ‧ 國. 學. 用程式,一組 VBA 的程式碼組成巨集,巨集可以操作應用程式的功能,甚至可 以一次性完成許多應用程式的操作,也可以擴充應用程式的功能。VBA 替不同. ‧. 的應用程式提供了統一的程式語言和開發環境,一旦熟悉 VBA 的使用方式後,. y. Nat. n. al. er. io. 組成 VBA 的要素。. sit. 使用者可以應用到其它內建有 VBA 的應用程式中。物件、事件和屬性這三個是. Ch. engchi. 下列將介紹物件、事件和屬性這三個要素:. (一). i n U. v. 物件. 物件可以當作是一個實體,在帄常使用的 Excel 和 Word 中,可以使用滑鼠 操作的按鈕、功能表都是物件,可以撰寫程式來控制它。例如我們在 Office 的 Excel 中常用的物件有:活頁簿(Workbook)、工作表(Worksheet) 、活頁簿集 合(Workbooks)…等。. 26.
(37) (二). 屬性. 屬性代表的是物件的外觀和所擁有的特徵,例如字型、字體大小、顏色… 等,這些都算是屬性。不同的設定,可以使某個物件所呈現的外觀有所不同。 不同的物件分別有其較常使用的屬性。. (三). 事件. 事件代表的是物件可以執行的動作。在帄常使用的 Excel 和 Word 中有很多 不同的物件,但每個物件有的事件,並不代表所有的事件都被物件所有。意思. 政 治 大. 就是,A 物件擁有 a 事件,但並不代表 B 物件也擁有 a 事件。. 立. ‧ 國. 學. 本次研究,主要是使用 Excel VBA,微軟(Microsoft)公司在 Excel 引進 VBA 後,著實的擴展了 Excel 的功能,Excel VBA 基本語法包括資料類型、運. ‧. 算元、程式結構、語句結構和錯誤處理等等。VBA 頇操作 Excel 的物件模型以. y. Nat. sit. 完成動作,Excel 的物件模型包括活頁簿、工作表、儲存格範圍、圖表、圖型、. n. al. er. io. 工具列和功能表等等,每一種物件都分屬於不同層級的物件,這些不同層級的. i n U. v. 物件皆環環相扣,一層包含著一層,因此要使用 VBA 則必頇熟悉物件層級的位. Ch. e n g c h iExcel VBA 框架模型)。VBA 的. 置,並且瞭解物件的屬性和使用方式(圖 3-2. 編輯環境分成三種視窗,分別是專案視窗、屬性視窗和程式碼視窗。(圖 3-3 Excel 的 Visual Basic 編輯器)其中專案視窗是將所有撰寫的 VBA 巨集當成專案 的形式來管理;屬性視窗則是顯示我們選到的物件的屬性清單;程式碼視窗即 是撰寫程式的視窗,可以做修改或編輯。. 27.
(38) VBA 語法. Excel 物件模型. 資料類型. Workbook 物件. 運算元. Worksheet 物件. 程序結構. Range 物件. 語句結構. Chart 物件. 錯誤處理. 使用者視窗. 屬性. 方法. …. 事件. 立. 治 政類別模組 大 引用外部物件. ‧ 國. 學. 集合. ‧ er. io. sit. Nat. 事件. y. 屬性、方法、. n. a l圖3-2 Excel VBA 框架模型 v i n Ch engchi U. 28.
(39) 1. 3. 2. 立. 政 治 大 Excel 的 Visual Basic 編輯器. ‧. ‧ 國. 學. 圖3-3. 代碼 1-專案視窗、代碼 2-屬性視窗、代碼 3-程式碼視窗. n. al. er. io. sit. y. Nat 二、R 之簡介. Ch. engchi. i n U. v. R 軟體是由紐西蘭奧克蘭大學的 Ross Ihaka 和 Robert Gentleman 所共同研究 開發的軟體。R 是一種表達式或運算式語言(Expression language) ,R 也是一種 高階程式語言(Programming language)(林建甫,2006)。主要是用來撰寫統計 分析和繪圖的軟體,R 算是一種統計軟體,也可以說是一種程式語言,提供了條 件(If-else) 、轉換(Switch)、迴圈(Loop)…等等控制結構語法。R 語言主要 是從 S 語言發展而來的,S 語言也是發展用來進行統計分析之類的軟體。R 軟體 是免費的軟體,只要進入 R 的官方網站(http://www.r-project.org/)即可取得使 用,且方便使用,推出之後快速贏得廣泛的使用者。 29.
(40) R 語言具備許多優點,如下:. (一). R 軟體免費,且為共享資源,取得容易,支援 Windows、LINUX…等. 等多種作業系統。 (二). 具備良好的內建輔助系統,方便使用者搜尋指令。. (三). 擁有優秀的繪圖系統。. (四). 官方網站更新速度快。. (五). R 語言擁有許多簡單易學的內建統計語法,且易於擴展使用者所編寫的. 政 治 大. 立. 學. ‧ 國. 函數。. 擴充套件(Packages)豐富。. (七). 擁有許多社群資源可供使用者討論或發問、相互交流學習。. ‧. (六). R 軟體之程式編輯視窗)動作的函數、運算、. er. io. al. sit. y. Nat. 在 R 編輯視窗裡面(圖 3-4. v. n. 變數、資料和結果都會被以物件的型式儲存在電腦的記憶體中,然後可以透過. Ch. engchi. i n U. 運算或函數在對記憶在電腦記憶體中的物件做操作和運算。上述的過程可以用 簡單的工作流程示意(圖 3-5. R 工作示意圖)。. 30.
(41) 政 治 大. 立. ‧ 國. 學. 圖3-4. R 軟體之程式編輯視窗. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. 圖3-5. i n U. R 工作示意圖. 資料來源:R for beginners,Emmanuel Paradis,2005 31. v.
(42) 三、RExcel 之簡介. RExcel 是由 Erich Neuwirth 所開發,是一個 Excel 的增益集套件,將 Excel 和 R 語言連接,讓使用者可以在 Excel 的界面中,透過簡單的操作,使用 R 語 言來畫圖或做統計分析,且分析結果可以呈現或儲存在 Excel。安裝此套件之後, 可以以 RExcel 為橋梁,使 Excel 裡的 VBA 可以與 R 語言做連結。因此,本研 究以 Excel 的 VBA 程式軟體撰寫預測(Forecasting)功能的使用界面,而界面 背後的統計分析方法,透過軟體 R 撰寫指令做執行,藉由 RExcel 將統計軟體 R. 政 治 大. 所執行的結果做連結,回傳結果至 Excel。下表 3-1 為常用連接 R 軟體的 VBA. 立. 指令與指令簡介。. ‧ 國. 學. 表3-1 常用連接 R 軟體的 VBA 指令與指令簡介. n. al. Ch. sit. 停止 R 軟體. RInterface.StopRServer. er. io. Nat. 開啟 R 軟體. y. 指令簡介. RInterface.StartRServer. RInterface.RRun. ‧. VBA 指令. i n U. 執行 R 軟體的指令. v. RInterface.PutArray. engchi. RInterface.PutArrayFromVBA. 將 VBA 變數指派到 R 裡面. RInterface.GetArray. 將 R 裡的數據傳送到 Excel. RInterface.GetArrayToVBA. 將 R 裡的數據傳回到 VBA 進一步使用. RInterface.PutDataframe. 將 Excel 數據給定變數名稱,表示成資料框. 將 Excel 變數指派到 R 裡面. 架指派到 R 裡 RInterface.GetDataframe. 將 R 裡的數據給定名稱傳送到 Excel. RInterface.RunRFile. 在 R 裡執行檔案 32.
(43) 第三節 預測功能介紹. 一、迴歸分析. 將研究的變數區分為自變數和應變數,建立函數模型,此模型是根據輸入 自變數預測輸出變數的最佳線性方程式。只有連續型變數適用於迴歸模型,且 只能有一個應變數和一個以上自變數。若自變數只有一個,則為簡單迴歸分析 (Simple regression analysis) ;若自變數為一個以上,則為複迴歸分析(Multiple regression analysis)。. 立. 政 治 大. 若為簡單迴歸分析(Simple regression analysis),以最小帄方法找出最佳線性方. ‧ 國. m i n yi yˆ i . 2. ‧. 最小帄方準則. 學. 程式:. sit. y. Nat. yi :第 i 個應變數觀察值. n. al. er. io. yˆ i :第 i 個應變數估計值 最佳估計方程式. Yˆ b0 b1 X. Ch. b0 Y b1 X , b1 . engchi. i n U. x x y y x x i. i. 2. i. xi :第 i 個自變數觀察值 yi :第 i 個應變數觀察值 X :自變數帄均值 Y :應變數帄均值 33. v.
(44) 若為複迴歸分析(Multiple regression analysis) ,以最小帄方法找出最佳線性 方程式:. m i n yi yˆ i . 2. 最小帄方準則. yi :第 i 個應變數觀察值 yˆ i :第 i 個應變數估計值. Yˆ X B. 最佳估計方程式. 政 治 大 X :應變數觀察值矩陣,若為 立 a 個應變數,則為 n×(a+1)的矩陣。. ‧ 國. 學. n :總觀察個數。 Yˆ :估計值矩陣。. ‧ sit. y. Nat. 因此,當自變數只有一個為簡單迴歸分析(Simple regression analysis),則. n. al. er. io. 預測模型為 Yˆ b0 b1 X ;當自變數為一個以上為複迴歸分析(Multiple regression. i n U. v. analysis),則預測模型為 Yˆ XB 。建立回歸模式時,一方面希望包含較多的預. Ch. engchi. 測變項,以求得較準確之預測;另一方面,基於經費及控制程度的考慮,希望 模式中的預測變項數目能儘量減少(黃俊英,1991) 。由於上述兩種原因,則希 望能以最少的自變數項,達到理想的解釋模型變異程度,本研究的系統採取使 用者選取所要的自變數項和應變數項的操作方式。. 34.
(45) 二、時間序列分析. 時間序列(Time series)是一組按照時間順序把隨機事件的變化過程依序記 錄下來,因而構成一組時間序列,時間的間隔可以是分秒、日、周、月…等等, 甚至是季節性的。而時間序列分析(Time series analysis)則是對依時間順序連 續記錄的觀察值數列進行觀察以及研究,找尋其中的規律,預測數列未來的走 勢。實務上,經常以數列走勢和統計檢定量來做初步討論。最主要是要利用過 去的資料來判斷一個變量未來的走向,以及不同變量同期或前後期的關聯性。. 政 治 大 時間序列分析方法常分為描述性時間序列分析和統計時間序列分析。其中 立. ‧ 國. 學. 描述性時間序列分析是對數據進行直覺性的比較或者繪圖做觀察,找尋數據其 中的規律,且描述性時間序列分析通常做為統計性時間序列分析的第一步驟。. ‧. 統計時間序列分析有三個標準的時間序列模型,分別是 AR(Autoregressive. al. er. io. sit. y. Nat. model)、MA(Moving-average)和 ARMA(Autoregressive moving-average) 。. n. 三個時間序列模型分別如下:. Ch. engchi. i n U. v. (一). AR(p): Yt = 1Yt 1 ... pYt p t ;. (二). MA(q): Yt 1 t 1 2 t 2 ... q t q t ;. (三). ARMA(p, q): Yt 1Yt 1 ... pYt p t + 1 t 1 2 t 2 ... q t q. 其中, Yt 為第 t 期觀察值,. t 為時間序列模型係數, t 為時間序列模型係數, i ~ N (0, 2 ) 35.
(46) 三、羅吉斯迴歸. (一). 二元分類羅吉斯回歸. 羅吉斯回歸(Logistic regression)為非線性迴規模型,當迴歸分析的反應變 數為非常態分配或屬於類別型資料時,二元分類羅吉斯迴(Dichotomous logistic regression)歸為當反應變數為二元結果的問題,即是或否、有或沒有…等等結 果,此時線性迴歸分析可能就不適用,因此改採羅吉斯迴歸。假設反應變數以 0 和 1 來表示,則反應變數為 0 和 1 的機率分別為 π 和 1-π。 機率表示方式即. 立. 政 治 大. ‧ 國. 學. P( y 1 | X ) P( y 0 | X ) 1 . 其中 π 與 X 關係滿足. e X 1 e X 0 1 X 0 1 x1 p x p. ‧. . n. 因此,機率比為. al. sit er. io. β:係數矩陣. y. Nat X:自變數觀察值矩陣. Ch. engchi. x ... eX e 1 0. 1. 1. i n U. v. p xp. 對機率比取對數後. ln X 0 1 x1 ... p x p 1 此稱為二元分類羅吉斯迴歸模型。 因此,當迴歸分析的反應變數為二元類別型資料時,則預測模型為. ln 1 . X 0 1 x1 ... p x p 。 36.
(47) (二). 多元分類羅吉斯回歸. 當目標變數為多種分類時,就稱為多元分類羅吉斯迴歸(Polytomous logistic regression) ,假設目標變數 Y 有 k 個分類,其中第 n 個分類被選定為參考分類 (Baseline category),j 為分類編號。 假設目標變數為第 j 類別時,機率表示方式為. P(Y j | X ) j P(Y n | X ) n 其中. j . exp( X j ). 1 exp( X i ) in. 立. 1 1 exp( X i ). ‧ 國. in. 學. n . 政 治 大. , j n. y. Nat. X:觀察值矩陣. ‧. 0 j , n 1 , X j 0 j 1 j x1 pj x p. n. al. er. io 因此,機率比為. sit. j :第 j 類別的迴歸係數矩陣. i n U. C. v. P( y j ) j h eX n hi x ... x e j g ec 0 j j 1 1 pj p P ( y n) n 對機率比取對數後. l n j X j 0 j 1 jx 1 . . . p xj n . p. 此稱為多元分類羅吉斯迴歸模型。 因此,當迴歸分析的反應變數為非常態分配且屬於多元分類型資料時,則預測. j 模型為 ln X j 0 j 1 j x1 ... pj x p 。 n 37.
(48) 四、類神經網路. 類神經網路是基於人腦處理資訊方式的簡化模型,沒有任何關於機率的假 設,透過不斷的訓練,直到類神經網路所輸出的值接近目標值。類神經網路可 以處理類別型和連續型資料。且類神經網路主要是由神經元(Neuron) 、層(Layer) 和網路(Network)構成,整個類神經網路包括了一系列的神經元,透過權重 (Weight)來做連結,且權重會隨著網路的不斷訓練而變化。類神經網路必頇透 過訓練(Training)的方式,反覆的學習不斷調整權重,而訓練樣本越多,類神. 政 治 大 和網路(Network)做簡單概述: 立. 經網路的能力就越強,但是容易過度學習。以下將對神經元(Neuron) 、層(Layer). ‧ 國. 學. (一). 神經元(Neuron). ‧. 神經元為類神經網路的基本單位,每一個神經元由上一層的神經元輸入多. y. Nat. sit. 個變數,每一個輸入的變數都有不同的權重,將這些變數加權組合後和此神經. n. al. er. io. 元的閾值做連結形成組合函數,組合函數經過神經元的啟動函數轉換成信號輸 出。下圖 3-6 為神經元示意圖。 w1j. Ch θj. engchi. i n U. v. w:權重. X1. θ:閾值 w2j. f(Pj). X2 Pj wnj Xn. 圖3-6. 神經元示意圖 38. P:組合函數 f():啟動函數.
(49) (二). 層(Layer). 分成輸入層、輸出層和隱含層三種,三層構成一個類神經網路。 輸入層(Input)---接收外部資訊,每個神經元相當於自變數。 隱含層(Hidden)---介於輸入和輸出層,主要功用為分析。 輸出層(Output)---輸出最終結果。. (三). 網路(Network). 將輸入層、輸出層和隱含層連結形成網路,圖 3-7 為類神經網路架構。. 立. H. n. er. io. al. sit. y. Nat. I. Output Layer. ‧. ‧ 國. Hidden Layer. I. I. 學. Input Layer. 政 治 大. Ch H. engchi U. N I. v ni. O. O. T. P U. I. T. U. H. P. h. U. H. T. I. 圖3-7. 類神經網路架構. 39.
(50) 五、決策樹. 決策樹(Decision tree)也稱作規則推理模型,它藉由歸納資料的規則,建 立分類樹狀圖,利用這個規則來對新的資料做預測,預測新進資料在分類樹狀 圖裡所屬的類別,且模型推理過程容易理解。本研究將介紹建立 C&R Tree 分類 迴歸樹. C&R Tree(Classification and regression tree)又稱做分類迴歸樹,預測變數. 政 治 大 若預測變數為連續型資料立 ,則為迴歸樹。C&R Tree 可以判定解釋變數的重要性,. 可以是類別型資料或者是連續型資料。若預測變數為類別型資料,則為分類樹;. ‧ 國. 學. 可歸納出數條預測準則,做出適當的劃分,因此面對多缺失值或者是解釋變數 多的情況時,C&R Tree 再訓練的過程中是相當穩健的。. ‧. Nat. sit. n. er. io. al. y. 第四節 系統設計架構. 將藉由簡單的系統設計架構示意圖(圖 3-8. Ch. engchi. i n U. v. 系統設計架構示意圖),簡單. 介紹本研究整體的預測系統設計架構,簡要的表示 Excel 與 R 軟體之間的連結。 最後,結合雲端運算的概念,整體的系統帄台建置於網路上,將龐大的電腦運 算,拆散成較小的運算,交付給其它遠端多台的伺服器同時做運算,即可以在 短時間內,有效率的處理大量的資料,藉由此系統做的資料採礦分析,提供一 般使用者使用,獲取所需的分析結果。. 40.
(51) 上傳資料至 Excel. 預測方法. Excel. 選擇預測變數. 政 治 大 判別預測變數類型 立 時間數列. 離散型變數. n. al. er. io C&R tree. sit. y. Nat Linear regression. ‧. ‧ 國. 學. 連續型變數. Times. v. Logistic regression. i n Cseries h e n g c hNeural i U net. 回傳分析結果至 Excel. 圖3-8. 系統設計架構示意圖 41. R.
(52) 第四章. 實例分析. 本章節內容共分為三節,分別為:系統作業環境、系統執行流程及系統實 例分析。在第一節將介紹系統的作業環境,即說明支持系統背後所需的軟體, 以及使用此系統之限制。第二節的部分將詳細說明系統執行流程,即系統選擇 預建構預測模型的方法。第三節則將說明如何操作此預測模型系統,將依目標 變數類型的不同,分別做實例操作。. 第一節 系統作業環境. 立. 政 治 大. ‧ 國. 學. 本研究的資料採礦預測系統,因目前 RExcel 還無法完全支援 Microsoft. ‧. Office Excel 2010,所以本研究主要還是採用 Microsoft Office Excel 2007,再結. y. Nat. 合 RExcel 以及 R 語言此兩種軟體,建構資料採礦預測系統。目前本資料採礦預. er. io. sit. 測系統線上化的作業礙於一些執行上的困難,還無法包裝成線上化軟體,因此 架設此系統的電腦前提必頇先安裝 Microsoft Office Excel 2007、RExcel 和 R 語. al. n. v i n 言這些軟體。未來若透過雲端概念,結合 Microsoft Office 雲端線上化,或許可 Ch engchi U. 將此資料採礦預測系統雲端化,即可實行多台電腦進行背後的電腦運算,使用 者便可以不用安裝軟體,也可以透過網路上網使用此預測系統,假設使用者預 上傳分析的資料量很大,也可以藉由雲端運算的概念降低大量運算的困難度, 以及降低運算所需耗費的時間。. 使用本研究的資料採礦預測系統,有部分使用限制,系統使用限制將簡述 如下:. 42.
(53) 一、使用者上傳資料之檔案類型,頇為 csv 檔(逗號分隔檔案格式)、xlsx 檔或 xls 檔(Microsoft Office Excel 2003 的檔案格式)。 二、使用者所上傳的資料,第一橫列必頇為變數名稱(如圖 4-1 上傳資料之圖 示)。 三、使用者所上傳的資料,不能包含資料索引(Index)行(如圖 4-1 上傳資料 之圖示),即每一筆資料的第幾筆數。 四、使用者上傳的資料,若有遺漏值(Missing values) ,務必為空格或者是 NA,. 政 治 大. 若非上述兩種格式,請在上傳前將其代換成空格或者是 NA。. 立. 五、使用者上傳的資料,若有出現文字的部分,必頇以英文取代中文。. ‧ 國. 學. 六、使用者的 R 軟體,必頇先行安裝所需的套裝軟體(Package),此系統所需. ‧. 的套裝軟體(Package)如下:. sit. y. Nat. (二). 「forecast」Package。. (三). 「lmtest」Package。. (四). 「tree」Package。. (五). 「Design」Package。. (六). 「epicalc」Package。. (七). 「nnet」Package。. (八). 「Hmisc」Package。. n. al. er. 「TSA」Package。. io. (一). Ch. engchi. 43. i n U. v.
(54) 變數名稱. Index. 治 政 上傳資料之圖示 大. 圖4-1. 立. ‧. ‧ 國. 學. 第二節 系統執行流程. 執行系統之後,會顯示上傳資料之介面(圖 4-2 上傳欲分析資料之介面),. y. Nat. sit. 點選進入後,會出現讀取檔案之視窗(圖 4-3 讀檔視窗) ,使用者可以選擇上傳. n. al. er. io. 想要進行資料採礦預測分析的資料,但上傳的資料檔格式必頇是 csv 檔案格式、. i n U. v. xlsx 檔案格式或 xls 檔案格式,因為系統背後運作的軟體是 Microsoft Office Excel. Ch. engchi. 2007,所以若使用者所上傳的資料非上述三種格式,必頇在上傳之前先行轉檔, 才能進行資料採礦預測分析。若選擇所需檔案上傳完成後,則會進入檢視上傳 資料之頁面(圖 4-4 檢視上傳資料) ,使用者可以在這一步驟檢視所上傳的資料 是否正確,確認上傳的資料是否符合資料採礦預測系統之限制,確認無誤後, 即可選擇進入下一步,若發現上傳資料有誤可選擇上一步返回資料上傳頁面重 新上傳,而在進入下一步的過程裡,系統會主動將含有遺漏值(即含有 NA 或 空格的資料列)的資料刪除。. 44.
(55) 圖4-2. 立. 治 政上傳欲分析資料之介面 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 圖4-3. i n U. 讀檔視窗. 45. v.
相關文件
(三) 使用 Visual Studio 之 C# 程式語言(.Net framework 架構) ,設計 各項系統程式、使用者操作介面,以及報表。. (四) 使用 MS
能熟悉電腦概念,包括作業 系統、應用軟體和檔案輸出 入硬體設備的安裝、操作和 維護。2.
(三)使用 Visual Studio 之 C# 程式語言(.Net framework 架構)、Visual Studio Code 之 JavaScript 程式語言(JavaScript framework 架構) ,搭配 MS
利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系 統環境下,將給與的紙本或電子檔(如 excel
利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系統環境 下,將給與的紙本或電子檔(如 excel
(軟體應用) 根據商務活動之舉辦目標及系統需求,應用 Microsoft Office 文書處理 Word、電子試算表 Excel、電腦簡報 PowerPoint、資料庫 Access
手機會使用 eclipse 開發一套 Android 系統配合 arduino 三軸的 APP,其功能會 有連接 arduino 藍芽模組的按鈕,按下按鈕,將可與 arduino
利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系 統環境下,將給與的紙本或電子檔(如 excel