2008年07月21日

読んでないのに本棚に入れた本がいくつあるだろう

気分が優れないのは大抵部屋が汚いせいなので、朝から住居の掃除と部屋の片付けなどをしていた。 やばい事になっていた水槽の掃除も行ったので、幾分気分がすっきりした。

ついでに部屋の物品の配置変更を行った。最近テレビをあまり見なくなったので、 テレビを見にくい位置に移動させて代わりににラジオを引っ張り出してみた。しかしながらラジオもどうも面白くない。 まあ視線を向ける必要性のないだけテレビよりましか。見なければ、聞かなければいいとは思うけれど、 部屋にいくらかの騒がしさが欲しいときはしばしばあるので仕方ない。

ところで、狭い部屋の中のいたるところに配置されていた読みかけの本を集めて積んでみたら思ったより大変なことになった。

DSC00095_R

読みかけといえばまだ聞こえがいいが、どう考えても読まない(読めない)本がちらほら。「一般理論」なんて読めるわけないだろ… なんで買ったんだろ。

posted by Rion778 at 02:18 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
2008年07月16日

三角関数などの根を小さい方から順に求める[R]

当たり前の話だけど,三角関数なんかは何度も何度もy=0を通る.つまり,y=0に対応するxの値というのは無限に存在する.これを小さいほうから順に求めていく方法がほしかった.

が,結局良く分からなかったのでかなーり無理やりなやり方でどうにかすることとした.

f <- function(x) sin(x)
f_root <- numeric(10)
j <- 0
for(i in 1:10){
	while(F==is.vector(try(uniroot(f, c(j,j+1))$root,T))){
		j <- j+0.1
		if(is.vector(try(uniroot(f, c(j,j+1))$root,T))){
			f_root[i] <- try(uniroot(f, c(j,j+1))$root,T)
			}
		}
	j <- f_root[i]+0.1
	}
f_root
f <- function(x) sin(x)
f_root <- numeric(10)
j <- 0
for(i in 1:10){
	a <- 0.1
	while(F==is.vector(try(uniroot(f, c(j,j+a),tol=1e-10)$root,T))){
		a <- a+0.1
		}
	f_root[i] <- uniroot(f, c(j,j+a),tol=1e-10)$root
	j <- f_root[i]+0.001
	}
f_root

(2008/7/17 修正,前回のは全然正しくなかった.if文をwhile文の中に入れる必要性がさっぱりわからない.寝ぼけてたとしか.)

最初に目的の関数をfとして作成する(この場合sin).

次に求めたい根の個数だけの長さの入れ物を作る(続くfor文での繰り返し回数とそろえる).

そして関数の最初の点を決定する.

実行.f_rootの中に根が収納される.

いいのかこんなんで?

エラーを無視させて無理やり処理を継続させたり,繰り返しの中で繰り返しを使ったりとかなり汚い感じ.きっと変な関数入れたら止まらなくなるんじゃないだろうか.正の方向へ十分な個数の根を持たない関数入れたら止まらないのは明らかだしなー.

まあ自分が使う範囲なら問題なく動くのでいいか.使用注意.

posted by Rion778 at 21:06 | Comment(0) | TrackBack(0) | PC関連。HTMLとか,Linuxとか,Rとか | このブログの読者になる | 更新情報をチェックする
2008年06月15日

ブートストラップとジャックナイフ

うーん。分かってきたような分からないような。

以前ブートストラップに関してちょっとだけ書いた。 あのときから別に大して詳しくなったわけではないが、講義の関係でクラスタ解析なんてものを少し勉強している。 DNAの変異だとかmRNAの発現の程度だとかいった情報から種や遺伝子のクラスタを作るときは、 その配列をブートストラップ法によって複製し、系統樹が支持される確率なんてのを計算するのが今では当たり前になっているそうだ。 この辺詳しく解説したらプレゼンの時間が稼げるかなとか企んでいる次第で。

