JMP和Minitab的比较(二):简单回归分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JMP和Minitab的比较(二):简单回归分析
ZDNet 企业管理软件频道更新时间:2008-08-14 作者:来源:
本文关键词:统计JMP
上次看到有人以“基本统计分析”的应用为出发点对JMP和Minitab进行了真刀真枪的大PK,并且得出JMP在统计专业性和整体易用性方面远胜于Minitab的结论。笔者对该作者实事求是的风格颇认同,在此继续遵循这一原则,从另外一个常用统计“简单回归分析”的应用来再次比较JMP和Minitab到底孰优孰劣。
将相同的两列数据“X”和“Y”分别输入到最新版的JMP7和Minitab15中,想得到线性回归方程、含回归直线的散点图、回归检验报告以及回归直线的预测区间。
对比项目一:操作的便捷性。
JMP的操作路径为:主菜单Analyze > Fit Y By X,初始报告弹出菜单中的Fit Line,以及Linear Fit弹出报告中的Confid Curve Fit和Confid Curve Indiv等相关选项,得到的报表如图一所示;Minitab的操作路径为:主菜单Stat > Regression > Fitted Line Plot,Options中选择Display confidence interval和Display prediction interval,得到的报告和图形经整合后如图二所示。操作实现的时间没有明显的差异,但JMP的操作模式让人意识到操作步骤之间层层递进的关系,逻辑性强,而Minitab的操作则纯粹是靠用户用记忆力连接起来的一组相对独立的机械动作。
对比项目二:输出报表的整体效果。
JMP将统计分析结果和相关图形天然地整合在一起,用户查阅起来一目了然。而Minitab的统计分析结果显示在Session窗口,而相关图形又显示在另一个独立的Graph窗口中,查阅起来平添了几分麻烦。如果分析的数据、内容、次数一多,这种麻烦就更难忍受了。
对比项目三:统计分析的具体内容。
无论是回归方程的系数,还是R2、显著性检验P值等等,JMP和Minitab的输出结果都是一致的,这说明两种软件背后所遵循的统计原理其实都是一样的。如果观察得更仔细一些,你会发现JMP中的小数位保留得比Minitab更多,而且可以自定义,显得更精确、更专业一些。
图二Minitab的输出结果
对比项目四:统计图形的效果。
在回归分析的早期,只需要观察最基本的散点图,JMP和Minitab的图形效果差不多。但是到了回归模型的预测应用阶段,置信区间的显示至关重要,JMP可以通过“区间阴影化”的方式加深用户对预测模型的理解。相比之下,Minitab就相形见拙了。
如果要比较边际图的效果,两者的差距就更大了。JMP只需在原有的报表基础上再选择Histogram Borders就能完成,结果如图三所示。它既保留了原先预测区间的特征,又能实现其中散点图与直方图之间的动态链接,Minitab则要重新从主菜单中选择Graph > Marginal Plot,重新在一个新的Graph窗口才能完成,结果如图四所示。而且可惜的是,原先预测区间的特征消失了,图形之间动态链接的效果更是从来都无法体现的。
图三JMP的边际图
图四Minitab的边际图
对比项目五:统计分析的拓展性。
JMP和Minitab都考虑到了这一点,但无论是广度,还是深度来看,两者之间的差异都很明显。先看广度,除了两者都具备的功能外,JMP的回归报表中还整合了非参数拟合、样条拟合、分组拟合、特殊拟合和椭圆密度等丰富实用的内容,令Minitab望尘莫及。
即使是双方都涉及的内容,我们也可以挖掘其涉及的深度来观察两者的差别。以多项式回归为例,JMP最高可支持六次项,Minitab则仅为三次项。以保存数据为例,JMP不仅能够保存残差值和预测值,而且能够保存预测公式,Minitab则不具备保存公式的功能。诸如此类,举不胜举。唯一可以让Minitab挽回一些脸面的是它在进行残差分析的时候会比JMP稍快一些。
总结以上五项对比内容的结果,所有真正理解回归的人都会得到一个一致的结论:JMP在“简单回归分析”方面远胜于Minitab。这个结论的正确性在我们做一些简单的工作时可能会体会不深,但是随着分析问题的深入,这种感觉会越来越强烈地让人感受到。
同样,笔者愿以此文抛砖引玉,希望有更多真正理解统计、需要统计来进行质量管理、六西格玛项目的爱好者来交流切磋,共同提高。
k-折交叉验证(K-fold cross-validation)是指将样本集分为k份,其中k-1份作为训练数据集,而另外的1份作为验证数据集。用验证集来验证所得分类器或者回归的错误码率。一般需要循环k次,直到所有k份数据全部被选择一遍为止。
Cross Validation
Cross validation is a model evaluation method that is better than residuals. The problem with residual evaluations is that they do not give an indication of how well the learner will do when it is asked to make new predictions for data it has not already seen. One way to overcome this problem is to not use the entire data set when training a learner. Some of the data is removed before training begins. Then when training is done, the data that was removed can be used to test the performance of the learned model on ``new'' data. This is the basic idea for a whole class of model evaluation methods called cross validation.
The holdout method is the simplest kind of cross validation. The data set is separated into two sets, called the training set and the testing set. The function approximator fits a function using the training set only. Then the function approximator is asked to predict the output values for the data in the testing set (it has never seen these output values before). The errors it makes are accumulated as before to give the mean absolute test set error, which is used to evaluate the model. The advantage of this method is that it is usually preferable to the residual method and takes no longer to compute. However, its evaluation can have a high variance. The evaluation may depend heavily on which data points end up in the training set and which end up in the test set, and thus the evaluation may be significantly different depending on how the division is made.
K-fold cross validation is one way to improve over the holdout method. The data set is divided into k subsets, and the holdout method is repeated k times. Each time, one of the k subsets is used as the test set and the other k-1 subsets are put together to form a training set. Then the average error across all k trials is computed. The advantage of this method is that it matters less how the data gets divided. Every data point gets to be in a test set exactly once, and gets to be in a training set k-1 times. The variance of the resulting estimate is reduced as k is increased. The disadvantage of this method is that the training algorithm has to be rerun from scratch k times, which means it takes k times as much computation to make an evaluation. A variant of this method is to randomly divide the data into a test and training set k different times. The advantage of doing this is that you can independently choose how large each test set is and how many trials you average over.
Leave-one-out cross validation is K-fold cross validation taken to its logical extreme, with K equal to N, the number of data points in the set. That means that N separate times, the function approximator is trained on all the data except for one point and a prediction is made for that point. As before the average error is computed and used to evaluate the model. The evaluation given by leave-one-out cross validation error (LOO-XVE) is good, but at first pass it seems very expensive to compute. Fortunately, locally weighted learners can make LOO predictions just as easily as they make regular predictions. That means computing the LOO-XVE takes no more time than computing the residual error and it is a much better way to evaluate models. We will see shortly that Vizier relies heavily on LOO-XVE to choose its metacodes.