這些程式碼包含:
- 資料前處理
- 繪圖
- Bayesian linear regression model 計算
三大部份的程式碼,以下將分別列述。 由於原始資料需經過一定處理轉換才能使用,但細節較多且複雜,另獨立列述。
如果要跳過資料前處理,可以使用使用 101_境外學生總計_國別_ConsumerIndex.csv
link 作後續的繪圖與 model 計算。
所有的檔案可以一次下載,使用左方的 Download Gist 一連結。
-
101_大專校院境外學生在臺人數統計,教育部統計處 http://stats.moe.gov.tw/files/detail/101/101_ab101.xls 為求清楚、方便處理,重新命名並用新的 Excel 格式另存為
101_大專校院境外學生在臺(國別、校別).xlsx
-
Cost of Livings Index by Country, Numbeo 這邊使用 HTML 直接複製原始 102 個國家表格於 Excel 中,另存為
CSV
格式living_cost.csv
,見本 gist 後面檔案。 但由於許多國家的資料在 Numbeo 分別瀏覽時有,但在此表中沒有出現,故另行補上
以上的資料在處理時放在 dataset/
資料夾中,程式碼的相對路徑皆需要根據使用者設定作修改。
包含兩檔案:
parse_raw_data.ipynb
(open with nbviewer)living_cost.ipynb
(open with nbviewer)
使用 IPython Notebook 撰寫,檔名後連結為一個線上觀看 notebook 格式的網站。 裡面所儲存的程式碼使用 Python 語言撰寫。如果需要在本機端開啟並重新執行,需要安裝 Python 3.3.2 以及相關的套件:
- Pandas (提供向 R 的 data.frame 功能)
- Numpy 1.7+
- IPython 1.0+
- pygeocoder
- geopy
在非 Windows 系統上安裝,以 Ubuntu 舉例
# Python 3.x dependcies
sudo apt-get install build-essential git xz-utils \
libncursesw5-dev libreadline-dev libssl-dev libgdbm-dev \
libc6-dev libsqlite3-dev tk-dev
# Install Python 3.3.2
cd /tmp
wget http://python.org/ftp/python/3.3.2/Python-3.3.2.tar.xz
tar Jxvf Python-3.3.2.tar.xz
cd Python-3.3.2
./configure
make
sudo make install
# Install setuptools
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
sudo python3 ez_setup.py
sudo easy_install-3.3 pip
# Install Numpy
sudo apt-get install liblapack-dev libatlas-base-dev gfortran
sudo pip-3.3 install numpy
# Install IPython
sudo easy_install-3.3 ipython[all]
其餘套件均可以使用 sudo pip-3.3 install <package_name>
方式安裝。
就可以使用 ipython notebook
執行相關的程式碼
繪圖的程式碼較複雜,故另外獨立出來。主要有兩程式碼
display_distance.R
: 距離相關的繪圖display_livingcost.R
: 消費指數相關的繪圖
需要安裝像 ggplot2, gridExtra, googleVis
等套件。
- Full model (把 4 個 X 放入計算):
full_linear_reg_model.R
- Model selection:
model_select.R