まあそれはそれとして、ちょっとジャックナイフ法とブートストラップ法について勉強したのでメモ。 なんか前と同じような内容になりそうだ。まあいいや。

1.推定値

母集団の分布というのは、平均だとか分散だとかいった特性値によって特徴付けられる。もちろん普通はそれを直接に知ることはできない。 母集団の全てのデータを得ることは大抵の場合不可能だろう。そこで、 多くの場合は母集団からサンプリングして得られた標本より母集団の特性値を推定する。

母集団の平均値が知りたければ標本の平均値を計算するし、母集団の分散が知りたければ標本の分散を計算するだろう(もちろん、 分散の場合は標本分散ではなく普遍分散が推定量としては適切である)。

ここで問題となるのは、これらの推定値をどの程度信頼してもよいのか、つまり、これらの推定値はどれだけばらつきうるのか、 ということだろう。

平均値については前回ネタにしたので、今回は分散を扱うことにしよう。

2.カイ二乗分布を用いた分散の区間推定

詳細は面倒なので省くが、分散の区間推定はカイ二乗分布を用いて行われる。カイ二乗分布を利用した場合の95%信頼区間は、 データの平方和をS、自由度をfとして

20080615eq1

で表される。分母はそれぞれ自由度fのカイ二乗分布における2.5%点、97.5%点の値である。

しかし、この場合は母集団の正規分布を仮定している。母集団が正規分布しているとはいえない場合、 導かれる区間は適切なものとならない場合がある。

3.ブートストラップ法を用いた分散の区間推定

ブートストラップ法を用いる場合は母集団に正規分布のような分布を仮定しない。分散の区間は、 サンプリングからの複製によってその場で作り出される。詳細は前回解説したので省略。

4.ジャックナイフ法による分散の誤差推定

ジャックナイフ法とは1940年代にM. Quenouilleにより考案され、1950年代にJhon Tukeyにより命名された手法である。ブートストラップ法と異なるのは、 リサンプリングにおいていくつかのデータを抜いた状態のサンプルを生成するということ。狭義には1つのデータが除かれ、 重複サンプリングを行わない。そのため、ブートストラップ法よりも計算量は少ない。

4.1 ジャックナイフ法によるバイアス推定

推定値にはバイアスがかかる場合がある。たとえば、母分散の推定値として標本分散を採用することは妥当なことのように思えるが、 よく知られているように母分散の不偏推定量は不偏分散である。標本分散を母分散の推定値としてみた場合、 サンプル数に依存したバイアスがかかっているということになる。

n個のサンプル全てを用いて計算された推定量をθとする。n個のサンプルから、 i番目のデータを除いて作られた複製より計算された推定量をθiとする。その平均をθmeanとする。このとき、 ジャックナイフ法によりバイアスを修正された推定量は次式で計算される。

20080615eq2

たとえばこの式へ標本分散を代入して計算してみると、不偏分散となる。

4.2 ジャックナイフ法による誤差の推定

i番目のデータを除いて計算された推定値をθiとして、θの分散は

20080615eq3

によって計算される。

分散が分かるんだから信頼区間も分かるんだろうけどちょっと求め方がよくわからない。 θは中心極限定理から正規分布すると考えて良いんだろうか。

5. Rによる計算

ともかく、Rを用いて確認してみよう。

まず母集団の用意。

x <- 1:10

1〜10までの値が等しい確率で出現する離散分布と考えていい。分散は8.25、平均は5.5の一様分布となる。

ここから20個のデータからなる標本を抽出する。

#サンプルの生成
x.samp <- sample(x, 20, replace=T)

そして、カイ二乗分布を利用した場合とブートストラップ法による場合の区間推定。

#カイ二乗分布を利用した区間推定
19*var(x.samp)/qchisq(c(0.975,0.025),19)
#bootstrap法による区間推定
x.var.samp <- numeric(2000)
for(i in 1:2000){
 x.b <- sample(x.samp,20,replace=T)
 x.var.samp[i] <- var(x.b)
 }
