日前预测分析与其应用都极为火热,垃圾邮件,单词补全,推荐引擎,分类等等;R和Python作为目前全世界数据科学家最常用的两种语言,有着很多适用于不同建模技术和应用场景的扩展包。今天我们来认识下用R来做预测分析。首先我们来看看预测分析建模的大致过程.。
明确任务,获取数据之后,我们选取第一个模型,需注意的是没有什么最好的模型,所以在一开始我们只要用一个简单的模型,例如在分类问题上选用朴素贝叶斯或者逻辑回归,使用简单的模型我们得到一个初始的性能,然后再不断的探索和改进。而且类似于“有多少特征对结果有贡献”这类有用的问题也能在拟合简单模型的过程中得到答案。
处理缺失数据之前我们需要区分不同的缺失值机制,理想情况下是随机完全缺失(MCAR),这种情况下缺失值的出现是独立于它们所属的特征以及其他特征的真实值;随机缺失(MAR),缺失值可能会和其他特征相关当然还有非随机缺失(MNAR)。缺失值的处理方法有很多,比如较少缺失值:抛弃数据;猜测或估算缺失值(kNN是一种办法)。
模型里采用的特征数量和类型是在预测建模过程中最重要的选择,高维数据由于维度数量的原因会导致覆盖所有特征取值的可能组合范围极大的增长,难以搜集到足够的数据为训练过程提供有代表性的样本;特征工程有两类:1.增大特征空间,2降维(PCA)。
作为预处理步骤的一部分,我们会尽力的取出互相线性相关的特征。共线性是指两个特征近似线性相关,处理共线性常用的方法有:两个变量合并为一个或者直接去除其中一个特征。多重共线性是指线性关系涉及多于两个特征的情况,我们可以计算其方差膨胀因子来检验。R中我们可以使用car包里面的vif()函数去查看VIF大于10的特征有极大可能存在多重共线性。