実験データを正しく扱うために
化学同人編集部編
2007 12/20 第1版第1刷発行: 2010/3/1 第4刷(加筆改訂を含む) 前田,山本,加納著データ解析の意味を理解しないでパソコンで計算して
も意味がない。以下の本でちゃんと勉強しよう?
1 • R. A. Millikan ミリカン 水滴の蒸発 大学院生H. Fletcher 水滴を油滴に 博士論文単名 140の観測のうち49個除外 データ削除油滴実験 Regener がもともとThompsonの実験室(Cambridge Univ.)でお こなっていた。 F. Ehrenhaft 副電荷 との 論争 勝利 • 1923年ノーベル物理学賞メンデル できすぎていた実 験 助手の庭師がメンデルの理論に合わせるようにカウ ントしたのかもしれない? • 科学の罠,過失と不正の科学史,アレクサンダー・コーン 著 酒井シヅ+三浦雅弘訳 工作舎 1990 序論:誤差解析 何のために? 2
こんな時君ならどうする?
• 明日の朝までにデータを出すように言われた。 (物理的に不可能な状況) • Positiveなデータが出ない場合,今後の**に多大な 影響がある。 • 忙しい指導教員は,途中の過程をほとんど見ず,結果 だけを重要視する。 • 実験については,自分以外に詳しいものがいない。 • データでおかしな点がある? 捨てるべきか否か? • 再現性がない。Best dataのみを採用すべきか否か? 統計的な処理をすべきではないのか? 身近なことかも?有効数字
有効数字その2
5有効数字その3
6データ処理: 実践
データの棄却・エラーバー・有効数字:
☞ エクセル
(重み付き)最小二乗法
☞ Gnuplot
真の値がわかっている場合。系統誤差、ランダム誤差も明確に定義できる。 J. R. Taylor (林、馬場 訳)計測における誤差解析入門、東京化学同人, 2000. p.101-102図4・1より転載。明確に定義できる真の値が未知の一般的な測定においては、 系統誤差は明らかでない。 J. R. Taylor (林、馬場 訳)計測における誤差解析入門、東京化学同人, 2000. p.101-102図4・2より転載。
射的を
除くと
9 10 0.7 0.6 0.5 0.4 0.3 0.2 6 5 4 3 2 1 data numberデータの棄却
0.7 0.33 0.15 0.19 0.25 0.28データ番号データ値 Q test 1 0.7 0.67棄却 2 0.25 3 0.15 0.07棄却せず 4 0.33 5 0.19 6 0.28 和 1.9 平均 0.317 最大値 0.7 最小値 0.15 データ数 6 Q test 0.56 = ¦0.7-0.33¦ / (0.7-0.15) = ¦0.15-0.19¦ / (0.7-0.15) 13
平均値とエラーバー
データの再現性
日経サイエンス2009年3月号 pp.92-107 「巨大加速器実験,日米の闘い」より 「CPの破れを99%の確率で発見 した」というには,中心値がゼロ でなく誤差がその中心値の1/3で なくてはならない。 14平均値
データ番号 データ値 1 0.25 2 0.15 3 0.33 4 0.19 5 0.28 和 1.2 平均 0.240 最大値 0.33 150.240 ?
or
0.24 ?
16実験回数をこなしてないのに
再現性を評価できるのか?
どこまで手抜きできるのか?
少ない実験回数で正確に
再現性をもとめることができる?
Studentのt分布
17Studentのt 分布に基づくエラーバーの求め方
平均値
標準偏差
18表:t
N-1(z%)
自由度 N-1自由度 N-1 標本数 N標本数 N ttttN-1N-1N-1N-1(z%), z%:(z%), z%:(z%), z%:(z%), z%:信頼度信頼度信頼度信頼度 68.3% 90% 95% 99% 1 2 1.837 6.314 12.706 63.657 2 3 1.321 2.920 4.303 9.925 3 4 1.197 2.353 3.182 5.841 4 5 1.141 2.132 2.776 4.604 5 6 1.110 2.015 2.571 4.032 6 7 1.090 1.943 2.447 3.707 7 8 1.077 1.895 2.365 3.500 8 9 1.066 1.860 2.306 3.355 9 10 1.059 1.833 2.262 3.250表:
t
N-1(z%)
tN−1(90%) データ番号データ値 1 0.25 0.0001 2 0.15 0.0081 3 0.33 0.0081 4 0.19 0.0025 5 0.28 0.0016 和 1.2 0.0204 平均 0.240 u2 0.0051 2.132 u 0.0714 0.07 ¯x (x1− ¯x)2 (x2− ¯x)2 (x5− ¯x)2 5 � i=1 (xi− ¯x)2 u2 = �N i=1(xi− ¯x)2 N − 1
.
.
±tN−1√(90%)u N エラーバーのエクセルによる計算 210.240 0.07 より正直には
0.24 0.1
0.40 0.35 0.30 0.25 0.20 0.15 0.10 平均値 平均値+エラーバー 平均値-エラーバー 22実験って何回しなくてはならない?:
u
はだいたい一定なので
±
√
σ
N
論文等でも,この式でエラーバーを表示している人は結構多い! これでいいのか?? やっぱあかんやろ! エクセルの AVERAGE関数 エクセルのSTDEV.S関数「老婆心ながら,エラーバーを計算
するには
Studentのtを使わないと
ダメでっせ!」
と教えてあげましょう。
まあ許せる! 25Student(W. S. Gosset)のt分布
26同じデータであっても信頼度の違いによって
エラーバーの長さは変わる
標本数5
信頼度 68.3% 90% 95% 99%
標本数3
信頼度 68.3% 90% 95% 99%
データに差がある? 同じ試験をA,
B
大学で実施
平均値のみ
score
データに差がある?
信頼度68.3%
score
29データに差がある?
信頼度99%
score
30最小二乗法:
重み付き
x yエラーバーがある場合どうする?
平均値のみでフィット x=8の値を過大評価 エラーバーを考慮して フィット正しい
怪しいデータ間違い
エクセル
Gnuplot
4 3 2 1 0 le ng th / m 5 4 3 2 1 0 time / s
?
見た目を 信用して 定規で線を 引く? 33 4 3 2 1 0 le ng th / m 5 4 3 2 1 0 time / sずれ(矢印)の二乗の和が最小になるように
重みがない場合 エクセル (INTERCEPT, SLOPE) や 一般のグラフソフトで 計算可能数学:実験データを正しくあつかつために
34A (=x)
B (=y)
1
0.9
2
2.1
3
2.9
4
4.1
8
6
0.70548
0.66027
=SLOPE(B1:B5,A1:A5) =INTERCEPT(B1:B5,A1:A5) 重み(エラーバーのないデータ)をエクセル
では☞重み付き最小二乗法はできない→
正しくない
☞誤差の評価がない
エクセルデータ →グラフィックウィザード →散布図を書く →データ点を右クリック →近似曲線の追加 →線形近似エクセル:簡便法
☞重み付き最小二乗法はできない→正しくない
☞誤差の評価がない
y = 0.7055x + 0.6603 R2 = 0.9536 0 1 2 3 4 5 6 7 0 2 4 6 8 10 x yx y
エラーバーがある場合どうする?
平均値のみでフィット x=8の値を過大評価 エラーバーを考慮して フィット○
37GNUPLOT
•
フリーソフト (Win, Max, Linux, Unix)
•
13-101, 13-102のPCにインストール済
•
重み付きが可能
•
非線形が可能
381.0 0.9 0.3
2.0 2.1 0.3
3.0 2.9 0.3
4.0 4.1 0.3
8.0 6.0 2.0
←ファイルの中身
x, y, δy
N
=5
1.データ(テキストファイル:例えばdata.txt)を用意する 2.フリーソフトGNUPLOTを用意する。 http://t16web.lanl.gov/Kawano/gnuplot/ に,ダウンロードおよび使用法の詳細あり gnuplot tips で検索!GNUPLOT 補足 Windows版 ☞初期画面は文字化けするので,右クリックで日本語フォ ントを選択すること,また同じく右クリックして***.ini ファイルに変更を記憶させること ☞データファイルはGNUPLOTの実行ファイルがある directoryを探しにいくので、他のdirectoryにデータ ファイルがあるときは,directoryを指定すること ☞plot f(x) w lines, data.txt u 1:2:3 w yerrorbar 等のコマ
ンドは一度入力するとPCが記憶している。カーソル↑(あるいは ↓)で前の入力がでてくるのでそれを適宜書き換えればいい。
41
3.グラフ(エラーバー付きの)を書く gnuplot
plot "data.txt" u 1:2:3 w yerrorbar
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 length / m time / s 42 3.平均値だけで最小二乗法をおこなうと, a=0.1 b=1.0 f(x)=a+b*x
fit f(x) data.txt u 1:2 via a,b
plot f(x) w lines, "data.txt" u 1:2:3 w yerrorbar
....
Final set of parameters Asymptotic Standard Error ======================= ========================== a = 0.660274 +/- 0.3896 (59%)
b = 0.705479 +/- 0.08985 (12.74%) correlation matrix of the fit parameters:
a b a 1.000 b -0.830 1.000 平均値だけで最小二乗法 → これは間違い!(エクセルと同じ結果) 切片 = 0.7 +/- 0.4 傾き = 0.70 +/- 0.09 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 length / m time / s
3.エラーバーを考慮して最小二乗法 c=0.1
d=1.0 g(x)=c+d*x
fit g(x) data.txt u 1:2:3 via c,d
plot "data.txt" u 1:2:3 w yerrorbar, g(x) w lines
....
Final set of parameters Asymptotic Standard Error
======================= ========================== c = 0.00937158 +/- 0.2434 (2598%)
d = 0.991877 +/- 0.08707 (8.779%) correlation matrix of the fit parameters:
c d c 1.000 d -0.905 1.000
☞
○
45 エラーバーを考慮した(誤差の多いデータは信用しない。) 最小二乗法 切片 = 0.0 +/- 0.2 傾き = 0.99 +/- 0.09 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 length / m time / s よりFairな評価→○
46非線形最小二乗法(重みつき)
例:エラーバー付きのデータを
f
(x)=a+bx
2でフット
f(x)=a exp(-bx
2) でフット
Gnuplot
例:磁化率:磁場の大きさの
二乗に磁化率は比例
0 0.2 0.4 0.6 0.8 1 1.2 1.4 グラフ(エラーバー付きの)を書く gnuplot plot "sqr.txt" u 1:2:3 w yerrorbar 切片が必要なければ a=1.0 g(x)=a*xfit g(x) "data.txt" u 1:2:3 via a でいい!
エラーバーを考慮して最小二乗法 a=10.0
b=10.0 f(x)=a+b*x*x
fit f(x) sqr.txt u 1:2:3 via a,b
plot "sqr.txt" u 1:2:3 w yerrorbar, f(x) w lines
....
Final set of parameters Asymptotic Standard Error ======================= ========================== a = -0.0138224 +/- 0.02681 (194%)
b = 1.07406 +/- 0.05247 (4.885%) correlation matrix of the fit parameters:
a b a 1.000 b -0.718 1.000
☞
○
49 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0.2 0.4 0.6 0.8 1f
(x) = -0.01 0.03
+ (1.07 0.05) x
○
2 50注意
•
非線形最小二乗法の場合はパラメータの初期値に
注意!! 初期値a,bを変えてフィットしよう。
有効数字
平均値 105.42 m エラーバー 0.2345 m
→ 105.4 0.2 m
有効桁4桁平均値 105.4236 m エラーバー 0.023 m
→ 105.42 0.02 m
有効桁5桁平均値 105.423 m エラーバー 2.3 m
→ 105 2 m
有効桁3桁再度確認!
・計算で求められた誤差(例えばstudentのt分布)は,原則一桁に丸める! ・有効数字・有効桁は,その誤差で決定される。 ・測定値の操作(加減乗除やその他の演算)による有効数字・有効桁の変化は 誤差伝播の式から定量的に評価できる。 切片が必要なければ a=1.0 f(x)=a*x*x fit f(x) "sqr.txt" u 1:2:3 via a でいい!誤差伝播
(ごさでんぱ)
53x
± δx, y ± δy
q = q(x, y) = x + y
x = 10± 2 g y = 20 ± 3 g q = x + y = 30 g δq = �� ∂q ∂x �2 (δx)2+ � ∂q ∂y �2 (δy)2 = �22+ 32= 3.60.. � 4 g :ネタ :シャリ 54 日本人成年男性の平均身長の推移 縄文時代 156㎝ 弥生時代初期 156㎝ 弥生時代末期 160.5㎝ 古墳時代 160.5㎝ 14世紀 157㎝ 16世紀 157㎝ 18世紀 155.5㎝ 1901年 157cm(一説では155cm) 2000年 170.8 cm0.8 0.6 0.4 0.2 0.0 分布 身長 57 58 0.8 0.6 0.4 0.2 0.0 分布 身長 トーテムポール
低
低
高
高
和の分布
小針アキ宏 確率・統計入門 岩波書店 19730.8 0.6 0.4 0.2 0.0 分布 身長
正規分布
(ガウシャン)
平均値:和
幅:広がる
61 q = x − y δq = ��∂q ∂x �2 (δx)2+ � ∂q ∂y �2 (δy)2 = �(δx)2+ (δy)2 ゼロに戻す? 続けて行う? 62x
± δx, y ± δy, ....
q = q(x, y, ...)
65 66
c, !
− log
10�
I
I
0�
= �cl
T
≡
I
I
0A
≡ − log
10T
Transmission: 透過度 Absorbance: 吸光度 Fig. http://en.wikipedia.org/wiki/Beer-Lambert_lawFig. Harris, Quantitative Chemical Analysis
これでいいのか?? Transmission: Absorbance: − log10 �I I0 � = �cl T ≡ II 0 A ≡ − log10T
実測しているのは,
T
であり
A
はその桁であると考えてよい。
アレニウスプロット,pH など多くの例がある。 A T T*100 / % 2 0.01 1 1 0.1 10 0.5 0.316 31.6 0.1 0.794 79.4 0.0 1.0 100測定誤差
T ± "T
が,
A
やcの見積もりに
どのように
きいてくるのか?
c, !F = −dc/c dT dc c = dA A = dT T ln T
δc
δT
!"A
=0.2-0.8の濃度範囲で測るべし。
69 A !A T !T 2 0.14 0.010 0.0032 0.8 0.0090 0.158 0.0033 0.4 0.0063 0.398 0.0053 0.2 0.0053 0.631 0.0073 0.1 0.0051 0.794 0.0093 0.05 0.0043 0.891 0.0087 -4.0 -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 log 10 (!" / " ) 3.0 2.5 2.0 1.5 1.0 0.5 0.0 A totalcell position impresion dark current noise photocurrent shot noise source flicker noise
70
•
!
=10
4mol
-1dm
3cm
-1•
l
= 1 cm
•
A
=0.05 - 2.0 に5点か6点対応するc
で,0.005 mM, 0.01 mM, 0.02 mM,
0.05 mM, 0.1 mM, 0.2 mM
4%のずれ
線形最小二乗法
(それぞれの濃度で1回測定) y切片も原点を通るし,それぞれの点も直線にほぼ乗って Final set of parameters Asymptotic Standard Error================= ==================== A0 = -0.00857591 +/- 0.005375
バラツキの大きい離れたdataに引っ張られる +
対数変換で重みが変わった
73 非線形最小二乗法テキストデータ transm_n=10_errorbar.txt 0.0002000 0.0087497 0.0000800 0.1574397 0.0000400 0.3970158 0.0000200 0.6299365 0.0000100 0.7948097 0.0000050 0.8922046 gnuplot plot "transm_n=10_errorbar.txt" f(x)=b*10.0**(-a*x) a=100. b=1.1fit f(x) "transm_n=10_errorbar.txt" via a,b
plot "transm_n=10_errorbar.txt", f(x)
Final set of parameters Asymptotic Standard Error
======================= ========================== a = 10053.3 +/- 14.88 (0.148%)
b = 1.00161 +/- 0.0006201 (0.06191%)
74
Final set of parameters Asymptotic Standard Error ================= ===================== ε = 10053.3 +/- 14.88 I(0)/I0 = 1.00161 +/- 0.0006201
非線形最小二乗法
(それぞれの濃度で1回測定) 0.5%のずれ非線形の回帰では1回の測定でもOK! 何故?
T
± δT → A ± δA
x = ey log10x = y log10e ln x = y ln e = y log10x = ln x log10e − log10T ≡ A − log10(T ± δT ) = − log10T (1± δT T ) = − log10T − log10(1 ± δT T ) = A ± δA ±δA = − log10(1 ± δT T ) = −(log10e) ln(1± δT T ) (2) if δT � T −δA = −(log10e) ln 2 +δA = −(log10e) ln 0→ +∞ (1) if δT/T << 1 δA = −(log10e) δT Tplot "transm_n=10_errorbar.txt" u 1:2:3 w yerrorbars f(x)=b*10.0**(-a*x)
a=100. b=1.1
fit f(x) "transm_n=10_errorbar.txt" using 1:2:3 via a,b plot "transm_n=10_errorbar.txt" u 1:2:3 w yerrorbars Final set of parameters Asymptotic Standard Error ================= ========================== a = 10068.2 +/- 37.99 b = 1.00223 +/- 0.002481
10回測定してエラーバーを求め、重みつき非線形・
線形最小自乗法を適用
c / M T ±δT 0.0002000 0.0087497 0.0011396 0.0000800 0.1574397 0.0026827 0.0000400 0.3970158 0.0030795 0.0000200 0.6299365 0.0037533 0.0000100 0.7948097 0.0064360 0.0000050 0.8922046 0.0068624 77Final set of parameters Asymptotic Standard Error ================= ========================= ε = 10068.2 +/- 37.99 I(0)/I0 = 1.00223 +/- 0.002481 0.7%のずれ
10回測定してエラーバーを求め、重みつき非線形・
線形最小自乗法を適用
c / M T ±δT 0.0002000 0.0087497 0.0011396 0.0000800 0.1574397 0.0026827 0.0000400 0.3970158 0.0030795 0.0000200 0.6299365 0.0037533 0.0000100 0.7948097 0.0064360 0.0000050 0.8922046 0.0068624 78Final set of parameters Asymptotic Standard Error ================= ==================== A0 = -0.000916286 +/- 0.00115 ε = 10067.3 +/- 40.86 0.7%のずれ
10回測定してエラーバーを求め、重みつき非線形・
線形最小自乗法を適用
c / M A ± A 0.0002000 2.0676047 0.0554057 0.0000800 0.8030527 0.0073399 0.0000400 0.4012273 0.0033740 0.0000200 0.2007239 0.0025856 0.0000100 0.0997749 0.0035086 0.0000050 0.0495699 0.0033376「老婆心ながら,
重み付きの(非線形)最小二乗法でないと,
なんぼ正確な実験を繰り返しても,
最後の解析で10%もの誤差がでることが
ありまっせ!」
と教えてあげましょう。
x
iw
i N = � i wi �x� = � iwixi � iwi = � iwixi N σ2 = � iwi(xi− �x�)2 N = � iwix2i N − �x� 2f
(x)
1 = � +∞ −∞ dxf (x) �x� = � +∞ −∞ dxxf (x) σ2 = � +∞ −∞ dx(x− �x�)2f (x) = � +∞ −∞ dxx2f (x)− �x�2σ
<x>
81 筒井康隆 パチンコ必勝原理 (初出「科学朝日」昭和三十七年六月号)測定は不可避のばらつきを伴う。
何回か測定して平均をとる。
再現性も同時に確認。エラーバー
分野ではベストデータのみも多いので要注意!
SPM画像
誰も再現できないのはノウハウの違い?
82N
=1
パチンコ と 酔歩(random walk)
N
=2
パチンコ と 酔歩(random walk)
N
=3
パチンコ と 酔歩(random walk)
85N
=4
N
=5
パチンコ と 酔歩(random walk)
86p
q (= 1-p)
N回の試行で,r 回左にいけば -rΔ+(N-r)Δ= (N-2r)Δ にいることになる。Δ
BN,p(r) = N ! r!(N − r)!p rqN−r = NCrprqN−r左
右右
左
右
左左
右
左
右右
左左左
右
:
N! = 15!左左左左左左左左
右右右右右右右
: r!=8! (N-r)!=7!二項分布
パチンコ と 酔歩(random walk)
�r� = N � r=0 rBN,p(r) = N � r=0 NCrprqN−rr = N p σr2 = �r − �r��2 = �r2� − �r�2 = Npqr
は分布をもつ。
( N回の試行で,r 回左にいく )平均:
分散:
(p + q)N = N � r=0 NCrprqN−r pd dp(p + q) N = pN(p + q)N−1= N � r=0 NCrrprqN−r pdpN (p + q)N−1 = pN + N(N − 1)p2= N � NCrr2prqN−r N � r=0 BN,p(r) = N � r=0 NCrprqN−r= (p + q)N= 10.3 0.2 0.1 0.0 Pro ba bi lit y -100 -50 0 50 100 N - 2r N = 4 N = 10 N = 100 N回の試行(衝突)で 玉がいる位置 p=1/2, Δ=1とした �N − 2r�∆ = (N − 2�r�)∆ = N(1 − 2p)∆ = 0 (p = 1/2) �(N − 2r)∆ − �(N − 2r)∆��2 = �(N − 2r)2 � − �(N − 2r)∆�2 = [N2 − 4N�r� + 4�r2 � −N2(1 − 2p)2]∆2 = [N2 − 4N2p + 4(N pq + N2p2) −N2(1 − 4p + 4p2)]∆2 = 4Npq∆2 = N∆2 (p = 1/2)
平均
分散
89lim
N
→+∞
1) t = r/N (Law of large numbers)
2) r : Np = λ = const (Poisson distribution)
3) t = r− �r� σr (Gauss distribution) 90
lim
N
→+∞
�Nr� = �r�N = p �Nr −�r�N�2 = �r2� N2 − �r�2 N2 = pN + N (N− 1)p2 N2 − N2p2 N2 = pq N t = r/N PN(t) = dr dtBN,p(r) = NBN,p(tN) 25 20 15 10 5 0 pro bab ili ty 1.0 0.8 0.6 0.4 0.2 0.0 t N = 4 N = 10 N = 100 N = 1000 大数の法則law of large numbers
lim
N
→+∞
中心極限定理
t = r− �r� σr = r√− Np N pq FN(t) = dr dtBN,p(r) = � N pqBN,p(r) lim N→+∞FN(t) = G0,1(t) Gµ,σ(x) ≡ 1 √2πσexp[−(x − µ)2/(2σ2)]ガウス分布
(正規分布)
0.4 0.3 0.2 0.1 0.0 FN ( t ) -4 -2 0 2 4 t N = 4 N = 10 N = 100 N = 1000 G0,1(t)Gµ,σ = 1 √ 2πσe −(x−µ)22σ2
平均: μ
分散:σ2
93lim
N
→+∞
Poisson 分布
N p = λ = const. BN,p→ Pλ(r) = λre−λ r! 0.4 0.3 0.2 0.1 0.0 pro bab ili ty 8 6 4 2 0 r N = 4 Poisson : N = 4 N = 10 Poisson N=10 N =100 Poisson: N=100 λ = Np = 1 94Poisson distribution and rare events
!tt = N ∆t
1 2 3 N-1 N
The probability that an event occurs in !t is equal to "!t, where " is the rate of the event. The probability that the events occur r times between
t = 0 and t = t is given by binomial distribution
Pλ(r) = N ! r!(N− r)!(λ∆t) r(1 − λ∆t)N−r = N ! r!(N− r)! �λN ∆t N �r� 1 −λN ∆tN � N−r = (λt)r r! N (N− 1)...(N − r + 1) Nr (1 − λt/N)−r(1 − λt/N)−(N/λt)(−λt) = (λt)r r! 1(1 − 1 N)(1 − 2 N)...(1 − r− 1 N ) � �� � �1 (1 − λt/N)−r � �� � �1 [(1 −λt N) −N λt � �� � �e ]−λt (λt)r
→Poisson distribution
•
平均値
•
ばらつき(不偏分散 u)はあまり実験
回数で変わらない。
実験回数をこなしてないのに
再現性を評価できるのか?
どこまで手抜きできるのか?
少ない実験回数で正確に
再現性をもとめることができる?
Studentのt分布
97