quantile(x.var.samp,c(0.025,0.975))

次に、ジャックナイフ法によるバイアス修正と、「分散の分散」の推定。

#ジャックナイフ・バイアス修正済み推定量
x.j.var <- numeric(20)
for(i in 1:20){
 x.j.samp <- x.samp[-i]
 x.j.var[i] <- sum((x.j.samp-mean(x.j.samp))^2)/19
 }
sum((x.samp-mean(x.samp))^2)-19*mean(x.j.var)
#ジャックナイフ・分散推定
(19/20)*sum((x.j.var-mean(x.j.var))^2)

手元で一回実行してみたところ、

  • サンプルの不偏分散: 7.671053
  • ジャックナイフ・バイアス修正済み標本分散: 7.671053
  • カイ二乗分布による信頼区間(95%): 4.43652 - 16.36442
  • ブートストラップ法による信頼区間(95%): 4.365592 - 10.450526
  • ジャックナイフ法による分散の分散の推定: 2.550627
  • ブートストラップ法による分散の分散: 2.371628

となった。まず、サンプルの不偏分散とジャックナイフ・バイアス修正済み標本分散が同じになるのは当然。計算の中身が同じなので。

カイ二乗分布による区間はブートストラップによるものより広く出ている。カイ二乗分布による区間はほぼ100% の確率で母分散である8.25を含んだ。母集団が正規分布でない影響だろうか。一方、 ブートストラップ法による区間は9割前後の確率で母分散を含んだ。2000回程度の試行をしてみたが、 母分散が信頼区間に含まれる確率がどうも95%よりも低い気がする。なんでだろ。

ジャックナイフ法による分散の分散の推定とブートストラップ法による分散の分散は大体同じになった。うーん。 両者がそれほど離れることはないし、これだとジャックナイフ法で十分じゃないかということになるなぁ。分散だから? ブートストラップは適用範囲が広いとかいう話も見たなー。

まーとにかく今日は眠いので寝よう。参考文献はまたあとで追加。追加しました。

参考

posted by Rion778 at 03:40 | Comment(0) | TrackBack(0) | 勉強ノート | このブログの読者になる | 更新情報をチェックする
2008年06月09日

円周率と根長

格子法 (根長を測定するほうの)ってのは要するにBuffonの針と同じ問題、というかむしろBuffonの針の問題を応用しているんだろうか。 論文はよく確認していなかったけど、緒言とか参考文献にそれらしいものが書いてあったのかもしれない。

そんなことを思いついたのだが、もう眠いので寝る。時間があったらいつか調べる。

posted by Rion778 at 23:53 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする

円分方程式

20080609eq1

以前、Rを使って正n角形を描く関数を定義したとき、 上記の円分方程式というものを利用した。この方程式の根は、複素平面上の単位円の円周をn等分する、というものであった。

この方程式の根は、つまり1のn乗根ということで、代数学の基本定理よりそれはn個存在する。

たとえば、次の3次方程式の場合ならば、

20080609eq2

この式の根は次の3つである。

20080609eq3

そしてこれを複素平面上にプロットし、それぞれ直線で繋げば正三角形が描かれる。

tri

そして、この根はnがいくつだろうと次の式によってすべて求められる。

20080609eq10

以下、ちっとだけ詳しく解説。

まず、この複素平面というやつだが、「a+bi」という形で表される複素数の、aを横軸の「実軸」に、bを縦軸の「虚軸」 に対応させることで平面上に複素数を表現している。平面上のひとつの点が、ひとつの複素数に対応する。

そして、この平面上の単位円ということだから、単位円周上の複素数のaとbはすべて

20080609eq4

を満足するということになる。左辺の式で表現されるものは複素数の絶対値と呼ばれる。つまり、 絶対値が1の複素数の集合が複素平面の単位円を形成する。また、複素数の絶対値とは極座標表現における「長さ」 であることもわかる。

