一、神经网络算法
用于预测是非常好的方法,难以用来作解释;过度学习会造成预测能力下降;标准化或归一化是为了提供运算速度,不是消除量纲
1、算法介绍
ANN(artificial neural network)是由大量的简单基本元件组成,每个元件的结构和功能比较简单,但众多的神经元组合所产生的系统却非常复杂。在统计上它是一种智能的判别过程,对变量类型没有太多的要求,可以有效地识别事物的不同特征及其模式,如不完全的信息、复杂的非线性特征等。神经网络模型可以近似多种预测模型,线性的回归模型,广义线性的 logistic 模型,并可以逼近各种复杂的非线性结构,具有良好的预测功能,不过该模型的缺点是目标与预测变量间的关系不易确定。
2、预分析
2.1 需要关注缺失值、异常值、共线性、特征选择、过拟合、变量变换、分箱化七项信息
2.2 缺失值
神经网络惧怕缺失值,主要原因是缺失值对网络的干扰比较大,不管是自变量还是因变量存有缺失,则会导致整个网络无法利用缺失数据,所以数据丢失很严重,需要在模型之前填补缺失数据。
2.3 异常值
神经网络学习数据信息随网络复杂度的变化而定,如果网络复杂度越高,学习数据局部信息的能力就会越强,而数据局部信息和异常信息往往是对应的,异常、随机误差都会被神经网络当成有用的信息加以学习,而这些信息将导致模型在预测功能上表现很差,所以,尤其是在数据库质量较差的情况下,几乎每次神经网络建模都要判断模型的过拟合。其实异常值导致的过拟合,经验认为是神经网络过拟合的最频繁的原因。
2.4 共线性
共线性在传统模型上的表现使模型系数估计的误差成倍增加,而神经网络不存在系数估计问题,自然也不存在这种误差,但是共线性会导致网络结构变得极其复杂,放大共线性变量间的作用,而且最重要的是其复杂的网络结构使模型计算量呈指数级增加,这是问题其一;其二,有经验认为共线性也会导致过拟合,所以仍需重视。
2.5 特征选择
神经网络每增加一个自变量,计算时间将呈指数级增加,并且自变量间的结构变得更为复杂,而且这种关系很容易导致维度灾难问题。一个是时间问题,一个是列为灾难,这是特征冗余所引起的问题,因此如何控制自变量则变得很重要,通常此处使用的特征选择包括回归类的筛选技术、主成分压缩和相关分析等。
2.6 过拟合
判断过拟合问题可以从数据的列、行和模型三个角度。数据列维的复杂度和共线性会导致过拟合、数据行的不足和包含了异常信息的冗余行也会导致过拟合、算法的复杂度本身,如网络结构的复杂度调整,令其足够复杂也会导致过拟合。
2.7 变量变换
变量变换,这里是指非最优变换技术,包括对数变换、标准化变换等内容。在小数据中,我们有阐述变换的目的如对数变换,往往是为了消除异方差,满足正态分布等问题,而大数据也使用对数变换,但其目的可不是为了异方差、正态分布,而多数情况都是为了提高运行速度。
2.8分箱化
小数据很少使用分箱化,而大数据的明星算法神经网络,自然也离不开这一预分析。神经网络过拟合的主要原因是异常值和局部随机误差,尤其是强异常,一般可行的处理方案是约束其异常权值或直接进行分箱,如果能够有效分箱,不但可以消除异常,还可以控制误差并提高模型的运行速度,可谓一举两得
3、SPSS如何实现神经网络算法
多层感知器(常用这个,专门跑纯数据的)和径向基函数(专门用于跑文本、图像数据,比如人脸识别技术)
3.1 多层感知器
因变量(输出层):Y,可放多个Y用于分析多个y的关系
因子(输入层):放入分类变量
协变量(输入层):放入连续变量
体系结构(隐含层):可以根据需求调节层数
若ε=y值-y的预测值=0,说明原有知识匹配;若ε=y值-y的预测值>0,需提高正输入链(或降低负输入链)权值;若ε=y值-y的预测值<0,需降低正输入链(或提高负输入链)权值;
SPSS的数据大小区分:大数据是几亿行以上,小数据是几十万以内,中大小数据是百万以上一亿以下。
分区:
训练集(train,50%的数据):用来建立模型,需要查看R方
测试集(test):用来评估模型,也需要查看R方,与上面的R方相减的到ΔR方(用于判断是否过拟合,小于等于5%才可行,大于等于10%过拟合了)
验证集(ralid):用来避免过拟合现象,数据量是少于测试集的,不宜过多
得分集(score):真正的测试集数据,用来预测未来的(SPSS是在导出中实现)
正态化重要性图解:
小数据:值小于0.1需要删除这个变量
大数据:值小于0.05需要删除这个变量
增益图解:
找拐点,拐点是最优决策点,是给决策层解释用的
效益图解:从增益图中找出拐点后,在此图找出对应位置,用来向主管解释能提升多少倍用的
二、决策树算法
主要是用于解释,用于决策优化,重点是决策树过程,一般是和神经网络算法一起使用。树的深度不宜超过6个(不含根),必须用交叉验证,需要把连续变量分组处理。
1、定义
决策树是一种智能分类与回归的方法,具有结果可读性强、分类速度快、处理大量交互效应等优势。决策树学习算法一般包括 3 个步骤:特征选择、决策树的生长和剪枝。
决策树生长过程,包括节点(node)和有向边(directed edge),其中节点包括根节点、内部节点、叶节点,如积分卡是根节点、收入(或客户类型,或购买特征)是内部节点、长方形内容是叶节点,一般来说叶节点表示一个类、内部节点表示特征或属性。
2、预分析
2.1 缺失值
决策树不怕缺失值,,并提供非常丰富的缺失值处理算法,如 c5.0 算法、分类法等
2.2 异常值
决策树本身就是一种异常值处理的技术,异常值分析归属于市场细分领域。
2.3 变量变换
变量变换,这里是指非最优变换技术,包括对数变换、标准化变换等内容。
决策树本身对结构性问题要求很严格,因为解释业务规则或关系都依赖于对具体变量及取值的解释,如果变换变量,则这一优势很难保证。
3、特征选择的方法
引入熵和基尼系数,越小越好。
4、SPSS决策树操作
选项:错误分类成本窗口定制数据的修改需要与业务专家确定好,是要精确设置的;利润窗口是用来分析各客户群价值,数据不要去特别精确
验证:必须选择交叉验证,样本群数可以修改
条件:可以设置节点数
4.1 节点的增益摘要内容解读:最上面就是根据利润中填写的数据分析出的最优决策情况(或者是促销推荐人群)
4.2 风险和分类一起解读
风险中重新代入的估算值+分类中总体百分比=1
风险中交叉验证的估算值/交叉验证标准误差的值大于1.96,说明误差大
三、时间序列算法
1、时间序列数据特点:行与行间相关,是均匀分布的,不能直接用统计学方法分析,需要进行转换
2、把时间序列数据做稳定性变换方法有X均值的差分变换和S的对数变换
3、时间序列分析分类
长期效益趋势:用的少,研究确定性模型
短期效益趋势:用到多,一般用arima模型,研究随机确定性模型
周期季节性趋势:分析周、月、季度、年等趋势情况
白噪声分析:分析误差
4、模型
AR(p)模型:, 服从白噪声序列;
MA(q)模型:,服从白噪声序列;
ARMA(p,q)模型,服从白噪声序列
ARIMA(p,d,q)模型,在arma模型上加入 d (表示差分)
5、时间序列分析步骤
6、模型选择依据
7、SPSS实现时间序列
时间数据一定要使用定义日期和时间转换为SPSS可识别的时间序列数据
分析→时间序列预测,建模用创建传统模型,用序列图判断X均值和S是否稳定
arima步骤:
①、打开序列图,查看X均值和S是否稳定
差异值系统默认是1,若改为2,是原数据相邻相减后获得的新数据再做一步相邻相减
②、把不稳定的X均值和S变换为稳定的
X均值:作差分变换
S:作对数变换
③、建立自相关分析图
分析→时间序列→自相关
④、解读自相关分析数据
根据ACF和偏ACF两个图分析选择AR(n)、MA(n)、ARMA(p,q)三者哪种模型
⑤、建立arima模型,把第四步中解读获得的p、q值代入模型中,看R方和白噪声检测数据
方法中有指数平滑(长期效益模型)和ARIMA(短期效益模型),都含有季节性模型
模型统计是看残差数据,若显著性大于0.05,是说明残差不相关,模型是可用的,与回归是反着分析的
⑥、预测未来3期数据(如3秒、三分钟、三小时、三天、三个月...)
四、大数据分析和小数据分析区别