Julia介紹&序言

更新於 發佈於 閱讀時間約 2 分鐘
Julia是為了滿足高效能數值分析和計算科學的需要而設計的程式語言,如同樣被廣泛應用在數值分析和計算科學領域的Python及R一般,Julia入手難度低也對使用者友善,但在此同時Julia又具有C-like的速度,解決了Python及R執行速度不快的詬病。
Julia設計者的理念為設計一個開源軟體,它要像C語言一般快速而又要像Python般通用、像R般在統計分析上得心應手。於是Julia就這樣誕生了,同時具有C-like的速度以及Python般的高可讀性。Julia是一個相當新的語言,社群不大,中文的資源尤其稀缺,因此希望能透過此系列文推廣Julia,拋磚引玉,並且介紹統計的實務應用。
同時具有高可讀性又有高運算能力的程式語言聽起來很棒吧?
Julia還能夠解決Two Languages Problem。
所謂的two languages problem指的是儘管Python及R很萬用,但其速度並不快,因此當程式設計師需要處理極其龐大、複雜的資料且講究運行速度時,需要使用一些更低階且執行速度更快的程式語言如: C/C++。因為這個原因,程式設計師往往需要花心力學會兩種語言,一個高階語言如Python和一個低階語言如C,並且在兩種語言的使用上不斷轉換。

序言

此篇系列文文章的組成大致上為
  1. 闡述一個重要的統計概念
  2. 利用Julia模擬或示範該統計概念
  3. 解釋Julia程式碼的意思
