19.11.2014 Views

統計的データ解析 2008 - 大阪大学X線天文グループ

統計的データ解析 2008 - 大阪大学X線天文グループ

統計的データ解析 2008 - 大阪大学X線天文グループ

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

統 計 的 データ 解 析 2008<br />

2008.11.25<br />

林 田 清<br />

( 大 阪 大 学 大 学 院 理 学 研 究 科 )


XSPECとレスポンス 行 列<br />

データスペクトル( 黒 十 字 )=<br />

観 測 されたPHスペクトル<br />

レスポンス 行 列<br />

⎛ SPH<br />

[0] ⎞ ⎛ R0,0 R0,0 RM−<br />

1, N−1<br />

⎞⎛ IE[0]<br />

⎞<br />

⎜ ⎟ ⎜<br />

⎟⎜ ⎟<br />

⎜<br />

SPH<br />

[1] ⎟<br />

R0,1 R1,1<br />

IE[1]<br />

= ⎜ ⎟<br />

⎜ ⎜ ⎟<br />

⎟ ⎜<br />

⎟⎜ ⎟<br />

⎜ S ⎟ ⎜<br />

R<br />

R ⎟⎜I<br />

⎟<br />

⎝<br />

⎠<br />

⎝ PH [ N −1] ⎠ 0, N−1 M−1, N−1<br />

⎝ E[ M −1]<br />

⎠<br />

仮 定 した 入 射 X 線 エネルギー<br />

スペクトルモデル<br />

残 差 :データスペクトルー<br />

モデルスペクトル<br />

モデルスペクトル( 赤 )=<br />

期 待 されるPHスペクトル


ここまでのまとめ<br />

• 測 定 : 母 集 団 から 標 本 をとってくる<br />

• 誤 差 とは? 誤 差 をどう 求 めるか<br />

• 最 尤 法 の 考 え 方<br />

• 誤 差 伝 播<br />

• いろいろな 確 率 分 布<br />

• 最 小 二 乗 法 、カイ 二 乗 フィット<br />

<br />

カイ 二 乗 検 定 、パラメータの 誤 差<br />

• 検 定 と 推 定 、 相 関 係 数<br />

問 題 E: 各 自 、 具 体 例 を 設 定 した 演 習 問 題 を 作 成 せよ。


擬 似 乱 数 の 発 生<br />

• モンテカルロ 法 のための 準 備<br />

