自作したソフトで取得した数値データの数が多いので、何らかの計算をして生データから
データ数を減らすことをプログラミングで行いたいと考えています。
単純に減らすだけなら簡単なのですが、できるだけ「保証」というのでしょうか。
元データの特徴を残したままデータ量を減らしたいと考えています。
おそらくこういった類の問題は既知の方法があると思うのですが、
いかんせん自分では調べられませんでした。
なにか参考になる書籍やサイトを教えていただければ幸いです。
よろしくお願いいたします。
実際のデータの感じによりますが、ランレングス圧縮はどうでしょう。
http://homepage2.nifty.com/natupaji/DxLib/lecture/Press/press.html
上記の最初に出てくるものです。メジャーであり、直感的でもあると思います。
データ圧縮と言うものは、非常に複雑で奥が深い技術です。可逆圧縮・非可逆圧縮共に数多くの方式が存在します。
「元データの特徴を残したままデータ量を減らしたい」というお話ですので、おそらくは何らかの自然データの非可逆圧縮を考えているのかと思われますが、自然データの非可逆圧縮というものは、その対象となる自然データの特性を利用して圧縮しますので、どんなデータでも使えるような汎用的な方法というものは存在しません。
可逆圧縮方式であれば、元データを完全に復元できますので、どんなデータでも圧縮処理を行う事は可能です。しかし一般的に可逆圧縮方式は自然データに弱く、ほとんどサイズを縮小することが出来ません。
とりあえずWikiのデータ圧縮の項を読んでみることをお勧めします。
http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E5%9C%A7%E7%B8%AE#.E5.8F.AF.E9.80.86.E5.9C.A7.E7.B8.AE
「元データに戻らなくてもよい」ということなら、有効桁数を減らすことですね。
下の桁を四捨五入する。
コメント(0件)