什么是统计建模
统计建模是以计算机统计分析软件为工具,利用各种统计分析方法对批量数据建立统计模型和探索处理的过程,用于揭示数据背后的因素,诠释社会经济以及自然现象,或对经济社会以及自然发展作出预测或判断。预测和判断是我们做数据分析的首要任务,这里所讲的模型,是指对于某个实际问题或客观事物、规律进行抽象后的一种形式化表达方式,狭义的是一种回归模型,构建回归模型的过程就是回归分析,但是做了回归分析不一定就能得到回归模型,或者说会得到好的回归模型,完整的回归分析包括模型的构建和评价。
回归分析是一种预测建模技术的方法,研究因变量(目标)和自变量(预测器)之前的关系。这一技术被用在预测、时间序列模型和寻找变量之间因果关系。在回归分析中有解释变量(自变量)和响应变量(因变量)之分,所以是一种非对称的分析方法。
构建模型有两种方式,归纳推理或者演绎推理。演绎法基于现有的理论,而归纳则是完全依赖数据的。我们统计学家大部分时间做的回归分析都是一种归纳推理,其难点在于确切的模型形式是未知的,可能有无数种模型可以产生相同的数据,在统计学中,这个问题是通过引入随机误差项来处理的。在模型中把本次数据不能拟合的部分放到随机误差项中,一个合格的模型,随机误差项,应该是符合随机分布的。
一旦模型确定了,模型的评估很大程度上就是基于对模型误差或者说残差(观测数据与模型预测值之间的差异)的研究。
建模四原则
1、选择建立什么样的模型对如何发现和解决问题具有重要的影响。就是说选择正确的模型。
2、每个模型可以有多重表达方式
3、最好的模型总是能够切合实际
4、孤立的模型是不完整的
为什么要建模
人们之所有建模,是因为他们需要一个解释。
怎样统计建模
构建模型的一般步骤:明确问题、收集信息、模型假设、模型构建、模型求解、分析。其实在这个过程中我们隐隐约约也能感受到统计建模其实和统计学习(机器学习)的关系,在统计学习中某个统计学习方法有三个要素: 模型、策略、算法。
在构建模型之前我们凭借学术传统对手中的数据有了一个基本的模型假设和判断,比如它是线性模型还是多项式模型,很多时候需要我们展开探索才能确定模型的基本表达式。有了这个表达式(模型),接下来就是确定模型的参数。每种模型的构建用的策略和算法是不同的。所谓的策略就是选择合适模型参数的过程,往往是确定一个评价函数求函数的最值。所谓的算法就是模型的具体计算方法,如何求解最有模型,一般有两种方法,一种是构建的函数有解析解,但是有时候这个-解并不存在,需要有另一种方法:模拟(或者蒙特卡洛)依旧是一个归纳一个演绎。
可以实现的软件:Spss,EXCEL,SAS,EViews,R,Python,Matlab
统计建模与机器学习
统计建模高高举着比自己漂亮的孩子--机器学习。首先他们俩是继承与发展的关系,其次他们有着不同的应用场景。关于他们的区别与联系这篇文章是必读统计建模和机器学习的区别之我见。文章并不长,我们就粘这里好不好??
统计建模和机器学习的区别之我见
作者:Oliver Schabenberger,SAS CTO
最近我多次被问到统计(尤其是统计建模)、机器学习和人工智能之间有何区别。其实这三者之间在目标、技术和算法方面有很多重叠的部分。引起困惑的原因不仅仅是因为这些重叠部分,也是因为我们被很多非科普文中的时髦词儿给迷惑了。
统计建模
统计建模最基本的目标是回答一个问题:哪一种概率模型可以产生我所观察到的数据?因此你必须:
- 从一个合理的模型群里挑出候选模型
- 预估未知变量(参数,Aka拟合模型到数据中)
- 比较拟合模型与其他备选模型
举个例子,如果你的数据需要计算,例如流失客户数或者细胞分裂数,那么泊松模型(Poisson)、负二项模型或者零膨胀模型(zero-inflated model)都可能适用。
一旦某统计模型被选定,那预估模型将用于测试假设、创建预测值以及置信测量。预估模型将成为我们解析数据的透镜。我们从未宣称选定模型就能产生数据,但是我们能观察它基于某验证推理在随机过程所获取的合理近似值。
验证推理是统计建模的一个重要部分。举例而言,要决策到底是哪一种或者哪三种医疗设备可以让病患获得最好的治疗,你也许会感兴趣使用一个模型,该模型能捕获某种数据机制来判断该病患在接受不同治疗所获得的不同结果。如果某个模型可以很好地捕获数据产生机制,那么其也可以在那些被观察数据区间内做出很好的预测,甚至可能预测出新的观察结果。
经典机器学习
经典机器学习是一种数据驱动型技术,受模式识别启动,专注于回归算法和分类算法。其潜在的随机机制通常并没有作为最首要一项关注点。当然很多机器学习技术也能通过随机模型和回归计算来定义,但是数据并不被认为是由其模型直接生成的。因此,最重要的关注点是识别到底是执行哪项特定任务的算法还是技术鉴定(或者集成方法):也就是说客户到底最好被分段于K(数据集群或聚类),还是DBSCAN,或者是决策树,或者是随机森林,又或者是SVM?
简而言之,对统计人员来说模型是第一位的,对机器学习者而言,数据是第一位的。
因为机器学习的终点是数据,而不是模型。将数据分离出来去做训练集和测试集的验证技术(鉴定方法)是很重要的。一个解决方案的质量高低并不仅仅依赖p-值,而是需要证明这个解决方案在以前不可见数据中是否表现良好。将一个统计模型拟合到一个数据集,或者将一个决策树训练成一个数据集,将会需要融合一些未知值的预估值。该决策树的最佳分割点取决于从属变量的条件分布参数的预估值。
对我而言,没有什么技术被证明可以自我学习。训练才是成型某种学习的必要过程,换句话说,这意味着要获取一项新的技能技术,训练就是学习的一部分。训练深度神经网络取决于输入数据的权重和偏差,如果它学习分类,而该网络就变形成为一个分类器。
现代机器学习
机器学习系统如果不是编程去执行一个任务,而是编程去学习执行一项任务,那么这就是一个真正的学习系统,我把这叫做现代机器学习。就像经典机器学习的变体,这也是一个数据驱动型的实践。但不一样的地方是,现代机器学习不仅仅是依赖于丰富的算法技术,几乎所有的这类机器学习的应用都基于深度神经网络技术。
这个领域我们现在倾向于称它为深度学习,一种机器学习的细分,经常应用于人工智能,也就是说让机器去执行人类的任务。
数据扮演什么角色?
现在我们可以通过数据所承担的角色来区分统计建模、经典机器学习和现代机器学习。
在统计建模里面,数据引导我们去选择随机模型,来形成对不同问题概率的抽象表达,例如假设、预测和预报。
在经典机器学习里,数据驱动的是对分析技术的选择,如何最佳地执行即将任务,这是数据训练算法。
在现代机器学习里,数据驱动基于神经网络算法的系统,去学习具体任务,系统可以自动判定数据常量规则。在训练神经网络数据的过程中,系统逐渐学习到执行任务,就像某人所说:“是数据在做编程。”