有効数字の決め方にもやもやとしたものを感じる人のための説明

教育用の覚書。今後も加筆、修正する予定。注釈に結構、いろいろと書いている。
スプレッドシート(Excelのような表計算ソフト)を用いた計算例は有効数字の求め方の例題:パチンコ玉の直径をノギスで1回だけ測って体積を求める - あらきけいすけの雑記帳に書いた。

有効数字とは、有効数字を求める趣旨

まず有効数字とは「(何かを)はかる」ことに伴うもので、「このはかりではここまで値が分かる(これ以上の細かいことはわからない)」ということを示すもの。(だから何をどう測ったのか分からない数値だけが書かれた理科の計算問題で、有効数字を求めようとする神経が分からない。)
有効数字を求める趣旨はその測定で知り得たことと知り得ないこと(知り得ない数を書くことは、読者をミスリードするという悪事だ)をはっきり区別し、エビデンス(はっきりと知り得たこと、証拠、根拠)を蓄積することである。知り得たことと知り得ないことの境目を「測定の不確かさ」といい、客観的な数値で表すことができる。

有効数字 significant figures (有効桁数 significant digits)とは測定で得られた値のうち、0でない数の最上位の桁から測定の不確かさ uncertainty*1 の桁までのこと。
参考文献:テイラー, 『誤差解析入門』. 原著:Introduction To Error Analysis: The Study of Uncertainties in Physical ... - John R. Taylor - Google ブックス p.13〜p.16 を参照せよ
したがって中等教育とくに大学受験でやらされるような「有効数字の計算法」は、不確かさとその取扱い方についての説明が無いので原理的にはニセ科学*2であり、大学受験が済んだら早急に忘れるべきである。

有効数字の桁数の決め方

X の有効数字は、原則として次の手順で決める

  1. X の測定の不確かさ \Delta X を確かめ、上位1桁(場合によっては2桁)に丸める*3
  2. X の数値を不確かさ \Delta X と同じ桁に丸める
  3. 測定結果を「 X\pm\Delta X [単位] 」の形に記述する

したがって計測結果の一番小さい桁には測定の不確かさに伴う曖昧さがある。

桁の丸め方、揃え方の例題

例えば速度を測定してデータ処理をした結果、v = (8.14256 ± 0.00312){\rm m/s} という値を得た場合、不確かさは上位1桁に丸めて 0.003, 測定値はこれと同じ桁に丸めて 8.143 にし、v = (8.143 ± 0.003){\rm m/s} とする。

不確かさの記述がない測定値の扱い

そんなデータは原則的に無意味なデータで価値はない(これはMITのWalter Lewinの授業の受け売り)。
よくあるタイプの記述として「X=2.342.335\leq X\leq2.345 の範囲にあると考えられる」に類する説明があるが、

データが 2.335\leq X\leq2.345 の範囲にあることがはっきりしているならば、原則として X=2.340\pm0.005(すなわち有効数字4桁)と記述すべきである。逆にX=2.34なら下1桁の"4"(あるいは2桁の"34")が不確かさを含む、すなわち値がぶれる可能性がある数値と考える(下記の桁数の検証はこの考えに基づく)。

測定機器の表示と不確かさ(いわゆる直接測定)

アナログ機器の場合:測定値 X は最小目盛の 1/10 まで読み取る(これを内挿法という)。不確かさ ΔX の値は最小目盛の 1/10 の大きさが妥当であろう。
デジタル機器の場合(1):デジタルテスターで電圧を計測するような測定機器の応答が悪く、測定値が時間的に一定であると期待される場合は、デジタル機器内部のD/A変換のタイムラグ等を考えて、表示のすべての桁ではなく、表示が安定しなくなる1〜2桁までを読み取り、その値の範囲から測定値と不確かさを決める。
デジタル機器の場合(2):測定機器が精密で内部で処理が行われている場合、時間変動をする対象の場合は、表示をそのまま測定値として採用し、機器の精度について別途、考察して不確かさを決める。

計算式と不確かさ(いわゆる間接測定)

測定結果 X\pm\Delta X, Y\pm\Delta Y, ... を計算式 f(X,Y,...) に代入して求める場合の不確かさの計算の原則は、

\delta x, \delta y を測定量 X, Y の誤差とするとき、不等式 −\Delta X\leq\delta x\leq\Delta X, −\Delta Y\leq\delta y\leq\Delta Y, ... の下で、誤差の式 \Delta f(x,y,...) := f(X+\delta x,Y+\delta y,...) - f(X,Y,...) の最大値、最小値を求め*4、最上位1桁を求める。
実際の計算はスプレッドシート(Microsoft Excel とか OpenOffice.org calc とか Google Driveスプレッドシートとか)で力任せに代入しまくって計算すればいいので、中学や高校でも授業ができる(「紙と鉛筆」にこだわり過ぎる学校の先生はIT音痴のバカ)*5。理論的には f(X+\delta x,Y+\delta y,...)テイラー展開*6、展開の1次の項を評価する(これは大学教養くらいの知識)。f(X+\delta x,Y+\delta y,...)-f(X,Y,...) =\frac{\partial f}{\partial X}(X,Y,...)\delta x + \frac{\partial f}{\partial Y}(X,Y,...)\delta y + ...より、不確かさは\Delta f(\delta x,\delta y,...) = \left|\frac{\partial f}{\partial X}(X,Y,...)\right|\left|\delta x\right|  + \left|\frac{\partial f}{\partial Y}(X,Y,...)\right|\left|\delta y\right| + ...と見積もられる。*7不確かさで必要な値は最上位1〜2桁なので、テイラー展開の2次以降の項は、多分、計算するだけ時間の無駄である。

Google検索で上位にくるページの計算を検証する

2010年10月16日午前4時頃の「有効数字」の Google 検索結果の上位10件の積、商の絡む有効数字の計算をテイラー『誤差解析入門』の方法に従って再計算してみた。不確かさの計算は「提示された数値のもっとも小さい桁の値に±1の不確かさを含む」として、テイラー展開の1次の各項の絶対値の和を用いた(これは不確かさの評価としては過大評価ぎみになる計算である)。大学のサイトだった場合、大学名のみを記したが、もちろん「その大学全体が悪い」という意味ではない。

結果は「たいていの記述で有効数字が一桁足りない」ようである。不確かさを過大評価してもなお、有効な桁を無駄に1つ削ってしまっている。しかも大半が大学の理系学部の教育用資料である。

  1. Wikipedia 有効数字
    積、商の絡む計算の記載なし
  2. 神奈川歯科大学 http://www.kdcnet.ac.jp/college/buturi/kougi/buturiji/appendix/signif.htm
    例題:1.3m×2.12m=2.8m2
    f(X,Y)=XY なので Δf=|Y||ΔX|+|X||ΔY|, ΔX=0.1, ΔY=0.01 で計算すると
    測定結果=2.756±0.225=2.8±0.2
    …結果を小数第1位まで取るのは妥当
  3. 東京学芸大学 http://topicmaps.u-gakugei.ac.jp/phys/exp/titles/sigfig.asp
    例題:4.23×0.38=1.6 [単位なし]
    f(X,Y)=XY なので Δf=|Y||ΔX|+|X||ΔY|, ΔX=0.01, ΔY=0.1 で計算すると
    測定結果=1.6074±0.0461=1.61±0.05
    …結果を小数第2位まで取るべき
  4. 高校物理講義ノート http://www15.wind.ne.jp/~Glauben_leben/Buturi/Riki/YuukouSuuji.htm
    例題:4.23×0.38=1.6 [単位なし]
    上に同じ
  5. 物理学解体新書 http://www.buturigaku.net/main02/Report/Reports063.html
    積、商の絡む計算の記載なし
  6. 京都大学 http://kuchem.kyoto-u.ac.jp/ubung/yyosuke/uebung/sig_digit.htm
    あらきの出身学部がこんな記述を出しているとはね…
    1. 例題:3.6 × 2.574 = 3.6 × 2.6 = 9.4
      f(X,Y)=XY なので Δf=|Y||ΔX|+|X||ΔY|, ΔX=0.1, ΔY=0.001 で計算すると
      測定結果=9.2664±0.0261=9.27±0.3 …結果を小数第2位まで取るべき
    2. 例題:6.88×3.03×0.761 = 15.9
      f(X,Y,Z)=XYZ なので Δf=|YZ||ΔX|+|XZ||ΔY|+|XY||ΔZ|, ΔX=0.01, ΔY=0.01, ΔZ=0.001 で計算すると
      測定結果=15.8641104±0.0962615=15.86±0.10
      …不確かさの最上位が1なのでテイラーの記述に従って不確かさを2桁とると、結果を小数第2位まで取るべき
    3. 例題:8.75 ÷ 8.77 = 1.00
      f(X,Y)=X/Y なので Δf=|1/Y||ΔX|+|X/Y2||ΔY|, ΔX=0.01, ΔY=0.01 で計算すると
      測定結果=0.99772±0.00228=0.998±0.002
      …結果を小数第3位まで取るのが妥当
    4. 例題:8.79 ÷ 8.77 = 1.00
      f(X,Y)=X/Y なので Δf=|1/Y||ΔX|+|X/Y2||ΔY|, ΔX=0.01, ΔY=0.01 で計算すると
      測定結果=1.00228±0.00228=1.002±0.002
      …結果を小数第3位まで取るのが妥当
    5. これは「有効数字の暗部」ではなく、「桁そろえの表面的な技法に終始して、計測値のきちんとした処理を教育しないという暗部」であろう。京大理学部なら1年生前期でテイラー展開を使って不確かさとその扱いを解説してもついてこれるはず。
    6. こんなクイズが最後にある
      4.14を10倍することを考えましょう。この時4.14を10回足すならば、有効数字の取り扱いの原則からして、結果は41.40と4ケタになり、掛け算だとみなせば、結果は3ケタで、41.4です。どちらがもっともらしいでしょうか?またそれはなぜですか?
      もちろん訊き方が曖昧でいわゆる「フレーム問題」になっているから、正解は「どちらの考え方も、それがもっともだと思えるような不確かさの計算の文脈がある」である。
  7. 新潟大学 http://www.gs.niigata-u.ac.jp/~kimlab/lecture/numerical/muldiv.html
    途中の誤差計算は妥当なのだが…
    例題:一辺が 12.3456 cm、もう一辺が 7.4 cm の長方形の面積を求めよ。
    f(X,Y)=XY なので Δf=|Y||ΔX|+|X||ΔY|, ΔX=0.0001, ΔY=0.1 で計算すると
    測定結果=91.35744±1.2353=91.4±1.2 …不確かさの最上位が1なのでテイラーの記述に従って不確かさを2桁とると、結果を小数第1位まで取るべき
  8. あまのがわ http://www.geocities.jp/milkyway_amanogawa/number.pdf
    途中の誤差計算は妥当なのだが…
    例題:10.4m×7.4m=77m2
    f(X,Y)=XY なので Δf=|Y||ΔX|+|X||ΔY|, ΔX=0.1, ΔY=0.1 で計算すると
    測定結果=76.96±1.78=77.0±1.8 …不確かさの最上位が1なのでテイラーの記述に従って不確かさを2桁とると、結果を小数第1位まで取るべき
  9. 桐蔭横浜大学(?) http://www.cc.toin.ac.jp/tech/elec/ft25/step1-1.htm
    積、商の絡む計算の記載なし
  10. 早稲田大学 http://www.okochi.env.waseda.ac.jp/pdf/H20significant_figures.pdf
    例題:「1.61x2.434/0.23456」を計算すると,「16.70677…」となる.この場合は,最小の有効数字である「1.61」に有効数字を合わせて「16.7」と表示する
    f(X,Y,Z)=XY/Z なので Δf=|Y/Z||ΔX|+|X/Z||ΔY|+|XY/Z2||ΔZ|, ΔX=0.01, ΔY=0.001, ΔZ=0.00001 で計算すると
    測定結果=16.70677...±0.11134...=16.71±0.11
    …不確かさの最上位が1なのでテイラーの記述に従って不確かさを2桁とると、結果を小数第2位まで取るべき


書きかけ
2019.4.24: はてなブログへの移行を機に数式部分を\LaTeXに書き換え始めた。

*1:

「不確かさ uncertainty」は国際計量用語集 International Vacabulary of Metrology に記されている専門用語である。測定結果を X±\Delta X, 例えば 1.23±0.05mm と書いたときの 0.05mm の部分。この部分は「誤差 error」ではない。
参考: http://www.iso.org/sites/JCGM/VIM/JCGM_200e.html
ちなみにMITの物理学の授業では「不確かさが分かっていない測定は無意味」ということが盛んに強調されている。http://www.youtube.com/watch?v=PmJV8CHIqFc https://www.youtube.com/results?search_query=physics+walter+lewin+lectures+unints+dimensions

*2:測定という自然科学の基本操作に関して「科学のようなフリをして科学ではないもの」という定義に一致していると思われる。参考:http://www.cm.kj.yamagata-u.ac.jp/lab/pseudoscience/ps-comments
問題視したいのは「正確な定義を教えないこと」ではない。受験勉強の場面で学習者が「桁揃えの技法」にばかり関心を持っており、大学入学後もおそらくその意識、関心の水準に留まっていることと、Google検索上位のページを見ると大学教員の作成したサイトですら不確かさの扱いと「桁揃えの技法」が乖離したページだらけであることである。

*3:テイラー『誤差解析入門』には「不確かさは最上位1桁、最上位が"1"の場合は2桁」とあって、このエントリもそれに従って計算している。学生実験では測定機器が校正が怪しげなものさし、はかりの類なので、不確かさの有効数字は1桁でもいいかなという気がする。しかし、精密な測定では、不確かさを2桁とるのが標準的である。例えば万有引力定数はG=6.674\,08(31)\times10^{-11}{\rm m^3kg^{-1}s^{-1}}である(括弧表記の意味は6.674\,08\pm0.000\,31)。

*4:ただし誤差がランダムに入ると期待される場合、この計算法は不確かさを過大評価している。

*5:2013.3.18に加筆

*6:テイラー展開 - Google 検索

*7:これは値として過大評価になっている。誤差がランダムに入ると期待される場合、テイラー展開の1次の各項 \left|\frac{\partial f}{\partial X}(X,Y,...)\right|\left|\delta x\right|, \left|\frac{\partial f}{\partial Y}(X,Y,...)\right|\left|\delta y\right|, ... が互いに独立なランダム変数であると仮定して、不確かさを次式で評価する

\Delta f = \sqrt{\left|\frac{\partial f}{\partial X}(X,Y,...)\right|^2\left|\delta x\right|^2 + \left|\frac{\partial f}{\partial Y}(X,Y,...)\right|^2\left|\delta y\right|^2+...}