ここで、原点から複素数へ引かれた直線と実軸とがなす角、複素数の絶対値の2つの情報があれば、三角関数を用いてaとbを表現できる。 絶対値をr、なす角をθとし、aとbはそれぞれ次のように表現できる。

20080609eq5

ここで角θは偏角と呼ばれる。ある複素数zの偏角である、ということを意識したい場合は、「θ= arg z」などと書く。複素数zは、aとbの代わりに偏角と絶対値を用いて次のように表現できる。

20080609eq6

このような複素数の表現方法を極形式と呼ぶ。極形式を用いて、複素数同士の積を考察する。

20080609eq7

最後の変形には三角関数の加法定理を用いている。この変形から明らかなように、 複素数同士の積の絶対値はもとの複素数の絶対値の積であり、 偏角はもとの複素数の偏角の和となる。

単位円の場合、絶対値は1であるため、偏角θを持つ単位円上の複素数を乗ずるということは、 複素平面上におけるθ分の回転を意味する

話を1のn乗根へ戻そう。1のn乗根ということは、n回乗ずると1になるような数、ということである。 先の複素数の積に関する考察を利用して言い換えれば、 n回回転させると角度が0(=2π)となるような角θを偏角に持つ絶対値1の複素数、ということである。 単位円上の複素数をn回乗ずると、偏角はn倍される

さて、n倍すると2πになるような角はθ=0を含め、n個存在する。それらはすべて2π/nの整数倍である(よく確認してほしい)。 このことに注意すれば、

20080609eq1

の根は

20080609eq8

で表されるn個の複素数であるということがわかる。

ここに、オイラーの公式を適用して…ってブログ内に記事がないじゃないか。とっくに書いてるものだと。 仕方ないので今日のところは天下り式に次の式を。(オイラーの公式について簡潔にまとまっていて分かり易い解説:オイラーの公式[物理のかぎしっぽ])

20080609eq9

これがオイラーの公式と呼ばれるもので、θにπを代入したりすると大変なことになったりするが今は触れない。 オイラーの公式と上の式を見比べると、1のn乗根は次の式で求められることがわかる。

20080609eq10

まあ書き方がシンプルになっただけで中身は変わっていない。オイラーの公式を使うと、 極形式の複素数を指数の形でひとつにまとめられる、ということである。

それで、以前Rを使って正n角形を書く関数を定義したときはこの最後の式だけを使ったわけだが、 当時は今ひとつこの式の意味がわからないまま使っていた気がする。

さっき寝ようと思って布団の中で本を読んでいたら1のべき根の話が書いてあって、 1のn乗根を求める上の式の意味がなんとなく分かってきたので、いろいろなことを棚上げして夜更かしして記事にまとめた次第。

参考文献

posted by Rion778 at 02:43 | Comment(0) | TrackBack(0) | 勉強ノート | このブログの読者になる | 更新情報をチェックする
2008年05月31日

比率の検定と角変換

中心極限定理によれば

平均μ、分散σ2である何らかの分布からサンプリングされたデータの平均値は、平均μ、 分散σ2/(サンプリング数)の正規分布に従う。

とされる。だから、サンプリングされたデータの平均値について、「もとの集団の平均値は○○% の確率でサンプルの平均値±△△の間にある」とか言える。が、 平均値の分布が正規分布に従うために必要なサンプル数というのはかなり多いので、 多くの場合はサンプルが少なくても使えるt分布というものを使う。 t分布はサンプル数が少ないときに若干すそが広いという特徴があるが、サンプル数が多くなればほとんど正規分布と同じになる。

いずれにせよ、平均値の分布する幅を推定するには元となる集団の分散、母分散(t分布の場合は推定された分散である不偏分散) が必要となる。そして、平均値の差についての検定では、比較するサンプルの母分散が等しいという場合において、 2つのサンプルの差がこれだけになる確率はどれだけなのか?ということを問うのである。

