这个算法的模型只适合有点规律的包含有周期分量的采集的数据,不适合pdf这样的数据,给的样本无法压缩。
zip和rar压缩的思想在于把数据中的重复部分用指针来代替,在对指针采取某种编码来达到压缩的效果,需要连续3个以上字节在以前出现过才能压缩。这是典型的字典压缩,所有的lz系列算法都属于这个范畴。
字典压缩对于采集的带噪声的数据是难以应付的,因为连续3个以上字节重复是很少出现的。
我这个算法呢,适合采集的数据,不是看重复的数据,而是根据已有的数据来预测下一个数据,来去掉数据之间的数值相关,那剩下的就是对不相关的噪声进行编码了。对于文本这样的数据,压缩效率反而不好,文本数据重复多,但每两个字节却没有数值上的相关性。
举个简单例子。
1,3,5,7,,,从前面4个数值可以推断下一个数据很可能是9,如果真是9,那这个9就可以删掉,数据就压缩了。同理从1,3可以推断下一个数是5,如果真是5,那下一个数就是7,因此描述1,3,5,7,9只需要1,3,以及3个删除符号就可以了,大概2.5字节。
字典压缩却无法处理,因为数据没有重复。必须等到下一次出现1,3,5时才可以压缩。
文本、单词等无法用这样的方式进行预测。
|