Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Bayes-Turchinの方法によるEXAFSカーブフィッティング
千葉大学 小西健久
SPring-8講習会!<産業利用に役立つXAFSによる先端材料の局所状態解析2014>!
Bayes-Turchinの方法によるEXAFSカーブフィッティング
SPring-8講習会!<産業利用に役立つXAFSによる先端材料の局所状態解析2014>!
千葉大学 小西健久 宣伝役(開発者ではありません):
H. J. Krappe and H. H. Rossner Helmholtz-Zentrum Berlin für Materialien und Energie
(formerly: Hahn-Meitner Institut Berlin)
• H. J. Krappe, H. H. Rossner, Phys. Rev. B 61, 6596 (2000)Error analysis of XAFS measurements!
• H. J. Krappe, H. H. Rossner, Phys. Rev. B 66, 184303 (2002)Bayes-Turchin approach to x-ray absorption fine structure data analysis!
• H. J. Krappe, H. H. Rossner, Phys. Rev. B 70, 104102 (2004)Bayesian approach to background subtraction for data from the extended x-ray-absorption fine structure
• J. J. Rehr, J. Kozdon, J. Kas, H. J. Krappe, H. H. Rossner, J. Synchrotron Rad., 12, 70 (2005)Bayes-Turchin approach to XAS analysis!
• H. H. Rossner, D. Schmitz, P. Imperia, H. J. Krappe, J. J. Rehr, Phys. Rev. B 74, 134107 (2006) Bayes-Turchin analysis of x-ray absorption data above the Fe L2,3-edges!
• H. J. Krappe, H. H. Rossner, Phys. Scr. 79, 048302 (2009)The Bayes–Turchin approach to the analysis of extended x-ray absorption fine-structure data
EXAFSフィッティングの別の方法?
• もうじゅうぶん確立している,誰でも使えて信頼できるやりかたがあるのに?—— 構造/モデルが複雑な( “注意を要する” )ケース —— EXAFSの通常の解析には(良くも悪くも)art 的な部分 ( “トレーニング” “永年の経験” )がある(かもしれない)!
• そういう怪しげなことをやって何のメリットが?—— 普通の方法とそんなに違うわけではない(怪しくはない…)—— いくつか良いことはある(かもしれない)
何をしたいのか① 「決まらないパラメータ」EXAFSのパラメータ: E0, N, r, σ ,etc.
• パラメータの数が多い or 何かの事情で決まるかどうか微妙なパラメータがある場合!
パラメータが多くなる/決まるかどうか微妙な例: — EXAFSがそのパラメータに敏感でない 遠いシェル — 構造が複雑 マルチシェルの解析をどうにか…— 吸収端が重なっている 3d 遷移金属の L edge… etc.
無理そうに見えても可能なこともある “EXAFSのプロには出来る” ような場合 → プロでなくてもやりたい… プロでも諦めるような場合でも … データに情報が含まれていることもあるかも → うまく状況をほぐせばなんとかなるかも* 嘘は駄目:出来ないものは出来ないという結果が出てほしい
2
! ! パラメータの数が多い or 何かの事情で決まるかどうか微妙なパラメータがある!
• 決まらないものは拘束・固定するしかない
→ Q1. どれを? — A1. 値が判っているもの・独立でないもの リーズナブルな仮定が可能なもの 決まるはずのないもの
→ Q2. いくつ? — A2. パラメータの数がデータの自由度以下になるまで
EXAFSのデータの自由度:
何をしたいのか① 「決まらないパラメータ」
Nfree =2�rfilt�k
�
→ 普通は以下のように対処
• 決まらないものは拘束・固定するしかない→ 決まるパラメータに影響がないように
拘束・固定するとは…
• パラメータの値についてあらかじめ持っている知識(もしくは先入観…)を入れる → Bayesian で考えることができる:事前確率
何をしたいのか① 「決まらないパラメータ」
Bayes の定理:B が与えられたときの A の条件付き確率
P (A|B)
ΩA BA∩B
P (A|B) =P(A � B)
P(B), P(B|A) =
P(A � B)
P(A)
� P (A|B) =P (B|A)P (A)
P (B)� P (B|A)P (A)
パラメータの事前知識による拘束 簡単な例:直線のフィット
• データ:
• モデルによるデータの表現:
• パラメータ:傾き
• ノイズ: 分散 の正規分布を仮定
パラメータ を与えたときの の条件付き確率
x
y
yi = axi + �i
�i �i
a y = {yi}
Pcond(y|a) � exp
��
L�
i=1
(yi � axi)2
2�2i
�
a
{yi} , i = 1, 2, · · · , L
パラメータの事前知識による拘束 簡単な例:直線のフィット!
パラメータ を与えたときの の条件付き確率a y = {yi}
x
y
Pcond(y|a) � exp
��
L�
i=1
(yi � axi)2
2�2i
�
x
y
x
y
x
y
a
Pprior(a)
a0
2�a
!
パラメータに関する事前の知識:事前確率
Pprior(a) � exp
�� (a � a0)2
2�2a
�正規分布を仮定:
パラメータの事前知識による拘束 簡単な例:直線のフィット!
条件付き確率:
x
y
Pcond(y|a) � exp
��
L�
i=1
(yi � axi)2
2�2i
�
x
y
x
y
x
y
a
Pprior(a)
a0
2�a
Pprior(a) � exp
�� (a � a0)2
2�2a
�
!
事前確率:!
事後確率:Bayes の定理
Ppost(a|y) � Pcond(y|a)Pprior(a)
� exp
��
L�
i=1
(yi � axi)2
2�2i
� (a � a0)2
2�2a
L
�
= exp
��1
2�2
post
�
パラメータの事前知識による拘束 簡単な例:直線のフィット
a
Pprior(a)
a0
2�a
x
y
x
y
x
y
x
y
!
Bayesian フィッティング:事後確率を最大にするパラメータを求める
!
を最大に,すなわち
!
を最小にする が最適解a• P(a) = const. (事前知識なし)のとき,通常の最小2乗法になる!• 通常の最小2乗法にペナルティを付けた形で事前知識が入る!• データが事前知識を修正する!• EXAFSへの適用:直線の式をEXAFS公式に置き換えればよい
�2post =
L�
i=1
(yi � axi)2
�2i
+(a � a0)2
�2a
Ppost(a|y) � Pcond(y|a)P (a)
� exp
��
L�
i=1
(yi � axi)2
2�2i
� (a � a0)2
2�2a
�
= exp
��1
2�2
post
�
• EXAFSカーブフィッティングで決定したパラメータの誤差評価
• 最小2乗フィッティングの誤差は通常の方法で見積もれる
しかし,これと併せて
• データの偶然誤差/系統誤差,データの前処理,FEFFの理論値の系統誤差等が,最終的にフィッティングで得られるパラメータにどう伝播するかを評価するのは,一般に容易ではない
何をしたいのか② 「決定したパラメータの誤差評価」
通常のEXAFSカーブフィッティング解析•測定 → μ(E )
• χ(k) の抽出
- バックグラウンド(解析する吸収端以外の寄与)を引く - 規格化 - μ0を引く
•フーリエ変換 → フーリエ・フィルタリング (フィッティングに用いるデータに含まれる散乱パスを限定)
•構造モデル:構造パラメータを含む"
• FEFF 等:後方散乱振幅,位相シフト,非弾性減衰因子,etc.
• EXAFS公式
データ処理
モデル
χexp(k) or χexp(R)
最小2乗フィッティング"⇒ 構造パラメータ
χmodel(k) or χmodel(R)
通常のEXAFSカーブフィッティング解析•測定 → μ(E )
• χ(k) の抽出
- バックグラウンド(解析する吸収端以外の寄与)を引く - 規格化 - μ0を引く
•フーリエ変換 → フーリエ・フィルタリング (フィッティングに用いるデータに含まれる散乱パスを限定)
•構造モデル:構造パラメータを含む"
• FEFF 等:後方散乱振幅,位相シフト,非弾性減衰因子,etc.
• EXAFS公式
データ処理
モデル
χexp(k) or χexp(R)
最小2乗フィッティング"⇒ 構造パラメータ
χmodel(k) or χmodel(R)
誤差の伝播を追えない
Krappe-Rossner のやり方
• 測定 → μ(E ) → FEFFの μ0 へ規格化
• μmodel の構築 μmodel = μ0, model (1+ χmodel ) μ0, model : FEFFで計算した μ0 + スプライン
• χmodel の構築"
• 構造モデル:構造パラメータを含む"
• FEFF[ 後方散乱振幅,位相シフト,非弾性減衰因子, etc. ]
• 多重散乱を含むEXAFS公式 →(多重)散乱パスの打ち切り → χmodel
データ処理
モデル
μexp(k)
μmodel(k)
Bayes-Turchinフィッティング"⇒ モデルパラメータ
Krappe-Rossner のやり方
• 測定 → μ(E ) → FEFFの μ0 へ規格化
• μmodel の構築 μmodel = μ0, model (1+ χmodel ) μ0, model : FEFFで計算した μ0 + スプライン
• χmodel の構築"
• 構造モデル:構造パラメータを含む"
• FEFF[ 後方散乱振幅,位相シフト,非弾性減衰因子, etc. ]
• 多重散乱を含むEXAFS公式 →(多重)散乱パスの打ち切り → χmodel
データ処理
モデル
μexp(k)
μmodel(k)
Bayes-Turchinフィッティング"⇒ モデルパラメータ誤差の伝播を追える
•考慮すべき誤差のソース
• 実験データのノイズ,ばらつき(偶然誤差)
• モデル(FEFF)の誤差(系統誤差)
• 散乱振幅,位相,非弾性減衰因子に含まれる誤差(多体効果の近似的扱い等に起因)
• 多重散乱/遠いシェルのパスを打ち切ったことによる誤差
⇒ これらを Pcond のなかに表現する
何をしたいのか② 「決定したパラメータの誤差評価」
•実験データ:
•パラメータ:
•モデル による実験データの表現:
• Bayes:
何をしたいのか② 「決定したパラメータの誤差評価」
{µi} , i = 1, 2, · · · , L
{xi} , i = 1, 2, · · · , N
Ppost(x|µ) � Pcond(µ|x)Pprior(x)
µi = gi(x) + �i, i = 1, 2, · · · , L
g(x)
• 実験データのノイズ,ばらつき(偶然誤差)
何をしたいのか② 「決定したパラメータの誤差評価」
Pexp(µ|µ�) � e��2exp2
�2exp =
L�
l,l�=1
(µl � µ�l)Fll�(µl� � µ�
l�), Fl,l� =�ll�
�µ2l
• モデル(FEFF)の誤差(系統誤差)
Pmodel(µ�|g(x)) � e� �2
model2
�2model =
L�
l,l�=1
(gl(x) � µ�l) Bll� (gl(x) � µ�
l�)
何をしたいのか② 「決定したパラメータの誤差評価」
• 条件付き確率 Pcond
Pcond(µ|x) ��
Pexp(µ|µ�)Pmodel (µ�|g(x)) dLµ�
µ � µ� � g(x) � xパラメータEXAFS公式モデルの誤差実験誤差
Pcond(µ|x) � e� �2cond2
�2cond (µ, g(x)) =
L�
l,l�=1
(gl(x) � µl)Cll�(gl(x) � µl�)
C = (F�1 + B�1)�1
⇒実験誤差 モデルの誤差合成誤差
何をしたいのか② 「決定したパラメータの誤差評価」
• 条件付き確率 Pcond
Pcond(µ|x) � e� �2cond2
�2cond (µ, g(x)) =
L�
l,l�=1
(gl(x) � µl)Cll�(gl(x) � µl�)
C = (F�1 + B�1)�1
実験誤差 モデルの誤差合成誤差
• Pcond 最大化 → 最小2乗法に相当!
• 決定されるパラメータの誤差にはモデル,実験の誤差が反映される
EXAFS のフィッティング1. モデルの線型化
• 初期値 x(0) のまわりで1次近似gl(x) = gl(x
0) +N�
n=1
Gln(xn � x(0)n )
�2cond(x, µ) = xT Qx � 2bT x +
�µ � g(x(0))
�TC
�µ � g(x(0))
�⇒
Q = GT CG :情報行列b = GT C
�µ � g(x(0))
�
• χ2cond の最小化
�x�2cond = 0 ⇒ Qx = b :正規方程式
(x � x0 � x)
Qの固有値に小さいものがあると,!その固有ベクトルに対応するパラメータ(の線形結合)は決定できない
事前確率の入ったフィッティング
EXAFS のフィッティング2. Pprior(x),Bayes
• 事前確率の導入
• Ppost の最大化⇒ :正規方程式
Pprior(x) � e��2prior2
�2prior =
N�
n,n�=1
(xn � x(prior))Ann�(xn� � x(prior))
Ann� = �n�nn� , x(prior) = x(0)の形を仮定 αn 大 → 事前確率の幅 小
• BayesPpost(x|µ) � Pcond(µ|x)Pprior(x)
�x�2post = 0 (Q + A)x = b
Q+Aの最小の固有値 > αmin
•これでOKか?
• n 番めのパラメータに,幅 の事前確率を入れている:
!
フィットにおける実験データと事前確率の 相対的な比重は α
nで決まる。
• 事前確率に支配されるパラメータの選択,幅の決定?
何をしたいのか③ 事前確率をデータから決めたい:Turchin
Ann� = �n�nn� , x(prior) = x(0)
1/�
�n
Pprior(x) � e��2prior2
�2prior =
N�
n,n�=1
(xn � x(prior))Ann�(xn� � x(prior))
! ! パラメータの数が多い or 何かの事情で決まるかどうか微妙なパラメータがある!
• 決まらないものは拘束・固定するしかない
→ Q1. どれを? — A1. 値が判っているもの・独立でないもの リーズナブルな仮定が可能なもの 決まるはずのないもの
→ Q2. いくつ? — A2. パラメータの数がデータの自由度以下になるまで
EXAFSのデータの自由度:
再考:何をしたいのか① 「決まらないパラメータ」
Nfree =2�rfilt�k
�
! ! パラメータの数が多い or 何かの事情で決まるかどうか微妙なパラメータがある!
• 決まらないものは拘束・固定するしかない
→ Q1. どれを? — A1. 値が判っているもの・独立でないもの リーズナブルな仮定が可能なもの 決まるはずのないもの
→ Q2. いくつ? — A2. パラメータの数がデータの自由度以下になるまで
EXAFSのデータの自由度:
再考:何をしたいのか① 「決まらないパラメータ」
Nfree =2�rfilt�k
�これは最大値,この数までokの保証なし
実験データから決まるものと!決まらないもの!
を見分けるアルゴリズムが必要
! ! パラメータの数が多い or 何かの事情で決まるかどうか微妙なパラメータがある!
• 決まらないものは拘束・固定するしかない どういう場合に決まらないか?!
→ 情報行列 Q の小さい固有値に対応するパラメータが決まらない(決まらないパラメータは最初にとったパラメータとは限らない)
!!!!!
再考:何をしたいのか① 「決まらないパラメータ」
x1
x2
X1X2
左のケースでは,X1が Q の小さい固有値に対応し, 実験データから決まらない。 !X2 は実験結果から決まる。事前確率に支配されると他のパラメータの結果を歪めてしまう。 !x1,x2 も,事前確率に支配されると他のパラメータの結果を歪める
χcond の等高線
• Turchin:実験データそのものから αn を決める — 質の良いデータは大きい αn を必要としないであろう etc. !
• 実験データに依存する αn の確率分布の存在を仮定:
!
!
!
何をしたいのか③ 事前確率をデータから決めたい:Turchin
P (µ|�) =
�Pcond(µ|x)Pprior(x; �)dNx
P (µ|�) = const. ·�
det A
det(Q + A)
�1/2
exp
�1
2bT (Q + A)�1b
�⇒
P (�|µ) � P (µ|�)P �prior(�) :Bayes. !
α の事前分布として幅広のものを仮定! → 実験データから α を決める
何が良いのか?• 大きいパラメータ空間をそのまま扱える
• データから決まる/決まらないパラメータの弁別
• 誤差解析→ 難しい解析が出来る場合がある(かもしれない)
試してみたい方は…• 解析プログラム(written by H. H. Rossner )は提供いたします
[email protected] (千葉大 小西)までご連絡ください。
• まだドキュメント等不十分ですが、千葉までいらっしゃることが可能であれば,プログラムの使い方もお教えいたします。
• ただし、現状ではとても user unfriendly— user interface 開発中,マニュアルも含めweb公開予定
• 適用例がまだ少ないので興味のある方はぜひ。