要は、平均値の分布の仕方に基づいた「平均値の差の検定」を使うためには、 母集団の分散が等しい必要がある、ということである。

「母集団の分散」なんてものは実際には推定するしかないわけで、本当に等しいかどうかはわからない。それに、 平均値に依存してばらつきの仕方が変わるかもしれない。たとえば、小さいものの大きさよりも大きいものの大きさの方がばらつきが大きい、 というようなことは大いにありそうである。ありそうだが、差の検定をする場合はそんなことは無視する。無視しても大して問題はない、 と前向きに考える。

しかしながら、「平均値」というものが二項分布に従う「比率」である場合(たとえば、コインを10枚投げたときの表が出た枚数で、 このような試行はベルヌーイ試行と呼ぶ)は、そんな風に前向きに考えていてはいけない。なぜなら、「比率」の分散は「ありそう」ではなくて 「明らかに」比率に依存している。比率の分散の計算に試行が成功する確率が入ってくるのが原因だが、直感的には 「ほとんど成功する、ほとんど失敗するような試行ほどばらつきが少なく、成功と失敗が半々となるような試行でもっともばらつきやすい」 と考えると理解しやすい。上限と下限があるものだから、ばらつきが押さえ込まれるのだ。 天井効果とかフロアー効果とか言うらしい。

そのため、二項分布に従うようなデータについてt分布や正規分布を利用して平均値とそのばらつきを推定、差の検定をしてみても、 比率によってばらつきの仕方が異なるので検定の妥当性が問題になることがある。

実際に、成功と失敗の割合を0〜100%まで変化させて行ったベルヌーイ試行(試行回数20)において、 その平均値のばらつきを次に示す。

 Rplot001

50%付近でばらつきがもっとも大きくなる。平均のばらつき方そのものが実際にこのような変化をしているので、 t分布や正規分布を用いて平均値の分布を正しく予想できたとしても、それを差の検定に使うのが難しいのだ。

では、平均値から計算できるもので、比率によらず分散が同じになるようなものはないだろうか。そういうものがあるならば、 それの値を比較することで平均値の差の比較の代替とすることができるはずだ。

で、そういうものは実際にある。それは成功した回数の比率をpとして、次のような変換によって得られる値だ。

temp1

arcsinというのはsinの逆関数で、0〜1までの値を与えるとそれをsinとして持つ角度を返してくれる。そこで、 この変換は角変換、または逆正弦変換、アークサイン変換などと呼ばれる。

角変換後の値のばらつきを次に示す。

Rplot003

まあおおよそ同じになっていることがわかるだろう。変換前に比べれば大分マシだ。

ところでこの値のばらつきの大きさがわからないと検定に使えないが、 この値はサンプル数をnとして分散が1/4nとなることが知られている。よってこれらの情報を用いて統計処理をすればいいということになる。 なお、比率が0の場合と1の場合は当然分散が0となるのだが、0の場合は1/4nを、 1の場合は1-1/4nを分散の値として用いるという決まりになっている。

これにてめでたしめでたし。

なのだが、もう一度この図を見てほしい。

Rplot001

「別に中央付近だったら値はそれほど変わらないじゃないか。」

そのとーり。30〜70%くらいまでの範囲だったら別に角変換をしてもしなくても結果が変わることはまずない。

そもそも分散が等しくないことが問題なのだから、等分散という仮定をおかない(ノンパラメトリックな) 統計処理を行えばそれで事足りる。

しかしながら、等分散を前提条件として必要とする多重比較や分散分析を行いたいという場合もあるかもしれない。 そういうときには角変換をしたほうが良いような気がするが、別に無視して普通に統計処理した結果を参考にしても問題はないと思う。ただ、 誰かに発表するような場合には「比率の統計=角変換」 といった断片的な情報だけを持っている人間を黙らせるために効果を発揮するかもしれないので角変換をしておくといいかもしれない。

