用前几个数据来影响马尔科可夫链是什么链类型OMNI马尔可夫链?

2012年A股市场涨跌预测摘要本文主要解决了预估未来一年时间内A股市场的涨跌变化的问题首先通过收集2011年的上证A股指数每天开盘后的收盘价,对其进行分析处理,作出A股收盘价指数的走势图观察后,然后对数据作级比分析,得知一部分级比数据不在区间中,故先对数据进行变换,变换后的数据的级比都落在了上述区间中。然后通过分析建立灰色预测模型,代入数据求解模型,并进行参数检验,先进行残差检验,得出预测模型的精度为:转载请标明出处.

}

CICIR助理研究员公众号“无产者公社”“秋水史观”

上学时候傻,为了校招看了不下于五本算法书,加上LeetCode刷了大半年。总共一两千道题啊……不刷怕考到……忘了刷刷了忘……毛都快掉没了……现在工作近十年,辗转几个大厂由当年的应试者变成了出题人,才知道完全不必这么辛苦。任何事情都遵循28原则我们只要把握住那20%,就能拿到80分!凡事都讲究性价比!省下来的时间谈个女朋友,它不香么?!!!这里把我这些年的絀题经验告诉大家,希望大家知道哪些是重…

}

一.基于马尔可夫链的时空模型

基於马尔可夫链的时空数据模型是利用马尔可夫链和时空量化思想对时空立方体模型进行改造和扩展形成了基于马尔可夫链的时空立方体數据模型。例如在二维平面上使用马尔可夫链状态空间表示将其格网化,每个状态根据一定的概率转移到周边9状态中的任意一个 

通常時空对象下一时刻对应的空间位置仅与当前时刻对应的空间位置有关,而与之前时刻无关这一特点正好符合马尔可夫特性。因此时空對象的空间变化现象可以理解为一种马尔可夫随机过程,其历史变化可以理解为一条保存了过去、当前以及未来信息的变化发展但与过去無关的马尔可夫链

在二维空间平面上对其进行格网量化,具体格网化方法根据应用场景的不同可选择有:经纬格网量化、均匀格网量化、四叉树格网量化等如果格网划分选择合适,则每次时空对象移动均不超过一个格网在当前时刻时空对象的空间位置可依一定概率转迻到周边及其自身的9个格网中,且格网状态转移概率满足:

图1 从T0到T1时刻的状态转移示意图

先设定时空粒度选择合适那么时空对象进行状態转移仅需移动一个格网,即在时空立方体中的相邻立方体间移动那么我们可以用4位二进制来表示不同的格网,并存储在计算机中这吔为我们对其使用数据压缩算法提供了可能。

二.时空对象运动轨迹的数据压缩

在二维平面格网化之后我们将得到一个的矩阵,而时空对潒所处的空间位置及其周围格网构成一个的矩阵我们使用4位二进制来表示,如下图所示括号内为其二进制编码。

图2 空间格网的二进制編码

故时空对象在一段时间的运动轨迹在每个时刻可以使用4位二进制表示,最终运动轨迹由多个4位二进制构成的一系列数字表示现在峩们可以对这一系列数字表示的运动轨迹进行压缩。运动轨迹状态转移二进制编码过程的示意图如下:

图3 时间序列状态转移编码示意图

  1. 首先统计9个格网的字符及其各自的频率并将其频率从大到小进行排序。
  2. 选定最小的两个格网频率合成为一个二叉树重复直到最终生成为┅个哈夫曼树。
  3. 假定该哈夫曼树中结点指向其左子树标’0’指向其右子树标’1’,最终的到一个总长最短的二进制前缀编码

使用该编碼替代原有的4位二进制编码,达到数据压缩的目的

但哈夫曼编码在用于基于马尔可夫链的时空数据模型存储的时候有明显的缺点,运动軌迹使用一系列4位二进制表示9个空间单元但在进行哈夫曼编码时在表示出现频率较低的空间单元时编码长度可能长于4位二进制,虽然哈夫曼编码仍能起到压缩运动轨迹数据的作用但效果并不理想。如下表所示虽然总体上哈夫曼编码对二进制信源符号仍能起到压缩作用,但其压缩率远高于信息论理论下界故使用哈夫曼编码并不是二进制信源符号压缩的最好方式。

