从广义的角度,数据分析分为三个方面体包括** ‘数据分析’,‘数据挖掘’,‘模型算法’**。
数据分析:偏重于数理统计,用统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论。
数据挖掘:指从大量的数据中通过算法搜索隐藏于其中信息的过程,一般这个过程是计算机来实现。最经典且流传已久的数据挖掘成功案例:"尿布与啤酒"的故事。
①业务逻辑清晰,指标明确。
例如:我要分析某网店营销情况,指标:销售额= 人均金额 X 人数,消费人数 = 浏览过的人数X 留存率
浏览记录人 = 平台面向的人群数X 进店比率
②可以转为恰当的数据,数学,统计问题。
③有足够的数据支撑。
④熟悉模型,分析方法的局限性:每个模型都有其局限性。
⑤从场景中来,到场景中去。
挖掘规律,验证猜想,进行预测
#数据获取途径
公开信息:上市公司年报,统计局信息,外部数据库;
非公开信息公司自有数据库,调查问卷,客户数据
保证数据可读性,数据完成性,数据唯一性,数据唯一性,数据合法性
#数据可视化
专业工具:tableau,plotly;
通用工具:excel,R,python
算法模型一般分为
1、有监督模型 回归分析,决策树,随机森林,GBDT
2、无监督模型 聚类,主成分分析
金融数据分析经常用以下这些模型算法
回归模型是指通过对数据进行统计分析,得到能够对数据进行拟合的模型,确定两种或两种以上变量间相互依赖的定量关系。
它与分类的区别在于其结果是连续的。包括线性回归与非线性回归。
(1)线性回归模型是假设自变量与因变量之间是一种线性关系,即自变量最高次是一次,然后使用训练集对模型中的各个参数进行训练学习,得到自变量与因变量之间的定量关系方程,最后将未知结果的实例代入方程得到结果,常用的算法是线性回归算法、L2正则的岭回归与L1正则的Lasso回归。
(2)非线性回归则相反,是假设自变量与因变量之间的关系是非线性的,即自变量的最高次是大于1的。常用的非线性回归算法有逻辑回归、softmax回归、神经网络、支持向量机以及CART等。若在回归结果上面加一层,则可以达到分类的效果。
其主要的作用原理是将线性回归模型产生的预测值通过Sigmoid函数转化为取值范围在0到1之间的类概率值,若类概率值大于0.5则判定为正类,小于等于0.5则判定为负类。Logistic回归的模型表示如下:
逻辑回归模型具有许多优点,比如无需事先假设数据分布、具有较好的数学性质利于求解以及模型求解速度快等。也正因为逻辑回归模型简单、强大的特性,其被广泛运用于解决诸如医学研究以及经济预测等二分类问题。
首先介绍一下决策树。
决策树是进行分类与预测的常见方法之一,它就是利用样本的属性建立一颗属性树。它按照一定的规则选择不同的属性作为树中的节点来构建属性和类别之间的关系。常用的属性选择方法有信息增益、信息增益率以及基尼系数等。
它采用自顶而下递归构建这颗属性类别关系树,非叶节点表示特征属性,树的叶子节点便是每个类别。
常用的决策树算法有ID3、C4.5/C5.0、CART等。这些算法的区别主要在于属性选择的策略、决策树的结构(如决策树中出现重复属性)、是否采用剪枝以及剪枝的方法、是否处理大数据集(即算法的复杂度,包括时间与空间复杂度)等。。
随机森林模型是一种集成学习算法,是对决策树模型的改进。使用决策树,常常出现过拟合的情况。随机森林就是多个决策树组成一个森林的模型。
随机森林以决策树作为基学习器,在训练过程中加入样本扰动和属性扰动,大大增强了每个基学习器的独立性,进而提升了模型的鲁棒性。与此同时,随机森林还具有运行速度快、对量纲不敏感等优点。
随机森林的具体实现步骤如下:
(1)确定基学习器的个数N,同时用M 表示总特征数量,n表示样本总量
(2)确定每棵树进行分裂的特征数m,这里m一般用M乘某个比例得到
(3)对样本总体有放回地抽取n个样本,共进行N次,产生N个训练集分配到各个基学习器
(4)从特征全集中随机抽取m个特征,共进行N次,产生N个特征子集作为各基学习器的特征全集。
(5)各棵决策树单独进行模型的训练
(6)由所有分裂后的决策树投票产生分类结果
梯度提升树也是一种基于决策树的集成算法,但和随机森林不同的是,梯度提升树模型通过采用加法模型,以不断减小训练过程中产生的残差为目的进行模型训练。虽然串行的方式会使得模型运行时间较长,但却可以得到较高精度的分类器。
人工神经网络模拟人脑的工作原理,使用节点之间的连接来模拟人脑中的神经元连接来进行信息处理的机器学习模型。
人工神经网络包括输入层、隐含层、输出层。这些层以此使用不同的权值进行连接,每个节点(神经元)都有一个激励函数,用来模拟人脑神经元的抑制与兴奋。
信息从输入层流通到输出层,并且使用训练集来学习网络中的权值,改善网络的效果。在分类中,首先使用训练集样本对网络中的参数进行学习,然后从输入层输入未知实例的特征向量,输出层的输出便是其类别。
常见的人工神经网络有:BP神经网络、RBF神经网络、循环神经网络、随机神经网络、竞争神经网络以及深度神经网络等。不同的神经网络用来处理不同的应用场景。
BP神经网络模型是人工神经网络家族中的一种有监督的算法,其拟合能力非常强,理论上可以逼近任意函数。一般而言,BP神经网络拥有三类神经元层,分别为输入层、隐层(可有一层或多层)和输出层,一个典型的BP神经网络可以下所示:
模型的训练目标是在空间中找到一个超平面,不仅要将不同类别的样本划分开,还要求对应的间隔尽可能的大。一个典型的线性支持向量机模型可以如下所示。
如果实际中并不存在能够正确划分训练样本的超平面(或者说训练样本并不是线性可分的),则可以将原样本映射到高维空间中,使之在高维空间中线性可分。同时,为了避免映射后可能存在的维度灾难问题,支持向量机利用核函数计算原变量变换后空间的相似度。
聚类分析是数据挖掘的重要研究内容与热点问题,也是计算机领域新算法出现最多,最快的领域,主要是因其不存在客观标准。
聚类便是按照某种相似性度量方法对一个集合进行划分成多个类簇,使得同一个类簇之间的相似性高,不同类簇之间不相似或者相似性低。同一类簇中的任意两个对象的相似性要大于不同类簇的任意两个对象。
从学习的角度来看,聚类中事先并不需要知道每个对象所属的类别,即每个对象没有标签进行指导学习,也不知道每个簇的大小,而是根据对象之间的相似性来划分的,因此聚类分析属于一种无监督学习方法,又被称为“无先验知识学习方法”。其目的是在数据中寻找相似的分组结构和区分差异的对象结构。
目前,聚类算法已经被广泛应用于科学与工程领域的方方面面,如在电子商务上进行消费群体划分与商品主题团活动等;在生物信息学上进行种群聚类,便于识别未知种群以及刻画种群结构等;在计算机视觉上应用聚类算法进行图像分割、模式识别与目标识别等;在社交网络上进行社区发现等;在自然语言处理中进行文本挖掘等。