重要なのはその「差」にどんな意味があるのか、ということだろう。「成功率が1%違った。統計的に有意な差があった。」 と言ってみても、「1%の差」に統計的以外の意味がなければ、「そんな小さな差がなんだ」という話になってしまう。そして、「1%の差」 が統計的に有意となるか否かは、サンプル数次第なのである。 完全にidenticalな処理などというものは存在し得ないという立場に立てば、ほとんど同一に見える2集団から得られたデータでも、 サンプル数次第でほぼ確実に「有意な差」が検出される。大量のサンプルにより導かれた「統計的な差」というのは大した意味をもたない。

角変換は重要で有用な手法なのだが、統計的な結果に対する説得力をわずかに増す以上の効果はない、ということは忘れないようにしたい。

グラフも見ずに「比率の検定?角変換しないと!」みたいな条件反射はよくない。まずは標準誤差を付けたグラフの観察からすべき。 値次第では、手元の道具(Excelとか)を使って普通の平均値の差の検定をしたっていい。

最後に今回使ったRのスクリプトを。

Xvar <- numeric(101)
Xarcvar <- numeric(101)
Xmean <- numeric(101)
X <- numeric(200)
Xtheta <- numeric(200)
for(j in 0:101){
 x <- c(rep(1,j),rep(0,101-j))
 for(i in 1:200){
a <- sample(x,20,replace=T)
X[i] <- mean(a)
Xtheta[i] <- acos(sqrt(mean(a)))
}
 Xmean[j+1] <- mean(X)
 Xvar[j+1] <- var(X)
 Xarcvar[j+1] <- var(Xtheta)
 }
plot(Xvar)
plot(Xmean)
plot(Xarcvar)

説明は省略。まー動かしてみてください。

参考

posted by Rion778 at 23:46 | Comment(0) | TrackBack(1) | 勉強ノート | このブログの読者になる | 更新情報をチェックする
2008年05月25日

光の強さを表す単位

なんだか前にも書いた気がして仕方がない。でも大切なことなので何度でも。

ここでは、カンデラ、ルーメン、ルクスという基本的な3つの単位について順に見ていく。

まず、カンデラ(cd)という単位だが

「特定の周波数(540 THz)の光が特定の強さ(1/683 W/sr)である方向を照らしているとき、 その方向における光度を1カンデラという」

といった感じで定義されている。しかしながら、この文章では「特定の周波数の光」と「特定の強さ」 がイメージできる人間でなければ1カンデラがどういったものなのかはさっぱり分からないだろう。これはあくまで定義であって、 説明用のテキストではないのだからそれは仕方がない。

なので、他人に説明するときはもっとイメージしやすい形で伝えなければならない。これは別に難しいことではない。

「ろうそく1本の明るさが、だいたい1カンデラ」

こう言えばイメージしやすいだろう。そもそも「カンデラ」というのはキャンドルと同じ語源のラテン語で、 昔は日本でもカンデラの変わりに「燭」という単位が使われていたし、実際にろうそくの明るさを基準としていた (厳密にはカンデラと燭は違うが、ほぼ1:1で変換できるようカンデラという単位は定められている)。

ここからルーメン(lm)の説明へ移ろう。

「1カンデラの強さの光を全方向へ放射するろうそくが、1メートル離れた場所にある壁を照らしているとき、 その壁1平方メートルを照らす光の量(光束)がだいたい1ルーメン」

カンデラは「強さ」を、ルーメンは「量」を指定するものと考えると分かりやすいと思う。

ところで、「ろうそく」を点と考えると、「1メートル離れた場所にある壁」はろうそくを取り囲む球の形となることが想像できるだろう。 この球の面積を決めてやると、ろうそくを中心とした「角度(立体角)」が指定できる。

