2011-06-30

罰則付最尤法

この記事が検索で出てくるようですが、リンクが古くて切れているので2017年度の講義の方を見てください。

どのような場合に推定量が不安定になるのか、それを防ぐためにはどうすればよいのかを説明しました。

2011-06-29

PowerShotS95とG12

Powershot S95とG12を比べてみました。S95の方が小さいのに広角端だと明るいです。G12のメリットはどこにあるのでしょうか。
スペックの違いはカタログやキヤノンのWebサイトを見れば分かりますので、撮り比べてみました。三脚を使っていないので若干角度が違いますが、同じ場所で撮り比べてみました。いずれもS95, G12の順に並べます。絞りはG12の開放に合わせてF2.8で、感度は最低のISO 80です。ピントは画面中央で合わせているのでほぼ無限遠です。従って画面の端は近いのでピンボケではありますが、それでも10メートル以上離れているのでほぼ深度内です。
写真の上で右クリックしてリンク先を新しいタブで開くと、写真を一枚ずつ別のタブで開くことが出来るので比較しやすいです。
結論としては、確かに明るいところでの画質はG12の方が良いですが、実際に使う時には、特に室内で使う時には、広角端でS95が1段明るいことが効いてきます。S95でISO800とG12でISO1600なら、レンズの差以上に感度の差が効いてS95の方が綺麗です。

まず本体生成JPEG

S95のレンズは歪曲収差補正が入っています。DxOを使って補正前の画像を見てみます。

G12は補正されていないことが分かります。この構図だとそもそも歪曲が分かりづらいですね。タブで開いて上の本体生成JPEGと見比べてください。
DxOを持っていなくても、カメラ付属のDigital Photo Professionalを使って補正することもできます。

ここで面白いのはS95で、Digital Photo Professionalで歪曲収差補正をしなくても本体生成JPEGと同様の補正がなされていて、歪曲収差補正を有効にするとさらに正確に補正されます。G12はレンズの大きさに余裕があり歪曲収差が少ないのでJPEGでは補正されていませんが、このソフトを使えばその歪曲収差も補正されます。
DxOを使うと一番正確に補正されます。

補正の際に画像の端が切り取られる部分も少なくなるので、補正量が大きなS95だと元画像よりかなり広い範囲が写ります。どちらも換算28mmですが、実際の焦点距離はS95は6mm、G12は6.1mmで、S95は歪曲収差補正で切り取られる分も考慮して光学系は28mmより少し広く写るようです。

解像を見るために等倍で切り出しました。
まずは本体生成JPEGの中心部。先ほど同様S95, G12の順です。

S95の方がシャープネスが強くかかっていて、輪郭が画像処理によって強調されています。
次に同じく本体生成JPEGの左上隅を切り出しました。

画面中央でピントを合わせているので若干ピンボケの筈です。ピントがずれるとどう崩れるか、という参考にものなると思います。
レンズが小さいので仕方ないですが、S95の方が流れていて、これと歪曲収差補正が重なって解像感が悪いです。色収差も目立ちます。この比較が最も二機種のレンズの違いが分かります。S95も絞れば少しは良くなりますが、歪曲収差補正による解像感低下は絞っても改善されません。G12は葉の隙間のボケが同じ方向の三角形になっています。コマ収差でしょう。
次にDxOで普通使っている設定で中央を等倍で切り出しました。DxOのレンズブラー補正という、レンズの収差に応じたシャープネスはかけています。

本体生成JPEGほど強いシャープネスをかけなければ、S95も悪くないです。
同じくDxOで処理した画像の左上隅を切り出しました。歪曲収差補正のためにかなり写る範囲が違っています。

S95は元々解像度が悪いのは仕方ないですが色収差は補正されています。それに対してG12のパープルフリンジっぽい色付きは補正できていません。

S95とG12の比較で、中央部はシャープネスを揃えれば大きな違いはなくG12の方が少し良いかなという程度、周辺部はG12の方が露骨に良いです。昼間に、周辺まで綺麗に写そうと思うならG12の方が良いです。
しかし暗くなると、S95は広角端なら1段明るいので、同じシャッター速度で感度を1段落とすことが出来ます。G12のレンズが周辺まで綺麗に写るとはいっても、S95でISO 800とG12でISO 1600の比較ならS95の方が綺麗です。
その他のG12の長所は
ズーム倍率が高く、望遠端ではS95より明るい
バリアングル液晶:結構便利
電子水準器:バリアングル液晶を使うときは水平を取り辛いので便利
光学ファインダー内蔵:見難いけど明るいところではこれがないと写せない
本体が大きいのでダイヤル類が多く操作しやすい:でも感度はAUTOしか使わないから専用ダイヤルは不要です。
電池の容量が大きい:本体が大きいから
などの違いがありますが、大きな違いはやはり
・周辺まできっちり写そうと思ったらレンズの大きなG12
・拡大しないとわからない写りの差は気にせずに、小ささ、レンズの明るさを重視するならS95
という選択になります。

