楼主: EchoEstelle
9643 29

[统计软件] 数学建模&Visio描述&R实现:市场研究领域和优化互联网、软件产品设计领域 [推广有奖]

11
lynette1991 发表于 2014-7-20 00:29:13
给个赞先

12
EchoEstelle 发表于 2014-7-20 02:39:04

预测统计模型(2)

step 10 :frequency mapafor mapaest mapacalc mapacomb mapaplot mapafit都是mapa包中能实现一部分算法功能的函数
             (1)frequency函数是stats中定义的,也就是说它就是一系列的数据里面,某个数据的频数。
             (2)mapafor是一个定义了很长的函数。
             (3)mapaest也是一个定义用了很长的函数。
             (4)mapacalc是mapafor中提到函数,也是独立定义的。
             (5)mapacomb和mapaplot是mapacalc中提到。
             (6)mapa手册中提到的mapasimple和tsaggr。
               -------------------------------------------------------------------------------------------------------------------------------------------
               我们需要逐一分析每个函数过程,以及每个函数在这个包中的作用。对于后者,我们需要换一种方法来了解,用现
               在的方法,感觉粒度太小了,见得树叶,不见森林,调整关注点的抽象程度,抽象程度上升一下。

               还有一点思考就是,一开始,我们是不是就应该首先问的是,mapa是什么,mapa的框架是什么,如果那样思考的
               话,我们会更快的学会这个东西吗?虽然,其他的细节的工作,我们也并没有白做,我们了解r代码的诸多细节。
               就像,用不同的两种判定方式填九宫格,一个看没个九格里是不是缺某个数,一个看一个小九格里是不是缺一个数。
               这与我们完成81格数格的目标并没有矛盾,我们不必要自责。

               但是同时,我们会想什么样的人是聪明的人,就是遇到了大问题,迅速的判断出,需要用大九格缺的数去判断,还
               是用小九格缺的数去判断,因为一个现实的问题肯定不是完成81格,这里所说的其实就是解决现实问题的效率问题。
               现实世界里能完成81格问题的是上帝啊!
               -------------------------------------------------------------------------------------------------------------------------------------------