これは、半径1の円(単位円)の弧の長さを指定することで角度が指定できる(弧度法、ラジアンによる角度の指定)ことと同じ。2次元 (円)では線(弧)だったから、3次元(球)では面(面積)を指定してやるのである。半径1の円の弧1に対応する角度を1ラジアンと呼んだ。 同様に、半径1の球の面積1に対応する立体角を1ステラジアンと呼ぶ。

ステラジアンを用いると、ルーメンは

「全方向へ1カンデラの光度を持つ光源が、1ステラジアンの範囲に放射する光束」

と言い換えることもできる。

このルーメンとカンデラの違いが分かりにくい。「1ステラジアンの範囲に」なんて言っているものだから 「1ステラジアンあたりのカンデラ」とか勘違いしてしまいそうだが、違う。ルーメンは光束(光の粒子の量)を指定するものなので、 興味がある範囲すべてが対象となる。ルーメンはあくまで「量」を指定するのである。

実際、全方向へ1カンデラの光度を持つ光源から1ステラジアンの範囲に放射される光束は1ルーメンで合っているが、 この光源が放射するすべての光束を考える場合、それは4πルーメンとなる。なぜなら、「全方向」とは4πステラジアンの範囲であるからだ。

すなわち、カンデラにステラジアンを掛けたものが、そのステラジアンの範囲におけるルーメンである。

つぎにルクス(lx)の説明へ移ろう。

ルーメンは「量」を指定するものであると言った。

しかし、同じ量の光を用いても、照らす範囲が広い場合と狭い場合とでは「明るさ」には差があるだろう。

なので、「明るさ」を数値化するには1ルーメンの光がいったいどれだけの範囲を照らすのかを指定する必要がある。ここでの「範囲」 はもはやステラジアンではなく、実際の面積(たとえば机の面積など)である。

そこで、ルクスは次のように定義する。

「1ルーメンの光束が1平方メートルの範囲を照らしているとき、その照度を1ルクスという」

1平方メートル当たり何ルーメンの光束なのか?これがルクス。

カンデラが「強さ」、ルーメンが「量」ならば、ルクスは「密度」を指定するものと言える(ただし、 ステラジアンあたりの密度ではなく、興味がある面積あたりの密度である)。

ろうそくと壁の例を持ち出せば、ろうそくから1メートル離れた場所にある壁はどこも1ルクスの照度であることになる。ここで「壁」 をろうそくから遠ざけると、同じステラジアンで照らすことのできる壁の面積が広がる。なので、 壁は1ルクスより小さい照度で照らされることになる。一方、「壁」をろうそくに近づけると、 同じステラジアンで照らすことのできる壁の面積が狭まる。なので、壁は1ルクスより大きい照度で照らされることになる。

まあこんな感じ。

ただ注意しないといけないのはカンデラ、ルーメン、ルクスのいずれも「ろうそくの明るさ」 という人間の感覚的な基準から出発しているものだということ。 人間の視覚は色によって感じ取りやすさが違う(緑が一番明るく見えやすい)ので、光のエネルギー量だとか、 光量子の個数だとかをこれらの単位で示すことはできない(光源の種類が分かればおおよその計算はできる)。つまり、 これらの値を基準として発熱量だとか光合成量だとかを計算してもちょっと説得力に欠けますよということ。逆に、 人間用の照明を設計するような場合はエネルギー量なんかよりも「どう見えるか」が重要なので、ルクスなどといった値を用いなければならない。

光の単位の話は以上です。以下余談。

「カンデラとは何だ?」との質問に、周波数だとか放射強度だとかで解説するのはどうかなーと以前から思っている。確かに「燭」 はSI単位系ではないが、感覚的な理解なしの定義の理解は難しい。というかありえない。 たとえばわれわれがよく慣れているメートルやグラムといった単位ですら、それを意識するときは何か基準となるものを同時に考えるだろう (自分の体、1円玉...etc)。SI単位系というものは確かに重要で、論文などはもちろんこれを使って書かないといけない。しかし、 重要だからといって定義を覚える必要はない。覚えるべきは「その単位と比較できる現実の何か」。感覚的な理解ができて初めて道具は使える。 細かい定義が必要となったら、理科年表でも調べればそれは見つかるはずだ。