この両機種のハイブリッドIS(手振れ補正)は非常に強力で、普通に撮っても1/15秒、気合を入れれば1/8秒でも手振れしません。一眼レフだとミラーショックとフォーカルプレーンシャッターの振動で1/30秒は欲しいところです。そしてS90だと一眼レフのキットレンズより2段弱明るいですので、シャッター速度を2段遅くできることと合わせて、一眼レフだとISO 1000で撮らなければならないときにS95だとISO 80で撮ることが出来て、これだけ感度が違うとセンサーサイズのハンディは帳消しに出来ます。
一眼レフとの差は寧ろ明るい日中屋外で現れて、最低感度で撮れる時なら、諧調の豊かさにおいて一眼レフが圧倒的に有利です。明るい部分が白飛びしないように暗めに写した時の暗部ノイズが全然違います。
また、ズーム操作とか、一枚撮ってタイミングが早すぎたからもう一枚、という時の間隔など、シャッターチャンスを逃さない動作の速さが大きな違いとなります。

ここまで比べたら、単焦点のGXRだとどうなるか気になりました。時間が違うので明るく、絞りを開けなかったのでF4.0ですが、センサーが大きいので回折ボケはないはずです。
まずは全体。カメラ本体生成JPEGです。

次に中心部と左上。シャープネスは最小にしています。

シャープネスもコントラストも違いますし、そもそも天候も違うので一律の比較は出来ません。
DNGファイルから現像してみました。Lightroomのデフォルトと、Silkypixのシャープなしの順に、中心部を切り出しました。

どちらのソフトも設定するパラメータが多いですが、Silkypixはいくつかのプリセットを選ぶことでパラメータを一つずつ設定しなくても感じを変えることが出来ます。Lightroomは自動設定にするか、全部自分で設定するかのどちらかなので、ソフト任せにしないとなると設定が面倒です。
倍率色収差がありまして、DxOはGXRに対応していませんのでレンズ収差情報に基づく補正は出来ませんが、CaptureNX2なら画像解析で自動補正してくれます。
Silkypixで現像した画像と、それをさらにCaptureNX2で倍率色収差補正した画像の左上隅を切り抜きました。

CaptureNX2で再処理することで倍率色収差が消えました。
拡大してみるとシャープネスもコントラストも低くてぼんやりして見えるのですが、S95のような輪郭強調を入れなくてもここまで解像しているので自然です。
S95やG12でここまでコントラストを下げると単に眠い写真になりますので、諧調の豊かさがGXRのセンサーが大きいことのメリットです。
それと引き換えに、ほぼ同じ大きさなのにズームがないのはセンサーが大きなことの代償として諦めますが、AFも遅く、暗いと不正確になり、ネオンのような点光源だと全く合わないというのはSONYのNEXと比べて劣ります。高感度ノイズは少ないですが暗いところで写すには向きません。NEXも写りの良さそうな単焦点が次々と発売予定になっていますので、これらが発売されたらGXRは苦しくなるでしょう。

関係ないですが
google chrome安定版12.0.742.112
http://dl.google.com/chrome/install/742.112/chrome_installer.exe

2011-06-24

標本平均

標本平均、標本分散の確率分布について説明しましたが、小テストが分かりづらかったようなので来週は2章からのまとめもやります。
小テスト

講義が終わってから出張に行きました。

Galaxy Tabで、しかもガラス窓越しに撮ったにしては綺麗に撮れました。

2011-06-20

Android用GPSロガーアプリ

GPSログの要約

アンドロイドでGPSのログを記録するソフトを探してみました。

nmeaで保存するならSmart Trackerしか見つかりませんでした。
追記:SmartTrackerというソフトはいくつかあります。Perious Jangのものがnmeaで保存できます。

Asparaはログを画面に表示して、表示されている分は記録できますが、例えば画面を回転させたりするだけでも表示がクリアされてしまうので、ほんの短時間しか記録できません。
記録できるのはGPGSA, GPRMC, GPGGA, GPLOR, GPGSVでした。