step 11  开始使用mapa软件包

               现在回到问题的开始,mapa由Multiple Aggregation Prediction Algorithm缩写而成。
               我们去参考下mapa的手册里怎么描述的。

               看了手册,我们需要补上两个函数,mapasimple和tsaggr。
      
               R手册中详细描述了软件包中每个函数的定义方式,使用方式。 Arguments描述变元定义,Value描述值含义。
               Usage描述函数中变元和Value是如何排放的。这个手册放在每个软件包介绍页面的Reference Manual。耐心读懂
               使用手册是能有效使用函数包的最快捷方式,最需要读懂的是Description
               ---------------------------------------------------------------------------------------------------------------------------------------------
               mapa以及各种预测函数包要解决的问题
      
               mapa手册中介绍的admissions是什么意思?
               mapa包中会调用forecast中的内容。ensembleBMA函数包是用全体和贝叶斯模型平均做概率预测的。
               BootPR是做偏见纠正预测和自回归时间序列的辅助预测。
               我有信心对R中的预测主题给出一个轮廓。
               我们从手册给出的例子中看到,包调用的code是非常简单的,完成一组功能,三四行代码就能搞定。
               对一个函数进行描述时候,手册中会用到Wapper这个词,感觉,这类函数就不具有真正的功能。
               在读forecast的手册,感觉现在真正深入到,我想了解的问题的里面了。
               同时,我发现一些程序包是针对很具体的问题,那样的程序包对于别人还有意义么。
               -------------------------------------------------------------------------------------------------------------------------------------------
                时间序列的预测会有用

               就我自己接触到过的数据和现实,我觉得,线性的预测模型只能作为一种其他条件下的解决问题的工具,难道是因为
               麻木,知识领域太局限,没有见过很直接的很好的现实线性模型。现实中更多的数据可能需要用时间序列去预测,
               就社会领域内的数据,大家都知道,春、夏、秋、冬,地球公转一个年,月球公转,一个月度,社会生活中的人们
               结算一次工资,一个周次,大家休息两天,人们娱乐、工作的时间安排都受制这些自然的、宗教的规则,而且事实
               也是周一,周二,这样特定标示出来的天数,人们的行为也确实不一样。比如,去看游戏在线数据,有很明显的这
               样的基础规律。可能还有一些内在时间区间,不是这么被明显的规定出来,需要发现。季节项{St}。

               上面一段强调了时间序列的周期性,就拿一款游戏数据为例,随着市场环境的变化,它的各项数据会呈现出明显的
               趋势性,初始阶段成功的策略让市场接受了它,各项有效的运营工作让它贡献的在线人数、营收达到顶峰,强有力
               市场竞争者的出现让它的各项数据呈现下行趋势。当每个人成为某项东西的趋势影响者时,世界就显得充满了活了。
               在市场竞争中这一项是最重要的。如何让自己成为那个影响趋势的人,这个问题很有意思。趋势项{Tt}。
               
               当然含有很多因素影响你看到的数据,假设你都可以将这些东西纳入你的模型,如果能够对自己的预测的准确性有
               把握,这对策略调整是十分有帮助的,这一切都取决于你的模型是不是在坚实的现实基础之上。除去{St}{Tt},时
               间序列还有随机项。{Rt}

               所以,我的结论就是在社会领域内的预测,时间序列的预测是可以有用的。当然,还需要有效的信息细分。有效的
               细分分析会作为预测统计模型后面的下一个主题。时间序列分解就是找到Xt=St+Tt+Rt中的每一项,t(-1,2,3, ...
              --------------------------------------------------------------------------------------------------------------------------------------------
step 12 时间序列分析基本概念回顾
              为了把学过的概率统计概念都回顾起来,我觉得可以在一张图里面把他们之间的逻辑关系展示出来。
              相互关联的概念、定义用什么图比较好呢?
              我自己的兴趣十分广泛,记不清从那儿看来的一句话是说如果你对某一件事情感兴趣,那么你很有可能具备做某件
              事情很核心的能力,自己还没有发展出来,某件事情很厉害的能力,倒是发现了只要是用于交流的,看起来很高深
              的东西,描绘它们的词语都有十分确切的描述或是定义。在这里我想把概率统计相关的概念定义都梳理出来,方面
              自己学习,也请大家指正。
              概率统计下面依然有很多分支,那就先把问题都缩小到时间序列的范围之内吧。(待完成)
              回答开始的问题,用什么图比较好,初步看了下用SDL能表现复杂的逻辑过程,就用SDL画概念关系图吧。
              突然觉得,我好像达·芬奇啊,萌萌哒~
             概念快理清了,但是更重要的是,一些概念演进过程中的一些看起来很凑巧的东西,很凑巧的让一些概念很完美 ,   
           (比如,为什么AR(p),MR(q)是那样定义的),我 自己的推断是这种凑巧背后不是有学术,就是有应用上的需求,咱们
              尽量把他们阐明。用什么方式还在思考中。
              图一:时间序列的基本概念:
               TimeSeries Concept.bmp
             整理我的数理工具箱
             在概率统计里面,我们很熟知一些概念,期望,方差,相关性系数,就是所谓的统计性质,概念被开发出来的意义就
              在于使用,具有普遍的意义,比如期望,可以很简单的理解成平均数,也能是在概率条件下的一种值。突然发现自己
              这些概念的意义有些盲点,比如,参数的估计,不同的估计的方法,回归的方法,模型得到的过程,感觉这一套东
             西是有完整系统的方法论的,大家都知道到,在最初级的高中的统计知识里面有的概念,在进入高等数学以后,随着
             关注量变的复杂(矩阵、时间序列)各种各样的子学科都发展出来,我想做的事情是抓出,统计方法里面最重要的那
             部分,以时间序列分析为例,每种不同的分支会不一样,但是总归是有一样的地方。我们希望把它理清楚。各种各样
             的检验,各种各样的回归,各种各样的估计,各种各样的模型,应该如何选模型,选估计的方法,选回归的方法,选
             检验的方法,这都是想要做出可靠的模型必须回答的问题。我接下去想做的就是整理出一种逻辑,从问题领域变化,
             会导致我们选择的方法有什么变化,比如,到决策论里面,我们用的方法会有什么变,我们为什么会产生贝叶斯相关
             的一系列方法,就是觉得这里面是有很严格的逻辑的,要不然,多少辈的人们为啥要花精力去费神费力的研究这些东
             西。就从我自己研究一点经管里面总结出来的问题解决工具来看,很多的概念,像什么东西,像一个点和一个无穷大
            的集合体,比如,“竞争情报分析”的“三维分析法”将它分为了三块“市场”“能力”“时间”,“市场”下面又分出了“宏观”
            “中观”“微观”,等等,逐一详细的分下去,形成成套的分析方法。这里“竞争情报分析”扮演了一个点的角色。但是,
            可以肯定的是如果从另外的层面去看问题,比如对公司进行“财务分析”,“竞争情报分析”将扮演新的这种框架下低一
            些级别的点;所以总的来看,“竞争情报分析”这个概念可以被人自由的运用,它可以向克莱因瓶上的一个点,即在外
            面,也在里面。我这里强调的就是从应用的角度去观看概率统计的方法,理出一套套路,武术是有套路的吧,当然实
            战不能按套路来,我想得到的就是,理出这样一种东西,当你明白你面对的是一个小屁孩,你就不用准备多少老谋
            深算,理出这种东西不犯杀鸡用牛刀的错误。我可以举个很贴近实际的例子,你想知道某天付费用户的平均消费量,
            那么!在现在的技术条件下,你不用,选取一个样本,去估计整体的情况!同样,如果你面临的是要建立一个对响应
            时间有很高要求的高并发系统,就不能指望,不懂Paxos,或者,只是单枪匹马就能实现它。
            概率统计的四个套路逐一就是:抽样,估计,检验,决策。
             图二:概率统计的方法
(UML-Class)
              
              ---------------------------------------------------------------------------------------------------------------------------------------------
              我或者我的团队想做的预测
              
我觉得在时间序列Xt=St+Tt+Rt中最值得关注的是第二部分Tt,趋势部分。
              当我面临一个问题或者一种现象,我能够告诉客户,在这样这样的情况下适宜用(1)分段(2)回归(3)逐步平均
              中的哪种方式进行分段;在你现在这种策略下,将会怎样,在你新的策略下会怎样,会有多大的可能性。在某一种
              策略下你有可能损失多少,比如Y,我的模型显示就是这样的,我会在真实结果出来之前就告诉他这件事情,同时,
              我会告诉他,根据我的研究,如果依据我的某一种策略你将避免Y的损失,前提是我的策略的价值是5%Y,你得向我
              付费,于是你能避免95%Y的损失,你总是划算的;或者,如果采取这样的策略,你将未来的某段时间内增加收入
               X,前提是购买我的策略。
              我看了下学术界更关注的,就以时间序列为例,是Rt部分,显得不可捉摸,勾起他们好奇心的那个部分。              

step 13 forecast包和mapa包如何做时间序列预测的
               先说变元的意义:y是;ppy是时间序列的fh是预测期间;fh是预测期间,初始值ppyifh是更低一级别的预测期间
               初始值1;comb有两种值“mean”和“median”;conf.lvl是指置信水平用c(a,b)定义的; hybrid标示是否提供混合
               预测,如果minimumAL>1,minimumAL ETS就启用;minimumAL的意义是;MaximumAL的意义是;Paral的意义是;
               display的意义是;outplot的意义是;
               
               值的意义PI是对给定的置信水平作出的预测区间。MSE是mean squared error。MAE是mean absolute error。
               MSE和MAE都是再看预测值和真实值之间的距离,一个是平均的二次距离,后一个是平均的绝对距离。
               infor表示在预测值集合里面的实际值,outfor是没在预测值集合里面的实际值。对预测模型用三个维度进行
               分类,用函数model(XYZ)表示,X(- {A , M ,Z}、Y(- {N , A , Ad , M , Md , Z}、Z(- {N , A , Ad , M , Md , Z},
               其中,N代表None,A代表Additive,M代表multiplicative,Z代表automatically selected,d代表rtrend implies
               damped;其中,X表示错误类型,Y表示趋势的类型,Z表示期间的类型。
              
               GPL是什么意思?
               都是在学习别人的东西,当具备了什么之后,就可以独立做出自己的东西了呢?
               -------------------------------------------------------------------------------------------------------------------------------------------
               
我非我见我释我是我非我

13
warking 发表于 2014-7-20 06:53:14
看看                 

14
waltercen 在职认证  发表于 2014-7-20 08:11:54
LZ辛苦了,看完该帖涨知识了!

15
晨风Ivy 学生认证  发表于 2014-7-20 08:22:32
顶一个,支持楼主!

16
peyzf 发表于 2014-7-20 09:52:55
mark and see.

17
晏几道 发表于 2014-7-20 11:54:00
学习一下

18
Crsky7 发表于 2014-7-20 15:53:11
写得不错~

19
zgy_Russell 发表于 2014-7-20 20:22:46
great

20
liuqi413 发表于 2014-7-20 20:25:39 来自手机
EchoEstelle 发表于 2014-7-16 13:59
我现在只知道退火算法的名字,其他一应不清楚,但是想通过这个帖子很详细的总结出来,做一件长期的有益的事 ...
很好

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-2 10:12