posted by Rion778 at 15:36 | Comment(3) | TrackBack(0) | 勉強ノート | このブログの読者になる | 更新情報をチェックする
2008年05月08日

格子法による根長の算出

格子法でググっても流体力学の手法ばかりでてくるが,ここで紹介するのは植物の根の長さを計算するための手法.

間隔がわかっている方眼紙の上に植物の根を置いて,方眼の線と植物の根の「交点」をカウントすることで根の長さが推定できるという方法.

方眼の間隔がxとしよう.方眼の格子と根の交点がN個ならば総根長Rは次式で推算可能である.

導出に興味がなければおとなしくこの式を受け入れてもらえばいい.おとなしく受け入れる気がないという方は以下へどうぞ.

この方法は当初は線交差法という格子を用いない方法として考案された(Newman, 1966).線交差法においては,ランダムに配置した直線と根が交差する確率より根長を推定する.

上の図において,直線PQが根(ただし長さΔRは直線とみなせる程度に短い)であり,それに直線MNが交差している.このとき,PQとMNが交わるためには,少なくともPQの中心Dが直線MNから距離ΔR/2の範囲(点線で示した)のうちに存在している必要がある.ここで,PQ<<MNだとすれば,「直線MNから距離ΔR/2の範囲」というのは

である.

直線PQと直線MNが面積Aのうちに存在しているとしよう.このとき,(ΔR)hの範囲内にDが含まれる確率は

である.

次に,Dが(ΔR)hの範囲内にあるとき,直線PQと直線MNが交差する確率を求めよう.

直線PQと直線MNが交差するためには,Dから直線MNまでの最短距離が1/2ΔR|sinθ|よりも小さい必要がある.θは直線PQと直線MNのなす角である.

Dは直線MNから1/2ΔRの範囲を動くので,いま求めたい確率は,

で与えられる.

よって,「(ΔR)hの範囲内にDが含まれ」かつ「直線PQと直線MNが交差する」確率pは

である.交点の個数はすなわちこの確率の与える期待値であるので,θの1回転分,つまり0〜2πまでこの確率を積分し,2πで割る.

ところで,全根長Rは直線とみなせるようなΔRのつながったものとみなせる.よって

以上より,全根長Rは

により与えられる.なお,Hはすべての直線の合計長さである.

ところで,別に直線の方はランダムに置かないでも格子状に置けばいいんじゃね?精度も上がるよ,と提案した人がいた(Marsh, 1971).

そこで,たとえば間隔がxの格子を考えてみると,面積とそれに含まれる直線の長さの関係はx^2:2xとなる(実際に方眼紙を使って確認を!).そこで,これを先の式に代入すると,

である.で,ここでπ/4を計算してしまうと,

が得られるわけである.

ちなみにこの方法はNewmanと言う人が考案し,Marshと言う人が格子を使うことを提案し,Tennant(1975)という人によって有効だということが確認されたそうだ.

参考文献

  • 安部 淳,森田茂紀. 2004. 根の形態と機能に関する学生実験プログラム. 根の研究 13(2): 61-65
  • Marsh B. a'B. 1971. Measurement of length in random arrangements of lines. Journal of Applied Ecology 8:265-267.
  • Newman E.I. 1966. A method of estimating the total length of root in a sample. Journal of Applied Ecology 3:139-145.
  • Tennant D. 1975. A test of a modified line intersect method of estimating root length. Journal of Ecology 63: 995-1001.
posted by Rion778 at 22:35 | Comment(1) | TrackBack(0) | PC関連。HTMLとか,Linuxとか,Rとか | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。