nmeaにこだわらず、GPX, KMLでもよいのであれば、手軽で分かりやすいのはMy Tracks, 手間を惜しまず高機能の地図ソフトならLocus, その他OruxMaps, TurboGPS2, GPS Essentials, GPS Averagingなどがあります。

GPS toolboxは保存はせず経路を画面に表示するだけ
センサーロガーはGPSではなく加速度センサーだけでした。

その他検索で見つかったのは
ShareGPS, GPS over BT, BlueNMEA:これらはログを撮るのではなく、パソコンからGPSアンテナとして使われるためのソフトです。
Lefebure NTRIP Clientは逆に外部GPSを記録
「Bluetoothは、出力のGPS」:機械翻訳されていて何が書かれているのかわかりませんでした。

関係ないですが、
ASUS WebStorageの無料版が2GBの増えていました。
一方、ASUSのパソコンを買った人向けが「ASUS WebStorage」サービス内容変更のお知らせによると、容量無制限+期間制限から容量3GB+無期限に変更になっていました。これだと無料版の2GBと大差ないですね。

いつもわかりづらいメモリの速度の表記
DDR3-1333 = PC3-10600
DDR3-1066 = PC3-8500

2011-06-17

期待値

確率分布の期待値と分散について説明しました。
小テスト
あきらめたらそこで試験終了です\(^o^)/

2011-06-16

AIC

かなりペースが遅かったですが、AICの説明を終わらせました。

関係ないですが
google chrome安定版12.0.742.1001
http://dl.google.com/chrome/install/742.100/chrome_installer.exe

2011-06-10

正規分布

最も頻繁に使われる正規分布について説明しました。
小テスト

関係ないですが
google chrome安定版12.0.742.91
http://dl.google.com/chrome/install/742.91/chrome_installer.exe

2011-06-09

ソルバーを用いた最尤推定量の求め方

今日のテーマ

最尤推定量は(対数)尤度を最大にする値としてデータから計算できます。この計算式θ=θ(X1,X2,...,Xn)を具体的に書き表すことが出来る問題もあります(以前の小テストで出しました)が、計算を間違えることもありますし、どんなに頑張っても計算式を求めることが出来ない問題もあります。
そこで今日はExcelを使って最尤推定量を求めて、AICを計算し、モデルを選ぶ方法を勉強しましょう。

準備

Excelを立ち上げたら左上の丸いボタンを押して、「Excelのオプション」をクリックします。そして左側の「アドイン」をクリックして、下の「管理:Excelアドイン」の横の「設定」をクリックします。

するとアドインの画面に切り替わるので「ソルバーアドイン」にチェックをつけてOKをクリックします。 「インストールしますか」と聞かれたら「はい」と答えます。

サンプルデータ

男児女児
期間(週)体重(g)期間(週)体重(g)
402968403317
382795362729
403163402935
352925382754
362625423210
372847392817
413292403126
403473372539
372628362412
383176382991
403421392875
382975403231
出典:一般化線形モデル入門, Annette J.Dobson 著, 共立出版
これをコピーしてエクセルに貼り付けてください。散布図を書くとこのようになります。

考えるモデル

パラメータが少ない順番に
男女共通モデル
男女ともY=α+βX+ε, ε~N(0,σ2)
つまり妊娠期間Xに対して体重Yの確率分布は
男女ともN(α+βX,σ2)
推定するパラメータはα, β, σの3つ。
傾きだけ共通モデル
男児:Y=α1+βX+ε, ε~N(0,σ2)
女児:Y=α2+βX+ε, ε~N(0,σ2)
つまり妊娠期間Xに対して体重Yの確率分布は
男児:N(α1+βX,σ2)
女児:N(α2+βX,σ2)
推定するパラメータはα1, α2, β, σの4つ。
男女別モデル
男児:Y=α11X+ε, ε~N(0,σ2)
女児:Y=α22X+ε, ε~N(0,σ2)
つまり妊娠期間Xに対して体重Yの確率分布は
男児:N(α11X,σ2)
女児:N(α22X,σ2)
推定するパラメータはα1, α2, β1, β2, σの5つ。
まず最初に、パラメータが一番少ない男女共通モデルについて、α, β, σをExcelに求めてもらいます。この問題に関しては既に小テストで、α, βをデータを用いて書き表す式を求めていますが、そのような式を求めることが出来ない場合でもExcelに求めてもらうための練習として、この問題に関してもExcelに求めてもらいます。
そのためには、まず最初に適当な初期値を与えます。するとExcelのソルバーはそこから出発して真の値に近づいていきます。初期値をどのように与えればよいでしょうか。最初から真の値が分かるならExcelのソルバーに頼る必要はないのですから、真の値に近くてしかも簡単に求められる値を初期値として使います。
直線y=α+βxのαとβの両方を簡単に知ることは出来ませんが、水平な線、つまりβ=0ならば、その高さαは平均値にしておけば大体データに近そうです。この時σは平均値からのずれ、つまり標準偏差にしておきましょう。
そこで早速体重の平均値と標準偏差を求めましょう。Excelに次のように貼り付けます。