• 一 様 乱 数 (0


乱 数 ルーチンの 選 び 方<br />

• srandom, randomあるいはsrand, randは 学 習 用<br />

• 本 格 的 な 研 究 にはより” 性 能 のいい” 擬 似 乱 数 発<br />

生 ルーチンを 使 うべき<br />

偏 りがない、 周 期 性 がない、 計 算 速 度 が 速 いなど<br />

• 例 えば、Numerical Recipes in C (W.Press 他 著 、<br />

技 術 評 論 者 )や 計 算 物 理 ( 早 野 龍 五 、 高 橋 忠 幸 著 、<br />

共 立 出 版 )を 参 考 のこと<br />

• 新 しい 試 みの 一 例 Mersenne Twister 法<br />

(http://www.math.sci.hiroshima-u.ac.jp/~mmat/MT/mt.html)


一 様 乱 数 の 応 用 例 ( 簡 単 なモンテカ<br />

ルロ 計 算 )<br />

• 一 様 擬 似 乱 数 を 与 える<br />

• 円 の 面 積 ( 円 周 率 の 計 算 )<br />

( 擬 似 ) 一 様 乱 数 の 組 (x,y)をN 個 生 成<br />

半 径 1の 円 の 中 (x 2 +y 2


プログラム 例<br />

• ここではseedは 任 意 の 数 (で<br />

きれば 素 数 )を 入 力 する。<br />

srandom(time(NULL));と<br />

して 時 間 情 報 を 種 とするこ<br />

ともできる。この 場 合 は<br />

time.hをincludeする 必 要<br />

あり。<br />

• 右 の 例 でpi1は 整 数 の 割 り 算<br />

が 最 初 に 行 われるので 値 が<br />

ゼロになる。 pi2, pi3のよう<br />

な 記 法 にせよ。<br />

• RAND_MAXは<br />

/usr/include/stdlib.hの 中 で<br />

定 義 (#define)されている。<br />

#include <br />

#include <br />

int main()<br />

{<br />

int seed, n, i, m;<br />

double x,y,pi1,pi2,pi3;<br />

printf("input seed number¥n");<br />

scanf("%d",&seed);<br />

printf("input number of points ¥n");<br />

scanf("%d",&n);<br />

srandom(seed);<br />

m=0;<br />

for(i=0;i


プリプロセッサ<br />

• #include <br />

<br />

コンパイルされる 際 に、ソースコードのこの 位 置 に<br />

fname.h( 通 常 は/usr/includeの 下 にある; 具 体 的 には<br />

stdio.h,stdlib.h,math.h 等 )の 内 容 が 挿 入 される。<br />

• #define ABC abc<br />

<br />

<br />

ソースコードのこの 位 置 以 降 にあるABCという 文 字 列<br />

があれば、コンパイル 時 に 自 動 的 にabcにおきかえら<br />

れて 解 釈 される。<br />

RAND_MAXは stdlib.hの 中 でdefineされている。


与 えられた 分 布 関 数 に 従 う 乱 数 1: 逆 変 換 法<br />

分 布 関 数 f()<br />

xに 従 う 乱 数 xを 発 生 させたい<br />

累 積 分 布 関 数 Fx ()<br />

∫ x<br />

x<br />

Fx () = f(') xdx'<br />

min<br />

は 区 間 (0,1)に 一 様 にランダムに 分 布 する。<br />

−1 −1<br />

もしFの 逆 関 数 F をみつけることができればx F () r により<br />

擬 似 一 様 乱 数 rから 分 布 関 数 f()<br />

xに 従 う 乱 数 xを 求 めることができる<br />

=<br />

例 : f( x) = λ exp( −λx)<br />

∫ x<br />

0<br />

x<br />

[ λ ] 0<br />

F( x) = f( x') dx' = −exp( − x') = 1−exp( −λ<br />

x)<br />

1 1<br />

x =− ln(1 − F( x)) =− ln( r)<br />

λ<br />

λ


逆 変 換 法 の 考 え 方<br />

rが0


与 えられた 分 布 関 数 に 従 う 乱 数 2: 棄 却 法<br />

発 生 が 容 易 な 分 布 関 数 ( 例 えば 一 様 分 布 ) gx () の 定 数 倍 Cgx () に<br />

よってf()<br />

xを 完 全 に 包 み 込 む。<br />

1. gx () の 確 率 分 布 に 従 う 乱 数 xを 発 生 させる<br />

0 0 0<br />

0 0 0<br />

0<br />

≥<br />

0<br />

0<br />

0<br />

2. 点 xでf( x ) とCg( x ) を 計 算 する。 (0,1) の 乱 数 rを 発 生 させ、<br />

(a) f( x ) < rCg( x ) ならば、 xを 棄 ててステップ1からやり 直 す<br />

(b) f( x ) rCg( x ) ならば、 xが 求 める 乱 数<br />

x0を 棄 却<br />

P<br />

Cg( x0<br />

)<br />

Cg()<br />

x<br />

x0を 採 択<br />

0<br />

xmin<br />

f( x0<br />

)<br />

x 0<br />

x<br />

f () x<br />

xmax


正 規 乱 数 の 発 生<br />

• 積 分 は 誤 差 関 数 、 解 析 的 に 記 述 できない。<br />

<br />

Box-Muller 法 か 中 心 極 限 定 理<br />

12<br />

∑<br />

x= r −6<br />

i=<br />

1<br />

i<br />

ここでrは(0,1)<br />

の 一 様 乱 数<br />

i<br />

一 般 に 確 率 密 度 関 数 qx ( , x) に 従 う 変 数 x, xの 関 数 y,<br />

yの 確 率 密 度 関 数 は<br />

∂( x, x )<br />

py ( , y) dydy = qx ( , x)<br />

dydy<br />

1 2 1 2 1 2<br />

1 2<br />

1 2 1 2 1 2 1 2<br />

∂( y1, y2)<br />

⎡ 1 ⎤⎡ 1<br />

⎤<br />

p( y, y ) dydy = ⎢ exp( −y / 2) ⎥⎢ exp( −y / 2) ⎥dydy<br />

⎣ 2π<br />

⎦⎣ 2π<br />

⎦<br />

となるような 変 数 y , yを 生 成 したい ⇒ Box-Muller 法<br />

2 2<br />

1 2 1 2 1 2 1 2<br />

1 2<br />

y = − 2ln x cos2 π x , y =<br />

1 1 2 2<br />

−2ln<br />

x<br />

sin2π<br />

x<br />

1 2<br />

x, xが 区 間 (0,1)の 独 立 な 一 様 乱 数 であればq( x, x ) dxdx = dxdx<br />

1 2 1 2 1 2 1 2<br />

⎡ 1 ⎤ 1 y<br />

x = exp − ( y + y ) , x = arctan<br />

2 2 2<br />

1 ⎢ 1 2 2<br />

⎣ 2 ⎥<br />

⎦ 2π<br />

y1<br />

∂( x , x ) ⎡ 1 ⎤⎡ 1<br />

⎤<br />

=− exp( −y<br />

/ 2) exp( −y<br />

/ 2)<br />

1 2<br />

2 2<br />

1 2<br />

∂( y1, y2) ⎢ ⎥⎢ ⎥<br />

⎣ 2π<br />

⎦⎣ 2π<br />


ポアッソン 分 布 に 従 う 乱 数<br />

Px e x<br />

x -μ<br />

() = μ / !<br />

ただしxは 離 散 値 、 棄 却 法 はそのままでは 使 えない<br />

Qydy e y<br />

[ y] -μ<br />

( ) = μ /[ ]!<br />

という 連 続 分 布 関 数 を 定 義 する<br />

ここで[y]はyを 超 えない 整 数<br />

Qy ( ) に 従 う 乱 数 yを 棄 却 法 により 発 生 させ、その 整 数 部 を<br />

とってxとする

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!