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