A15に平均、A16に標準偏差と書いてから、B15に平均を求める式、B16に標準偏差を求める式を書きます。
B15にはB3からB14までとD3からD14までの平均ということで =AVERAGE(B3:B14,D3:D14) と書きます。先頭の等号を忘れないでください。
B16にはB3からB14までとD3からD14までの標準偏差ということで =STDEV(B3:B14,D3:D14) と書きます。
するとこのようになります。

セルの幅に合わせて四捨五入されますので、人によって表示される値が少し違うこともあります。
この値を参考にしてα, β, σの初期値を決めます。
まずA17, A18, A19セルにα, β, σと書いて
B17セルにはαの初期値として平均値を書きます。適当なところで四捨五入してかまいません。
B18セルにはβの初期値を書きます。傾きが良く分からなくて水平線を引くので0にします。
B19セルにはσの初期値として標準偏差を書きます。これも適当なところで四捨五入してかまいません。

対数尤度の計算

確率関数や密度関数にデータを代入した値が尤度、それにlogをつけたのが対数尤度です。独立な複数の観測値に関して尤度は掛け算になっているので、logをつけて掛け算を足し算にします。
log(Πi=1nf(Xi))=Σi=1nlog(f(Xi))
正規分布N(μ,σ2)の密度関数は =NORMDIST(x, μ, σ, 0) です。最後の0を1に変えると分布関数になります。
今回の問題では、xのところが体重yで、平均値μがα+βxです。それにlogを付けますが、Excelでは自然対数は =LN(x) ですのでE3セルに =LN(NORMDIST(B3,B$17+B$18*A3,B$19,0)) と書きます。対応するセルに色がつくので確認してください。

α, β, σに相当するB17, B18, B19の数字の前には$を付けています。これはこの式をコピーして下に貼り付けても番号が変わらないようにするためです。
E4セルからE14セルにも同様に数式を書きます。一つ一つ書いていると手間がかかりますのでE3セルをコピーして貼り付けます。数式の中のセルの番号がどのように変わるか確認してください。
次にF3セルに女児の一人目の対数尤度の式 =LN(NORMDIST(D3,B$17+B$18*C3,B$19,0)) を書きます。

これもF4からF14へコピーして、E3からF14まで全部足したものが対数尤度です。
E15セルに対数尤度と書いて、F15セルに合計を求める式 =SUM(E3:F14) を書きます。

ソルバー

ここが今回のポイントです。これからα, β, σに色々な値を代入して対数尤度が最大になればよいのですが、試行錯誤するのは大変ですのでExcelのソルバーを使います。
エクセルの上の列の「データ」をクリックして、右側の「ソルバー」をクリックします。「ソルバー」が見当たらなかったら、このページの上の準備のところを見てください。

するとこのような画面が表示されるので、F15を最大にするためにB17からB19を変化させる、と指定します。

「実行」をクリックすると対数尤度が大きくなるようにα, β, σの値が調整されて次のメッセージが表示されます。

OKをクリックすると、対数尤度の値が最大になっています。

AICの計算

このようにして求めた対数尤度の最大値からパラメーターの個数を引いた値が一番大きなモデルが、一番良いモデルなのですが、この方法が考えられた経緯から、
-2×(対数尤度の最大値)+2×(パラメータの個数)
をAIC (Akaike information criterion)といい、マイナスを掛けているのでAICが一番小さなモデルが一番良いモデルです。
このモデルのAICは-2×(-159.265)+2×3=324.53です。

レポート課題

傾きだけ共通モデル、及び男女別モデルについて、最尤推定量及びAICの値を求め、どのモデルが一番良いか選びなさい。