希望能夠透過這樣的方式讓讀者能學會重要的統計概念又能夠理解如何在Julia上實作,同時精進統計能力及程式撰寫能力。
此系列文的程式碼引用自兩位昆士蘭大學教授Yoni Nazarathy及Hayden Klok 所提供的Statistics With Julia。 原文PDF可以從https://statisticswithjulia.org/取得,而所有程式碼皆放在https://github.com/h-Klok/StatsWithJuliaBook。由衷感謝他們的貢獻。
然為避免抄襲之嫌,我援引他們放在Github上有MIT licence的程式(被授權人有權利使用、複製、修改、合併、出版發行、散布、再授權和/或販售軟體及軟體的副本,及授予被供應人同等權利)並且以自己的話闡述範例、講解程式而非單純翻譯Statistics With Julia的內容。
有興趣可以參考原文文章:https://www.juliansweb.com/julia-preface
為什麼會看到廣告
avatar-img
4會員
25內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
詹永裕的沙龍 的其他內容
點估計(point estimation)是指用樣本資料來估計母體參數,使用一個點的數值表示其估計值,因此稱為點估計。事實上我們相當常見的樣本平均數或樣本變異數就是點估計,我們是使用樣本資料計算出一個數值,然後再用這個點的數值去估計母體的參數。
一篇文章帶你搞懂何謂蒙地卡羅法。
這是一個資源有限的世界,我們所能得到的東西,能夠使用的金錢、時間,都是有限的,那我們能如何在這些有限的資源中做選擇呢?
每一個國家/經濟體的經濟制度都有所不同,但可以被約略劃分成市場經濟體系、混合經濟體系和計劃經濟體系。這一篇我們就來介紹兩個最常被拿來做比較,也分別分散在光譜的最兩端的兩個制度
個體經濟學和總體經濟學相互用不同的角度來觀察經濟行為。個體經濟學專注在經濟層面中個體的行為。而總體經濟學在研究經濟時則是把經濟視作一個整體切入,使用國民收入、經濟整體的投資和消費等總體性的統計概念來分析經濟運行規律。
經濟學是一門研究人類在資源及預算有限的情況下如何作出選擇的科學,也就是說研究人類在面對稀缺性時會如何做出選擇的科學。這些選擇包含了日常生活購物、大學科系的抉擇…
點估計(point estimation)是指用樣本資料來估計母體參數,使用一個點的數值表示其估計值,因此稱為點估計。事實上我們相當常見的樣本平均數或樣本變異數就是點估計,我們是使用樣本資料計算出一個數值,然後再用這個點的數值去估計母體的參數。
一篇文章帶你搞懂何謂蒙地卡羅法。
這是一個資源有限的世界,我們所能得到的東西,能夠使用的金錢、時間,都是有限的,那我們能如何在這些有限的資源中做選擇呢?
每一個國家/經濟體的經濟制度都有所不同,但可以被約略劃分成市場經濟體系、混合經濟體系和計劃經濟體系。這一篇我們就來介紹兩個最常被拿來做比較,也分別分散在光譜的最兩端的兩個制度
個體經濟學和總體經濟學相互用不同的角度來觀察經濟行為。個體經濟學專注在經濟層面中個體的行為。而總體經濟學在研究經濟時則是把經濟視作一個整體切入,使用國民收入、經濟整體的投資和消費等總體性的統計概念來分析經濟運行規律。
經濟學是一門研究人類在資源及預算有限的情況下如何作出選擇的科學,也就是說研究人類在面對稀缺性時會如何做出選擇的科學。這些選擇包含了日常生活購物、大學科系的抉擇…
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
NumPy 是 Python 語言的一個擴充程式庫,支援高階大規模的多維陣列與矩陣運算的數學函式函式庫。 NumPy 2.0.0 是自 2006 年以來的第一個主要發行版本,此重要版本標誌著 NumPy 發展歷程中的一項重要里程碑,為使用者提供了豐富的增強功能和改進,並為未來的功能開發奠定了基礎。
Thumbnail
這篇文章的目的是對Java程式設計語言進行介紹,包括它的特性、應用範疇、主要使用者,以及相關的學習資源和常見的庫與框架。此外,它也提供了一些學習Java的渠道,以及與Java相關的其他知識。
在一次五天的年假中,我決定開始學習Python編程。雖然最初進展順利,但後來發現自己在解題和邏輯方面遇到了困難。經過思考後,我決定轉而學習C/C++,並且制定了一個計畫,希望成為一名後端工程師。這將需要挑戰我的時間管理能力。
你正在學習編程,探索算法和數據結構,在這個過程中,你會遇到許多複雜的問題,比如如何分析算法的性能、如何證明算法的正確性,以及如何解決優化問題。這時,你會發現《Concrete Mathematics》是一個非常有用的資源。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
這幾年新出的語言都強打在少寫 code 和提高可讀性,更重要的是能更容易發展出 domain specific language,就這一點 Java 確實有點顯得疲態了。其實文中列的特性大多是一些語法糖衣,但對程式的可讀性和抽象度都能提昇不少,我覺得挺實用也很划算的。
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
Thumbnail
NumPy在圖像處理、機器學習、數學和統計學等領域中被廣泛應用。 以下是一些常見的應用場景: 數據處理和分析: NumPy提供了高效的多維數組(nd array)和相應的操作函數,使得對大型數據集進行快速、有效的操作變得容易。
Thumbnail
邏輯運算子 它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷和控制流程 在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好且要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋或燒烤都行,這就是or的概念。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
NumPy 是 Python 語言的一個擴充程式庫,支援高階大規模的多維陣列與矩陣運算的數學函式函式庫。 NumPy 2.0.0 是自 2006 年以來的第一個主要發行版本,此重要版本標誌著 NumPy 發展歷程中的一項重要里程碑,為使用者提供了豐富的增強功能和改進,並為未來的功能開發奠定了基礎。
Thumbnail
這篇文章的目的是對Java程式設計語言進行介紹,包括它的特性、應用範疇、主要使用者,以及相關的學習資源和常見的庫與框架。此外,它也提供了一些學習Java的渠道,以及與Java相關的其他知識。
在一次五天的年假中,我決定開始學習Python編程。雖然最初進展順利,但後來發現自己在解題和邏輯方面遇到了困難。經過思考後,我決定轉而學習C/C++,並且制定了一個計畫,希望成為一名後端工程師。這將需要挑戰我的時間管理能力。
你正在學習編程,探索算法和數據結構,在這個過程中,你會遇到許多複雜的問題,比如如何分析算法的性能、如何證明算法的正確性,以及如何解決優化問題。這時,你會發現《Concrete Mathematics》是一個非常有用的資源。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
這幾年新出的語言都強打在少寫 code 和提高可讀性,更重要的是能更容易發展出 domain specific language,就這一點 Java 確實有點顯得疲態了。其實文中列的特性大多是一些語法糖衣,但對程式的可讀性和抽象度都能提昇不少,我覺得挺實用也很划算的。
Thumbnail
先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
Thumbnail
NumPy在圖像處理、機器學習、數學和統計學等領域中被廣泛應用。 以下是一些常見的應用場景: 數據處理和分析: NumPy提供了高效的多維數組(nd array)和相應的操作函數,使得對大型數據集進行快速、有效的操作變得容易。
Thumbnail
邏輯運算子 它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷和控制流程 在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好且要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋或燒烤都行,這就是or的概念。