推薦序
關注產業競爭優勢,從基礎教育紮根
很高興看到廖如龍博士結合在 IBM、Oracle 及國內大廠的產業經驗及在文化大學、致理科技大學等學校擔任教職的寶貴經驗,綜整了產學研專業知識和產業知能,投入現今熱門的資料科學(Data Science)領域,紮根基礎教育,編撰教科書,個人至感欽佩。
回想當年,科技教父李國鼎先生在 1980 年於美國芝加哥召開第二次外籍科技顧問會議,楬櫫了「能源、材料、資訊和自動化」為我國未來主要發展方向, 吹響了台灣在全世界資通訊領域的號角,也奠定台灣電子工業的穩固基礎,今日才能作收如此傲人成就;甚至海峽兩岸至今共蒙其利,是典型的雙贏典範。值得一提的是,在當時( 1980
年),台灣無論是銀行、醫院、工廠、商店……等各行各業,各項作業都還是手寫作業,沒有在使用電腦。就連大部分的國立大學,其教職員的薪水單也都是手寫,還不是電腦打印的。
我們今天看到人工智慧時代來臨,大家關注的「數位轉型」議題,最重要的,就是從資料模型、方法論和程式語言…等全方位的創新,轉型和升級,台灣 才能在全球競爭中脫穎而出。R 語言無庸置疑,扮演非常重要的角色。正如人類 統計學的發展歷史,雖然可追朔至公元前五世紀,但其數學基礎是一直到 17 世紀才開始建立。R
語言的發明,可說是承先啟後,預料將對全球軟體程式語言帶入新血與改變。廖博士將此介紹到台灣,對台灣軟體產業人才培植影響深遠,堪可名列台灣軟體大師級名人堂了。
正如我一開始提到的,我們在 1980 年面臨的是從人工到全面電腦化的挑戰,台灣做到了,也成為世界的佼佼者,更建立了舉世稱羨的產業,造就了台灣奇蹟。現在,我們站在 2020 年的出發點,面向未來,這也將是另外一個奇蹟的起點 - 一個全新的產業結構,以資料為基礎、智慧為手段、人類社會系統為標的
的未來。過去我們所熟知的一切,都可能會翻轉;在我們大談智慧城市題材的同時,Amazon、Google、Facebook …等也正積極地導引我們邁向不一樣的未來!廖如龍博士的大著,正是我們目前迫切需要的知識,引領我們在下一波競爭中能脫穎而出,再一次的成就新一代的台灣奇蹟。謹此感謝廖如龍博士的貢獻,並祝福大家!
凌羣電腦股份有限公司 總經理 劉瑞隆
推薦序
另闢 R 應用的嘗試,擴大知識傳達蹊徑
從知識產生過程的觀點,將內隱知識外顯的方式中,除演講外,寫書則是將 明確的觀念進行傳達,讓讀者得以瞭解作者所要描述的精隨。很高興能夠看到廖 如龍博士能將實務與理論結合,將過去數十年國內外知名企業工作經驗(包括: IBM、Oracle、鴻海精密工業、成霖企業等)與教學經驗(包括:文化大學、致理科技大學)的融合,並經彙整、歸納,並編撰具有獨一無二特色的教科書,以
紮根高等教育,讓身處高等教育界服務的個人而言,深感敬佩。
近年來,大數據(Big Data)、數據科學(Data Science)等皆為各領域相當熱門 之議題,並為企業帶來競爭優勢。而在應用的領域中,包括:行銷、製造、品管 等相關領域。以品質管理而言,在製造過程中,每台機器每天會產生相當多筆資 料,而製程系統將產品製程數據等資料進行蒐集,經過分析處理轉換成管制圖的規格界線(如:第四篇第 4 章之內容所示),用以作為監控製程品質的重要依
據,並進一步預測機台,何時會產生不良品,做到提早預防,製程零缺點的目標,確保產品的穩定性與競爭力。對於上述所提,該如何將製程品質數據轉換為管制圖,且該應用何種工具來解決?「R 語言」則是非常熱門且實用的重要工具,其在數據科學與數據分析中扮演著重要的角色。R 語言除了進行資料分析之 外,亦包括強大繪圖功能、複雜的數據可視化等強大功能,且對於文字檔或各式
資料庫與其他統計軟體的格式皆容易轉換與導入。因此,R 語言對於現在的大數 據分析,可說是相當重要的數據分析工具。
最後,為切合不同領域讀者的需求,本書以簡明易懂的描述方式,透過精心的設計,將 R 語言在不同領域應用的內容作範例(包括:開放資料、管理數學、作業管理與品質管理等),讓讀者能夠深入瞭解 R 語言在該領域應用的範疇。由於坊間目前並未有深入剖析R語言在不同領域的應用的書籍;因此,就個人近年在學術研究與教學的經驗來看,此本書是對R語言的教學、實務與研究皆具備的
最佳學習教材,非常值得推薦給大家來閱讀。最後,感謝廖如龍博士對於高等教育的貢獻,願意將其畢生所學出書並分享,以幫助讀者在R語言上的學習。
臺中科技大學 企管系 副教授 趙正敏
作者序
" If I have seen farther than others,
it is because I have stood on the shoulders of giants." -Sir Isaac Newton
出版本書是一種意外,從幾年前開始教管理數學時,發現在教學上,花太多 時間在計算上,勾起以前學習數學、統計以及多變數分析時的挫折。同樣的經驗 也出現在教作業管理,有關流程分析或解學習曲線、品質管理的管制圖上;心想若能輔以 R 語言的語法或操作,在瞭解原理後,將複雜的計算交給 R 語言,也會提 升學習的效果; 利用 R
語言可以省掉這些相對是細微末節的計算,專注在理解問題的本質、有效的定義問題以及解決問題的方式,這應該也是「博雅教育」 (Liberal arts)的本質吧 ! 於是開始醞釀及構思本書的寫作。
有鑑於數位時代更需要有創造力的人才,很多中東與亞太地區的銀行業,紛紛開始調整徵才標準,所謂的受過「博雅教育」和「寫程式」(coding)的能力,似乎已是業界普遍認可需具備的特質。(1)R 語言也可以扮演「寫程式」的能力的第一哩路,甚至在資料分析、圖形呈現的最後一哩路。
看了本書封面就知道,本書意在直指學習的核心,荀子在《勸學》中說道:「學不可以已。青,取之於藍,而青於藍;冰,水爲之,而寒於水。」。意思是,學習不可以停止,一定要持之以恆。就如月之恆,如日之升; R 語言因為具有簡 單、互動、有趣特色,讓使用者在學習的過程可以達到這個效果。
第一篇介紹 R 語言概論,但是跟同類的書籍處理上不一樣,因為我們試圖重 點放在解決管理領域的問題,因此,不特別著墨或淡化撰寫 R 程式設計的技巧, 但又不能不交待本書使用到的 R 語言語法、功能、函數、套件等。所以把第一章 擺在附錄,這是跟坊間的書籍不一樣的。
第二篇探討巨量資料、開放資料與 R 語言; 細說巨量資料(Big data)自 2013 年已成為流行語,它經常使用在商業界和流行媒體中;而開放資料從 2010 年開始的隨後幾年在政府公開資料的出版品中顯著增加。兩者除企業及政府機構內部供 行銷、商業分析、國安之用的非公開資料外高度重疊。開放資料可以是巨量資 料,但其強調的是公開的以及有目的的(public and
purposeful)資料的開放,而不像巨量資料強調資料的本質。
面對巨量資料產生“3V”一詞來代表數量、速度和多樣,迅速成為巨量資料 的構成維度,巨量資料須處理的資料是廣泛的,基本上可依資料是否容易清楚歸 類分項及表格化分為結構化資料及非結構化資料,結構化資料目前許多程式語言 語可以處理,但對於非結構化資料,例如地理位置資訊、臉書訊息、視訊資料等 是無法處理、而 R 語言正可以解決這方面的問題。另外,第 2章就開放資料帶來
的三大機會我們分別用三個實例以 R 語言來呈現。
當然 R 語言也不是無所不能,其強項在統計分析及可視化的工具呈現。但由 於缺乏 Web 安全性或運算效率考量,幾乎不可能將 R 作為後端伺服器來執行計 算,但是 RStudio 公司打造的一款基於 Web 的開源編輯器 RStudio Server,以 及微軟在 2015 年推出 Microsoft R Server(2017 年除了R 以外增加了 Python 的支援改稱
Microsoft Machine Learning Server)支援 Hadoop、Linux 和 Teradata 平臺都是一種補強。另一方面。R 語言可以整合高效能的程式語言,例 如 Python,C ++或 Java 予以補強。
在這裡捨「大數據」詞彙,而就「巨量資料」,考量到兩個用詞在語義上相 通,採用「巨量資料」與「開放資料」並存,具對偶及押韻之美,讀起來順口。
第三篇探討 R 語言在管理數學的應用。第 3章探討線性函數(linear function)與線性方程組(system of equations)。在商業、經濟領域的許多問題,本質上就是線性的或在特定範圍內呈現線性的關係,因此適合以線性函數表示。 (2) 從文獻中發現: 原來中國古文明「以物易物脈絡」(barter context),可作為線
性方程組教學啟蒙,提供從自然的和悠久歷史的切入點。(3)
市場均衡下求均衡數量與價格,以 R 語言解線性方程組,省去手算求反矩陣,先寫出擴增矩陣,再利用高斯-喬登消去法(Gauss-Jordan elimination method),得到一系列的等價擴增矩陣的冗長計算;同樣的,健康照護費用以最小 平方法,預期未來幾年其健康照護花費,手算時要先列出 x、y 軸各點的值,求算 x、y、x2、xy
各欄總和,再代入正規方程組,求解截距與斜率。以 R 語言解 最小平方法 x、y 軸各點的值代入「lm」套件即可,繁瑣的計算交給 R,解析報 表的工作仍然還給人們。
第 4 章以矩陣代表資料: 如不同工廠生產不同型號的藍芽喇叭,不同加油站 供應不同等級的無鉛汽油,以矩陣表示及彙總生產或消費資料的初階應用,到以 反矩陣來加密及解密的古典加密技術; 應用反矩陣於經濟學的 Leontief 模式,一窺 Leontief 用線性方程式表達多種產業,如何將其產出分散到或影響其他產業的 縮影。也可將矩陣應用於最小平方法,預測第 3
章健康照護費用。在解題的過程,尤其配合 R 的逐條指令,按下「run」會有原來如此的驚呼,這就是學習 R 的樂趣!
第 5 章探討線性規劃的應用。在數學中,線性規劃(Linear Programming, LP)指的是目標函數和約束條件皆為線性的最優化問題,求得利潤極大化或成本 極小化。解題時,幾何方法僅適合 2至 3 個變數,一旦變數增多時,利用代數方 法會比較適當。單形法(simplex method)便是其中一例。單形法是 1940 年代由 George Dantzig
所創建,依高斯-喬登消去法反覆計算的過程,是廣泛使用至今 的一個代數方法。如今,單形法已能交由電腦處理,方便解決大量變數和限制的 線性規劃問題。R 語言可大幅縮短冗長計算的步驟與時間。輸入目標函數和約束 條件各係數及参數後,即可看到最佳解,這也是學習 R 的樂趣!
第 6 章探討財務數學的應用。除了複利、年金、分期償還、償債基金的基本 計算外; 更進一步探討單利、複利的進階應用:分別以 2%,4%,…18% 的單利年 利率,以及 5%,10%,15% 複利年利率,求出 20 年期本利和曲線,最後以神奇的一美分幣(The Magic Penny)展現「壓倒駱駝的最後一根稻草」是第 31 天翻 倍的複利,所拉出的壓倒性的勝出。
第 7 章探討馬可夫鏈(Markov chain)是俄國馬可夫(A. A. Markov)於 1907 年提出的理論。是一種隨機過程預測方法,藉由過去一段期間系統所呈現的狀 態,推測未來系統各期的狀態以及發生的可能性。探討都市與郊區間的人口流 動、人口變化、計程車的移動區域以及女性的教育狀況等,長期趨勢的變化以及穩態分布。
第四篇探討 R 語言在作業管理的應用。第 8章探討流程分析、資料分析工具,如七個基本品質工具: 直方圖與長條圖、柏拉圖(Pareto chart)、散布圖、特性要因圖等,尤其展現柏拉圖分析,比起紙筆式或 Excel 的展現,會明顯感受到其速度與美觀兼顧,可作為互動式的作業績效監視看板。
第 9 章探討學習曲線。長期以來,人們一直認為大多數產品或服務的生產會隨著經驗的增長而提高,即所謂「熟能生巧」(practice makes perfect)的假說。 適用於新產品(如鼎泰豐因應非洲豬瘟,新研發出的羊肉蒸餃) 及新服務導入(如外科手術)。從 1930 年代,飛機產業的原始研究發現,當產量增加一倍時,平均而 言,每單位勞動力的需求減少了約
20%。本章引進類似的實例。並進一步模擬在 學習率為 70 %、80 %、90 %的學習曲線走勢。並進一步將學習曲線應用到心臟 移植死亡率(heart transplant mortality) 的古典醫學文獻,發現實際與理論配適度良好,有很強的預測能力。
第 10 章探討敘述統計學(descriptive statistics)以及機率分配。主要是作為下一章品質管理在求各種管制圖的前置準備,以 1994 年美國人口普查局: 教育程度每人平均年度所得表格,介紹 R 語言在單維敘述統計的幾種摘要測度如平均數、變異數及中位數、全距、四分位數等以及常態分配、68–95–99.7 原則、二項分配及卜瓦松分配(Poisson
distribution) 等在課堂上常碰到的範例,分別以紙 筆解法與 R 語言解法並陳方式,讓讀者感受到 R 的方便,少了冗長費時的計算。
第 11 章探討品質管理。在全球化經濟下,品質已經成眾所皆知的議題,且 是競爭優勢的必要而非充分條件。而管制圖(control charts)是為了確定所觀察 的品質變異是否異常,加以衡量並依時序將樣本的績效測量值繪製成圖表,是長 期以來實務上不可或缺的工具。本章以平均數(