以 R 幫忙缺失值處理

python + R

要面對的數據是圖像類, 通常不會有缺失值問題, 但如果是表格式數據 (例如: 以諸如地段, 區域, 坪數, 等等屬性來預測房價; 或者時間序列型資料 (以前幾天的數據來預測股價), 很可能會有幾個數值沒採擷到或是遺失了. 除了將該筆數據忽略不用, 填補缺失值的技術也是一個選項.

在時間序列的資料型態, 缺失值問題會比較嚴重, 主要是時間序列本身就是由連續的幾筆數據組成, 缺失值發生機率就提高.

在Python 針對缺失值處理的套件稍微少一點, 相形之下 R 語言就有許多資源可以使用.

Impute in R, 資源相當多, 條列已經有採用過的:

ImputeTS, Uni-Variate Time Series Imputation

VIM, Visualization and Imputation of Missing Values

Amelia II, include Time series, or time-series cross-sectional data

Impute in Python 比較少, 對 Time Series 的缺失值補值也比較少. 常見的有:

Impyute,

fancyimpute,

scikit-learn impute

R 關於 Imputation 資源雖然多, 但因為我們重心還是以 Python, 系統安裝好 R 以後, 設定好執行路徑, 在 python 還需要安裝 python與R 橋梁:

pip install rpy2

然後我們就可以在 python執行 R. 假設我們要執行 R 的 imputeTS 這個套件, 我們需要進入 R 互動介面後, 安裝 imputeTS CRAN library

install.packages("imputeTS")

完成上述設置後, 我們就可以撰寫 python 針對 Univariate Time Series, UTS 的補值函數: