あらきけいすけの雑記帳

2010-10-13 (Wed)

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

教育用の覚書。今後も加筆、修正する予定。

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

有効数字を求める趣旨はその測定で知り得たことと知り得ないこと(知り得ない数を書くことは、読者をミスリードするという悪事だ)をはっきり区別し、エビデンス(はっきりと知り得たこと、証拠根拠)を蓄積することである。知り得たことと知り得ないことの境目を「測定の不確かさ」といい、客観的な数値で表すことができる。

有効数字 significant figures (有効桁数 significant digit)とは測定で得られた値のうち、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 の測定の不確かさ ΔX を確かめ、上位1桁(場合によっては2桁)に丸め
  2. 量 X の数値を不確かさ ΔX と同じ桁に丸める
  3. 測定結果を「 X±ΔX [単位] 」の形に記述する

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

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

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

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

そんなデータは原則的に無意味なデータで価値はない。

よくあるタイプの記述として「 X=2.34 は 2.335≦X≦2.345 の範囲にあると考えられる」に類する説明があるが、

データが 2.335≦X≦2.345 の範囲にあるならば、原則として X=2.340±0.005と記述すべきである。

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

アナログ機器の場合:測定値 X は最小目盛の 1/10 まで読み取る(これを内挿法という)。不確かさ ΔX の値は最小目盛の 1/10 の大きさが妥当であろう。

デジタル機器の場合(1):デジタルテスターで電圧を計測するような測定機器の応答が悪く、測定値が時間的一定であると期待される場合は、デジタル機器内部のD/A変換のタイムラグ等を考えて、表示のすべての桁ではなく、表示が安定しなくなる1〜2桁までを読み取り、その値の範囲から測定値と不確かさを決める。

デジタル機器の場合(2):測定機器が精密で内部で処理が行われている場合、時間変動をする対象の場合は、表示をそのまま測定値として採用し、機器の精度について別途、考察して不確かさを決める。

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

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

x, y を測定量 X, Y の誤差とするとき、不等式 −ΔX≦x≦ΔX, −ΔY≦y≦ΔY, ... の下で、誤差の式 Δf(x,y,...) := f(X+x,Y+y,...) - f(X,Y,...) の最大値、最小値を求め*3、最上位1桁を求める。
実際の計算はスプレッドシート(Microsoft Excel とか OpenOffice.org calc とか Google Drive のスプレッドシートとか)で力任せに代入しまくって計算すればいいので、中学高校でも授業ができる(「紙と鉛筆」にこだわり過ぎる学校の先生はIT音痴のバカ)*4。理論的には f(X+x,Y+y,...) をテイラー展開し、展開の1次の項を評価する(これは大学教養くらいの知識)。
f(X+x,Y+y,...)-f(X,Y,...)=(f,x)(X,Y,...) x + (f,y)(X,Y,...) y + ...
(ここで (f,x):=∂f/∂x, ...) より、不確かさは
Δf(x,y,...) = |(f,x)(X,Y,...)| |x| + |(f,y)(X,Y,...)| |y| + ...
見積もられる。*5不確かさで必要な値は最上位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位まで取るべき

書きかけ


*1

f:id:arakik10:20101016211630j:image
「不確かさ uncertainty」は国際計量用語International Vacabulary of Metrology に記されている専門用語である。測定結果を X±Δ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

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

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

*4:2013.3.18に加筆

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

Δf = √( |f,x|2|x|2 + |f,y|2|y|2 + ...)

kimikimi 2010/10/21 15:27 実用上、自乗和の平方根よりもテーラー展開の一次のほうが使い易い(実際、掛けたり割ったりしなきゃあならないような二つの量の誤差に相関がないことなんて滅多に無いからね。)ので、講義でもテーラー展開の一次までで誤差のestimateをすることだけを教えてるわけだが、あらきさんの書き方だと何か特別なestimationの方法と、特別なルールがあって、それを使わないといけないと主張しているかのように誤解されかねないよ。この話の結果は「積商の相対誤差はもとの相対誤差の和」っていうそれだけのこと。このことさえわかってもらえればよい。
有効桁(有効数字)だけの議論だと、同じ絶対誤差0.1でも、9.9の相対誤差だと1%程度なのに、1.0の相対誤差だと10%になってしまう。だからちゃんと絶対誤差だけでなく相対誤差を考えようねって話。
それじゃあ、誤差1%の1.00…は1.00±0.01で誤差9%の9.00…は9.00±0.81なのかっていうと、
まず9.00±0.81の最後の1にはあんまり意味が無いよねえ。そこで9.0±0.8と書こう。
1.00±0.01のほうはもう少し厄介で、
たとえば4.30…の2.1%は0.0903、2.4%は0.1032だからといって
誤差2.1%の4.30…は4.30±0.09
誤差2.4%の4.30…は4.3±0.1
ってのはどうなのよ。これは4.30±0.10の方がいいんじゃないか、
ということ。Talerは控えめに"perhaps a 2"と書いてるけど私は±0.25ぐらいまでは全然違和感がない。
まあ、単にあらきさんの書き方だと「ムツカしいこと」だと捉えられてしまうんじゃないかとおもっていらないことを書いてしまったけれど、云いたいことは同じ。というかもっと過激で。
「積商の相対誤差は相対誤差の和」っていう単純なことも教えられておらんのか?!
ということ。有効数字のprocedureと同じく単にprocedureだけ教えるならテーラー展開もいらないのに。

arakik10arakik10 2010/10/22 06:31 kimi さま
コメントありがとうございます
相対誤差でまとめるのは、考えたけど書きませんでした(もともと「覚書」ですし)。というのも相対誤差だけでシンプルに書けるのは1次式の積のときだけで、物理学実験に出てくるボルダ振子モデルなんかだと、結構、導関数の式も面倒な形になっちゃいますね。「コンピュータリテラシー2」の授業で(筆算 and/or Maple, Excel)で2週かけて演習したけど。
今回は「積、商」の計算を取り上げたけど、それはGoogle上位の不確かさ評価のページのサンプルで扱った題材では「積、商」以上に複雑なモデル式が無かっただけのことです。
実際、不確かさ評価は大学初年次以上でないとついてこれない難しいことだと思いますよ。ただ「大卒」以上のはずの学校(特に大学)の先生がいい加減なページを書き飛ばしているのは、当人がダメというよりは、日本の tertiary education レベルの科学教育のダメさ加減を示しているような気がしますね。

ちゅんたちゅんた 2013/03/18 10:06 「不確かさ」を計算するとした場合,書きかけの絵を見てみると測定値の確からしさみたいなので,平均値の標準誤差(Standard error of mean)で良いのでしょうか?それとも標準偏差?分散?

ちゅんたちゅんた 2013/03/18 10:07 追記:正規分布だった場合という事にしておいてください。

arakik10arakik10 2013/03/19 04:22 ちゅんたさま、コメントありがとうございます。

>「不確かさ」を計算するとした場合,書きかけの絵を見てみると測定値の確からしさみたいなので,平均値の標準誤差(Standard error of mean)で良いのでしょうか?それとも標準偏差?分散?
>追記:正規分布だった場合という事にしておいてください。

多分、対象の性質によって計算が変わると思います(ボク自身も計測のプロではなく、教科書やウェブで勉強をしている身です)。
各測定が正規分布的でランダムな測定値を出すと思える場合には、そう仮定して、分布の標準偏差を推定して出すようです。
特定の区間内の値を一様かつランダムに取ると思えるもの、例えば目盛の1/10の精度で目分量で内挿して読むときなどは、その分布を前提に標準偏差を推定して出すという風にやるみたいです。

月曜日月曜日 2017/11/18 14:36 生物系学部に属する大学生のものです.
このページを読ませていただいて有効数字のモヤモヤが少し改善されました.

私の学部のある教員は「どんな計算でもデータの中で最小の有効数字の桁数に合わせればいい」と教えています.

関数が異なれば誤差の出方も異なるから,その都度計算する必要があるという認識でよろしいでしょうか?

arakik10arakik10 2017/11/19 10:06 月曜日さま
> このページを読ませていただいて有効数字のモヤモヤが少し改善されました.
月曜日さまのお役に立てて光栄です。

> 私の学部のある教員は「どんな計算でもデータの中で最小の有効数字の桁数に合わせればいい」と教えています.
いくつかの測定量の組み合わせの話と思いますが、量の加減算か乗除算かで扱いが変わるのですから、ひどくレベルの低い話ですね。このエントリでは乗除算を扱っていました。加減算だと量 X+Y に不確かさが入るので X+ΔX + Y+ΔY になりますから、ΔX と ΔY の内で大きい方で不確かさの評価が決まるはずです。

> 関数が異なれば誤差の出方も異なるから,その都度計算する必要があるという認識でよろしいでしょうか?
その通りです。代入される関数毎にきちんとテイラー展開をして評価します。

月曜日月曜日 2017/11/26 11:34 arakik10様

回答ありがとうございました.スッキリです.
有効数字の話に限りませんが,生物系ではデータの処理などの統計的な部分が軽視されているような印象があります.実験で有意差が出たところにはみんな興味を持ちますが,果たしてその検定が適切なものなのかなどはあまり議論になりません(ある程度はありますが).もっと生物系にも統計学や数的処理に関する考え方が浸透していくといいなと思います.

トラックバック - http://d.hatena.ne.jp/arakik10/20101013