5を切り上げるか切り捨てるか(数値の丸め)
「図解入門 よくわかる最新分析化学の基本と仕組み」に対していただいたコメントが10ほどになりました。本を読んでいない人にもわかるように、一つずつこのブログで補足説明をしていこうと思います。
比較的単純なテーマから。今回は数値の丸めについて。
普通の四捨五入
「丸め」というのは、測定値などの最後の何桁かを切り捨てたり切り上げたりして少ない桁数の数値にする操作です。誰でも小学校で教わる「四捨五入」は丸めの一法です。四捨五入では、丸める桁の数字が4以下なら切り捨て、5以上なら切り上げ、0ならそのまま・・・ですね。
JIS Z 8401の規則A
ところが、四捨五入では困ったことがあります。それは、多数の数値を四捨五入によって丸めた場合、平均するとわずかに正の誤差が生じることです。
なぜなら、切り捨てられるのが1,2,3,4の4個、切り上げられるのが5,6,7,8,9の5個の数字なので、全体として切り上げられる場合のほうが多くなるからです。
そこで、数値の丸め方について定めているJIS Z 8401の規則Aでは「丸めた数値として偶数倍のほうを選ぶ」としています。どういうことかというと、例えば12.25を小数点以下1桁の数字に丸める場合は切り捨てて12.2に、同じく12.35を丸める場合は切り上げて12.4にします。この規則なら5は切り上げられたり切り捨てられたりするので全体として特定方向への誤差は生じません。
・・・ここまでが「図解入門分析化学」で書いていることです。
規則Aでは不都合な場合
しかし、規則Aでも不都合が起こることがあります。
「体温の測定値を整数に丸める」という処理を考えてみましょう。規則Aではこうなります。

一見して、36℃に丸められるデータのほうが37℃に丸められるデータより多いことがわかりますね。どうしてこういうことになるかというと、36は偶数で37は奇数だからです。このように、規則Aでは隣り合った数値どうしの重みに差がついてしまいます。
昨年当サイトで ご紹介 した「実験データを正しく扱うために」(化学同人編集部)では、このような場合に留意して第3刷から次のような補足が入ったそうです。
JIS Z8401の規則Aで定める方法で、単純な四捨五入(同 規則B)で生まれる正への偏りは防げるが、丸めた後、隣り合う数値の重みに差が生じるという欠点がある。数量の少ないデータ群やばらつきの小さいデータ群を処理するときは規則Bの方がよい。
規則Bとは、5を必ず切り上げる処理法、つまり普通の四捨五入です。
規則Bなら良いか
しかし、私などが大学の先生の書かれた本にもの申すのも何ですが、規則Bを使うと「正の誤差」という欠点は復活してしまいますよね。「規則Bの方がよい」と言ってしまってよいのでしょうか。
より合理的に解決するためには、体温計の例なら「小数点1桁の数字が5の場合、切り上げるか切り捨てるかはランダムに決める」という方法が考えられます。
この考え方は 端数処理 - Wikipedia に「乱数丸め」という言葉が出ています。この言葉について解説した匿名でないウェブサイトが無いか検索してみましたが、残念ながら私には見つけられませんでした。
データ処理に関する参考書
「丸め」ひとつをとっても上記のように奥が深いわけですが、「図解入門分析化学」では本文11行とイラストだけで要点のみ載せています。さらに詳しく勉強したい方は 正しくデータを扱うための本2冊(化学系) で紹介した本を目的に応じてお読みください。
どちらも売れ行きは好調なようで、「実験データを正しく扱うために」は3刷、「これならわかる 化学のための統計手法 正しいデータの扱い方」は先月2刷になっています。また、前者については充実したサポートサイト 実験データを正しく扱うために が開設されています。
体温計のイラストは下記サイトのフリー素材です。
フリー素材の来夢来人
追記 (2009/4/30)
「5を切り上げるか切り捨てるかランダムに決める」方法も必ずしも合理的でないことに思い至りました。
具体的にはコンピュータで乱数を発生させるなどして実施することになりますが、その過程を検証可能な形で残すことが困難だからです。また、同じデータを処理してもその都度結果が異なります。
JISの規則Aと規則Bは、あるデータから導かれる結果が一通りのみである点、規格名を示せば手順を記述する必要がない点など、他の方法より優位性があると思います。
Recent Comments