日前預測分析與其應用都極為火熱,垃圾郵件,單詞補全,推薦引擎,分類等等;R和Python作為目前全世界數據科學家最常用的兩種語言,有著很多適用于不同建模技術和應用場景的擴展包。今天我們來認識下用R來做預測分析。首先我們來看看預測分析建模的大致過程.。
明確任務,獲取數據之后,我們選取第一個模型,需注意的是沒有什么最好的模型,所以在一開始我們只要用一個簡單的模型,例如在分類問題上選用樸素貝葉斯或者邏輯回歸,使用簡單的模型我們得到一個初始的性能,然后再不斷的探索和改進。而且類似于“有多少特征對結果有貢獻”這類有用的問題也能在擬合簡單模型的過程中得到答案。
處理缺失數據之前我們需要區分不同的缺失值機制,理想情況下是隨機完全缺失(MCAR),這種情況下缺失值的出現是獨立于它們所屬的特征以及其他特征的真實值;隨機缺失(MAR),缺失值可能會和其他特征相關當然還有非隨機缺失(MNAR)。缺失值的處理方法有很多,比如較少缺失值:拋棄數據;猜測或估算缺失值(kNN是一種辦法)。
模型里采用的特征數量和類型是在預測建模過程中最重要的選擇,高維數據由于維度數量的原因會導致覆蓋所有特征取值的可能組合范圍極大的增長,難以搜集到足夠的數據為訓練過程提供有代表性的樣本;特征工程有兩類:1.增大特征空間,2降維(PCA)。
作為預處理步驟的一部分,我們會盡力的取出互相線性相關的特征。共線性是指兩個特征近似線性相關,處理共線性常用的方法有:兩個變量合并為一個或者直接去除其中一個特征。多重共線性是指線性關系涉及多于兩個特征的情況,我們可以計算其方差膨脹因子來檢驗。R中我們可以使用car包里面的vif()函數去查看VIF大于10的特征有極大可能存在多重共線性。