データ・サイエンティストは可視化の夢を見るか?

Does Data Scientist Dream of Visualization?

美は細部に宿る——然は然りながら………

おはようございます。
世に『美は細部に宿る』と申します。
そして、その細部に敏感な人が業績を残す、と仰る方もいます。
ですが、その人のデジタル機器の扱い方は雑で、きちんと設定をしてないので、それだけ高精度のデータを取り扱えていなかったりします。
こういうのを「ザル」というのです。

だって、コンピューターで扱えるのは基本的に浮動小数点という離散表現であるんですから。
Machine Epsilon 以上に高精度のデータというのは記録すらできないんですね。
ふつう、いまどきの PC は倍精度浮動小数点ぐらいの計算はできるし、それを倍々精度にすることも容易にできますが、入力するデータ自体の記録精度がそれなりならば、いくら計算で工夫しても一定以上の有効数字桁数が期待できるはずもありません。でも、そういう指摘をしても、ああだこうだとその場で理屈をこねて躱してしまう『馬の耳に念仏』であるならば、そんな先生のもとからは立ち去るほうがいいですよね。


たとえばですね、いまどきの PC は 64 bit です。これって凡そ 1844 京階調の計算が可能になります。いや、倍精度浮動小数点を使うとして、指数部と仮数部(と符号)に分かれて、仮数部には約 52 bit が割り当てられているとします。そうすると、有効数字 16 桁程度の精度は期待できる訳です。

ところが現代主流の録音機器で .wav 形式の音声を録音したとします。サンプリング・レートは 96k とか 192k に設定したとしましょう。でも、ビット深度の上限は 24 bit だったりするんですね。つまり凡そ 1678 万階調しか表現できない訳です。フルに使っても有効数字でたった 8 桁程度です。


さらに、二十数年前ならいざ知らず、いまの開発環境の組込関数は単体テストで徹底的に検証され、自作するより余程高度な計算をしていたりするはずです。
そうであるかないかは(組込関数はブラックボックスとして取り扱われていることが多いので)自作関数と計算結果や実行速度を比較・検証することでしか確認できません。
なんで『数値解析』という分野が進展せざるを得なかったかという話になれば、もうちょっといろいろな必然があります。


ですが、これ以上あれこれ語るのは止しましょう。
私もわたしの学習がありますから。