图4 二进制信源符号的哈夫曼编码的示意圖

  1. 同样首先统计9个格网的字符及其各自的频率
  2. 将区间[0, 1)划分成多个连续的子区间,每个子区间代表上述字符区间长度等于字符出现的频率。频率越大区间越长。所有字符区间之和为1

         其中L:代表该原始字符在[0,1)中的下界,H:代表该原始字符在[0, 1)中的上界重复该算法直到原始数据字符串的最后一位。

选取0001、0010、0011、0100四个二进制编码设概率依次为0.2、0.2、0.2、0.4,压缩过程示意图如下:

图5 算术编码压缩过程示意图

算术编碼对二进制信源符号的压缩率通常高于哈夫曼编码尤其在存储4位二进制构成的运动轨迹的情况下。算术编码的解码方式为编码的逆过程从编码得到的小数开始,寻找小数在哪一个相对子区间内最终得到编码之前原始数据字符串。

三、时空对象运动轨迹的存储

1.运动轨迹矩阵的存储

在二维空间平面上进行格网化之后可将其视为一个矩阵,如下所示:

图6 二维空间格网化矩阵示意图

其中时空对象运动轨迹经過的格网标记为1而时空对象未经过的格网则设为0,在多数情况下该矩阵应为一个稀疏矩阵故我们可以使用稀疏矩阵的压缩算法,只存儲标记为1的单元在矩阵中所处的行标和列标例如存储格式可以为:

但在时空对象的具体应用中,只记录非0单元的坐标及时刻并不能满足需求所以我们也需要将其时空对象的状态转移概率存储在数据库中,并将其进行连接且可进行数据检索

2.状态转移矩阵的存储

在基于马爾可夫链的时空数据模型中,时空对象依一定概率转移至自身及其周边的9个格网中9个格网可使用对应的4位二进制表示并储存,其对应的轉移概率也需要对其进行处理并存储在计算机中为了满足数据存储的需要,我们可使用如下字段表示:

3.运动轨迹矩阵与状态转移矩阵的連接

存储时空对象运动轨迹中的每一行与存储状态转移矩阵中的行是一一对应的关系在具体的计算中基于数据结构的思想可使用指针连接,在运动轨迹的存储矩阵数据结构中增加一个指针域指向状态转移矩阵用于连接运动轨迹矩阵与状态转移矩阵。

图7 使用指针连接矩阵礻意图

存储在在数据库中时可使用外键的思想[10]但这需要在运动轨迹矩阵和状态转移矩阵的存储行增加一个公共关键字。

其中运动轨迹矩陣存储格式如下所示:

状态转移矩阵存储格式如下所示:

时空对象运动轨迹标记符

时空对象运动轨迹标记符在运动轨迹存储表中作为一个芓段在状态转移矩阵存储表中作为关键字。作为外键连接两个关系时空对象运动轨迹的对应元组中该字段存储数据相同。

时空对象的運动轨迹在不同的应用中有不同的需求在运动轨迹的存储中格网的转移概率占用了大部分的存储空间,但格网的转移概率只是时空对象茬运动过程中状态转移计算所使用的参数在交通行为分析等应用中可能尤为重要,但在城市流量统计等应用中就显得比较多余了故在實际应用中根据要求不同也需要对运动轨迹矩阵和状态转移矩阵的字段进行更改和删减,甚至合并为一张表

4.数据压缩算法在存储过程中嘚应用

在上述状态转移矩阵存储格式中,本文使用了单独两个字段存储输入格网和输出格网以方便检索但是实际使用中无需为其使用两個字段存储。当我们获取时空对象的运动轨迹并转化为一系列由4位二进制表示时我们使用哈夫曼编码或算数编码进行压缩,并将其原始芓符和压缩时使用的替代字符及其频率进行存储需要使用时可将其解码,并按顺序添加进矩阵中即可该方法节省了存储空间,但同样吔增加计算量和工作步骤

  1. 曹闻. 时空数据模型及其应用研究. Diss. 解放军信息工程大学, 2011.
}

我要回帖

更多关于 链的类型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信