2009-07-31

Suicaで乗車券を買う

ビックポイントをSuicaへ移行する比率が9月1日から下がります。8月31日までに移行を申し込んだポイントは、2011年3月31日までに受け取らなければなりません。Suicaは2万円までしかチャージできないので、せっせと使わなければなりません。来月博多へ行くのでその新幹線の乗車券を買えないかなと思いました。
特急券に関してはエクスプレス予約の方が安いのでそちらで買うとして、乗車券だけでもSuicaで買いたいと思います。ところが窓口での購入ではSuica(Icoca)では支払えませんし、緑の券売機でもSuica(Icoca)では支払えません。でも在来線改札口前の青の券売機ならSuicaやIcocaで払えます。但し日にちの指定は出来ませんし、広島など近郊でなければ往復では買えません。
とは言え福岡までは往復割引が効く距離ではありませんので片道だけ買えれば充分です。当日買っても良いのですが、朝一で余裕が無いので予め買って、その乗車券をみどりの窓口へ持っていって日にちの変更をしてもらいました。

JR東日本:Suicaインターネットサービスパソコンを使って、ViewクレジットカードからSuicaへチャージすることが出来ます。

ダチョウの卵電子レンジで加熱すると…

2009-07-27

統計学I期末試験解答

第1問

E(Y)=E(aX+b)=aE(X)+b=aμ+b
V(Y)=E((Y-E(Y))2)=E(((aX+b)-(aμ+b))2)=E((aX+b-aμ-b)2)= E((aX-aμ)2)=E(a2(X-μ)2)=a2E((X-μ)2)=a2σ2

第2問

(x, y)=(0.67, 0.2486)と(x, y)=(0.68, 0.2517)の2点を通る直線の方程式は
y-0.2486=(0.2517-0.2486)/(0.68-0.67)×(x-0.67)=0.31(x-0.67)
これにy=0.25を代入して、
x=(0.25-0.2486)/0.31+0.67=0.6745…≒0.675

第3問

問1 100回投げて表が出た回数の確率分布は二項分布B(100, 0.1)なので、期待値は100×0.1=10、分散は100×0.1×0.9=9である。
第1問の答にa=1/100, b=0を代入して、Xの期待値は10/100=0.1、分散は9/1002=0.0009。
問2 ラプラスの極限定理より100回投げて表が出た回数の確率分布は正規分布で近似されるのでそれに定数を掛けたり足した確率変数の分布も正規分布で近似される、あるいは中心極限定理より正規分布で近似される。平均、分散は問1で求めているので、正規分布N(0.1, 0.032)
問3 Xの分布がN(0.1, 0.032)で近似されるので、(X-0.1)/0.03の分布は標準正規分布で近似される。
P(0.1-a≦X≦0.1+a)=0.5
P((0.1-a-0.1)/0.03≦(X-0.1)/0.03≦(0.1+a-0.1)/0.03)=0.5
P(a/0.03≦(X-0.1)/0.03≦a/0.03)=0.5
標準正規分布はX=0に関して左右対称であることと第2問よりZが標準正規分布に従うならP(0≦Z≦0.675)=0.25より、a/0.03=0.675なのでa=0.675×0.03=0.02025
同様に P(0.1-b≦X≦0.1+b)=0.95
P((0.1-b-0.1)/0.03≦(X-0.1)/0.03≦(0.1+b-0.1)/0.03)=0.95
P(b/0.03≦(X-0.1)/0.03≦b/0.03)=0.95
標準正規分布はX=0に関して左右対称であることと正規分布表よりZが標準正規分布に従うならP(0≦Z≦1.96)=0.475なので、b/0.03=1.96。よってなのでb=1.96×0.03=0.0588
問4 10000回投げて表が出た回数の確率分布は二項分布B(10000, 0.1)なので、期待値は10000×0.1=1000、分散は10000×0.1×0.9=900である。
よってYの期待値は1000/10000=0.1、分散は900/100002=0.000009であり、Yの確率分布は正規分布N(0.1, 0.0032)で近似できる。
P(0.1-c≦Y≦0.1+c)=0.5
P((0.1-c-0.1)/0.003≦(Y-0.1)/0.003≦(0.1+c-0.1)/0.003)=0.5
P(c/0.003≦(Y-0.1)/0.003≦c/0.003)=0.5
問3同様に考えてc/0.003=0.675なのでc=0.675×0.003=0.002025
同様に P(0.1-d≦X≦0.1+d)=0.95
P((0.1-d-0.1)/0.003≦(Y-0.1)/0.003≦(0.1+d-0.1)/0.003)=0.95
P(d/0.003≦(Y-0.1)/0.003≦d/0.003)=0.95
問3同様に考えてd/0.003=1.96。よってなのでd=1.96×0.003=0.00588

基本的に、始めの方の問題で間違えた場合、その間違った答えに基づいて後のほうを理論的に正しく答えた場合は、後の方の問題は1問に限り答えが違っていても正解とします。例えば第2問の回答がx=0.675ではない人は第3問ではその値を使った回答が正解となります。正解とする理由は、同じ間違いで最初に既に減点済みだからで、1問に限る理由は、最初に間違えた値が偶々計算しやすい値であった場合、その後の問を計算するときに、最初から正しい値を求めて使っている人よりも有利になりすぎるからです。同様の理由で、同じ間違いを繰り返した場合、最初の1問だけ部分点をつけています。
但し第1問に限っては、持ち込み可能の教科書にも載っていますので、第1問を間違えた場合でも第3問の問1では教科書どおりに計算しなければ正解としません。そうしないと、第1問の間違えた解答を用いて答えてもでも教科書どおりに答えても両方正解となってしまいますので。

解説

第3問はモンテカルロ・シミュレーションの精度に関する問題です。回数を100倍にしても精度は√100=10倍しか向上しません。またpの値が小さくなると標準偏差は大凡√pで小さくなりますので誤差は小さくなりますが、pに対する相対的な誤差は大きくなります。
pが0に近いとき1-pは1に近いので表の回数の分散はnp(1-p)≒np、よって表の回数をnで割って得られる推定値の分散はp/n。従って、許容される確率に応じて上で求めた0.675とか1.96に√(p/n)をかけたものがばらつきの片側の幅になります。
pが小さくなると相対的に√pは大きくなるので、pが小さいほどnを大きくする必要があります。

統計学I期末試験問題

第1問

確率変数Xの期待値をμ、分散をσ2とする。Y=aX+bの期待値と分散をa,b,μ,σ2を用いて表しなさい。(20点×2)

第2問

Xが標準正規分布に従うとき、P(0≦X≦x)=0.25となるxを求めたい。ところが標準正規分布表を見るとP(0≦X≦0.67)=0.2486の次はP(0≦X≦0.68)=0.2517である。そこでこの間を直線で近似することにした。
(x, y)=(0.67, 0.2486)と(x, y)=(0.68, 0.2517)の2点を通る直線を考え、この直線のy座標が0.25であるような点のx座標を、小数点以下3桁まで求めなさい。(20点)
これがP(0≦X≦x)=0.25を満たすxの近似値である。

第3問

F氏は、投げたときに表が出る確率がpであるコインを作った。B君はpを推測しようとしている。コインを作ったF氏はp=0.1だと知っているがB君には教えていない。
問1 100回投げて、表が出た回数を100で割った値をXとする。Xの期待値と分散を求めなさい。(5点×2)
問2 Xの確率分布を正規分布で近似したい。どのような分布で近似できるか答えなさい。(10点)
問3 p=0.1なのでXの値も0.1付近になると予想されるが、丁度0.1になるとは限らず確率的にばらつくと考えられる。どの程度ばらつくか知るために、P(0.1-a≦X≦0.1+a)=0.5を満たすaと、P(0.1-b≦X≦0.1+b)=0.95を満たすbをそれぞれ求めなさい。(5点×2)
問4 100回ではばらつきが大きいのでB君は10000回投げることにした。10000回投げて表が出た回数を10000で割った値をYとする。P(0.1-c≦Y≦0.1+c)=0.5を満たすcと、P(0.1-d≦Y≦0.1+d)=0.95を満たすdをそれぞれ求めなさい。(5点×2)

2009-07-24

統計学入門期末試験解答

第1問

u1,…,unの平均u
=1/n Σi=1nui
=1/n Σi=1n(axSUB>i+b)
=a/n Σi=1nxSUB>i+1/n Σi=1nb
=ax+b

u1,…,unの分散Su2
=1/n Σi=1n(ui-u)2
=1/n Σi=1n((axi+b)-(ax+b))2
=1/n Σi=1n(axi+b-ax-b)2
=1/n Σi=1n(a(xi-x))2
=a2/n Σi=1n(xi-x)2
=a2Sx2

v1,…,vnの平均v
=1/n Σi=1nvi
=1/n Σi=1n(cySUB>i+d)
=c/n Σi=1nySUB>i+1/n Σi=1nd
=cy+d

v1,…,vnの分散Sv2
=1/n Σi=1n(vi-v)2
=1/n Σi=1n((cyi+d)-(cy+d))2
=1/n Σi=1n(cyi+d-cy-d)2
=1/n Σi=1n(c(yi-y))2
=c2/n Σi=1n(yi-y)2
=c2Sy2

u1,…,unとv1,…,vnの共分散Suv
=1/n Σi=1n(ui-u)(vi-v)
=1/n Σi=1n((axi+b)-(ax+b))((cyi+d)-(cy+d))
=1/n Σi=1n(axi+b-ax-b)(cyi+d-cy-d)
=1/n Σi=1n(a(xi-x))(c(yi-y))>
=ac/n Σi=1n(xi-x)(yi-y)
=a2Sxy

第2問

問1 表よりP(X≦54)=0.8159なので、P(X≧55)=1-P(X≦54)=1-0.8159=0.1841
問2 P(X≧59)=1-P(X≦58)=1-0.9557=0.0443なのでa=59は条件P(X≧a)≦0.05を満たし
しかもP(X≧58)=1-P(X≦57)=1-0.9334=0.0666なのでa=59が条件を満たす最小の整数。
問3 二項分布B(100, 0.5)の確率関数は左右対称であり、しかも中央X=50で一番高く、そこから左右に遠ざかると単調に小さくなるので、c-bが最小になるのはbとcがX=50に関して左右対称の時である。従って片側の確率が2.5%を超えないことを手がかりに分布関数の表から、
P(40≦X≦60)=0.9824-0.0176=0.9648
であるのでb=40, c=60は条件P(b≦X≦c)≧0.95を満たす。
次に片側だけを1狭めて
P(41≦X≦60)=0.9824-0.0284=0.954
P(40≦X≦59)=0.9716-0.0176=0.954
も条件P(b≦X≦c)≧0.95を満たす。しかし両側を1狭めた
P(41≦X≦59)=0.9716-0.0284=0.9432
は条件P(b≦X≦c)≧0.95を満たさない。従って(b,c)=(41,60),及び(40,59)。

第3問

問1 (900/1000)10=(9/10)10=3486784401/10000000000。
最後の計算は単に電卓で出来るので、計算しなくても良い。
問2 解答例
・問1で計算したように、「売り場Aで販売されたくじも、売り場Bで販売されたくじも当たる確率は同じ」であっても過去10年間売り場Aから当選くじが販売される確率は34%もあるので、決して売り場Aで販売されたくじの方が当たりやすいとは言えないから交通費の無駄。
・決して売り場Aで販売されたくじの方が当たりやすいとは言えないが、「売り場Aで販売されたくじも、売り場Bで販売されたくじも当たる確率は同じ」だと証明されたわけでもなく、「売り場Aで販売されたくじの方が当たりやすい」ことを示すのに充分な証拠がなかっただけである。もしかすると本当に売り場Aで販売されたくじの方が当たりやすいかもしれないので、売り場Aへ行きたいなら黙って行かせる。
・そもそも宝くじの期待値は販売額より小さい。なぜならその差額が主催者の利益や販売にかかる経費だから。従って売り場に関係なく買わない方が良い。
問1の計算が間違っている場合も、その間違えた答えと理論的に整合する答ならば問2は正解とします。

統計学入門期末試験

第1問

n組のデータ(x1,y1),…,(xn,yn)に対して、ui=axi+b, vi=cyi+d, (i=1,…,n)という変換を行いn組のデータ(u1,v1),…,(un,vn)を得た。 u1,…,unの平均u、分散Su2、v1,…,vnの平均v、分散Sv2、u1,…,unとv1,…,vnの共分散Suvを x1,…,xnの平均x、分散Sx2、y1,…,ynの平均y、分散Sy2、x1,…,xnとy1,…,ynの共分散Sxyを用いて表しなさい。(10点×5)

第2問

確率変数Xの確率分布は二項分布B(100, 0.5)とする。次の問に答えなさい。問題用紙の裏面の二項分布B(100, 0.5)の確率関数と分布関数の表を用いても構いません。(10点×3)
問1 P(X≧55)を求めなさい。
問2 P(X≧a)≦0.05を満たす最小の整数aを求めなさい。
問3 P(b≦X≦c)≧0.95を満たす整数b,cの中で、差c-bが最小であるものを求めなさい。

第3問

ある宝くじは毎年たった2箇所の売り場A, Bだけで限定販売されている。売り場Aでは毎年900枚、売り場Bでは毎年100枚販売される。当たりくじは毎年1本だけであり、過去10年間、当選したくじは売り場Aで販売されていた。次の問に答えなさい。(10点×3)
問1 もし、「売り場Aで販売されたくじも、売り場Bで販売されたくじも当たる確率は同じ」であった場合に、「過去10年間当選したくじは売り場Aで販売されていた」ということが生じる確率を求めなさい。
問2 売り場Bの近くに住む友人が、遠くの売り場Aまで交通費を払って買いに行こうとしている。理由は「当たりが販売される売り場で買わなければ当たらないから」である。あなたは友人に何と言いますか?理由とともに答えなさい。

2009-07-22

日食

雲がかかっていましたが、太陽の形は分かりました。


10時37分


10時46分


10時50分


10時54分


11時2分。一番欠けた状態です。


11時5分。雲が厚くなってきたので、肉眼でも太陽を見ることが出来ました。

2009-07-20

天神周辺


空が綺麗でした。三越と大丸。


大丸にアポロ11号が展示されていました。


市役所横の広場。この後ベスト電器へ行ったらもう閉店時間でした。ISO3200


ソラリアホテルから見た夜景。


隣のビルの屋上に鳥居があります。飛行機が着陸しているのも見えます。


須崎公園横の福岡県立美術館


対馬小路


博多リバレインの5階と6階が吹き抜けになった喫茶スペース。


水上公園


朝から開いているお店も多くて便利でした。

2009-07-19

筑肥線沿線

ホテルの送迎バスで東唐津駅へ送っていただきました。駅のホームから見た唐津城。

周遊券なので何度でも途中下車できます。虹の松原駅で降りました。

松原がずっと続いています。

次に福吉で降りました。まずは昨日列車の窓から撮った写真。

駅員さんが近くの観光を教えてくれました。

駅から海側へ歩いていくと、すぐ近くに縁結びのお寺があります。

そのすぐ裏は海です。

駅の南側に少女の像がありました。

福と吉が大入りの切符です。大入は隣の駅です。

最後に九大学研都市駅で降りました。

唐津シーサイドホテル

和食 いけす料理 玄洋で晩御飯を食べました。さっきまでいけすで泳いでいました。

夜は唐津シーサイドホテルに泊まりました。以前は西側に唐津シーサイドハイツがあったのですが、今はその場所に新しく西館が出来ています。
唐津城がライトアップされています。

2009-07-16

画像の大きさ

クリボウの Blogger Tips: Blogger で画像の表示サイズを変更する方法
このgoogle bloggerでは、画像は縮小されてしまうので、特にExcelの操作画面は見辛かったのですが、googleのサーバー側に保存されている画像は縮小されていなくて、表示するときに縮小しているようです。だからどの大きさに縮小表示するか、という部分を書き換えれば大きさは変更できます。
大きさの変更方法ですが、IMGタグの中のs200とかs320とかs400の数字の部分を書き換えるだけです。選べる大きさは72, 144, 200, 288, 320, 400, 512, 576, 640, 720, 800, 912, 1024, 1152, 1280, 1440, 1600です。長辺がここで指定した大きさ以下になるように縮小されます。
この数字は縮小用ですので、元の画像より大きな数字を指定すると元の大きさで表示されます。
クリックして表示される、大きい方の写真はA HREFタグの中のs1600-hの数字の部分を書き換えます。
clmemo@aka: Picasa Web Albums の写真をブログに貼り付ける時に、サムネイルのサイズを変える
えをきば、: Picasa Web Albums 覚え書き
Picasa Web Album の画像を自分のページに貼り付ける - WebOS Goodies

今後このブログでの写真は、まず長辺が1280になるように縮小したものをアップロードして、それを1/2に縮小して表示するようにします。
その理由としては、情報基盤センターのディスプレイは1024x768ですし、最近の安いノートパソコンも横幅は1024ですので、その幅で見やすいように、ということと、学科の実習室のディスプレイは1280x1024なので、縮小前の写真をそのまま見てもほぼ全体が表示されるからです。

追記
width: 400px; height: 266px; の部分も調整しなければ、大きな画像を今度はブラウザの方で縮小してしまいます。この部分を削除してしまうというのも一つの手ですが、そうすると画像を読み込まないとレイアウトが決まらないので、画像が多くて全ての画像を読み込むのに時間がかかるページだと、写真の配置が定まるのが遅くなって見づらいです。

シグマのDP2は白とびしにくいので、ダイナミックレンジが広いそうです。暗い方は得意ではなさそうです。
Love → PENTAX (I love Pentax and K-mount Lenses): 前言撤回。がっくりだよ。 ただ、ここでダイナミックレンジが広いと紹介されているDP2の写真は、いわゆる明るい部分と暗い部分で別のトーンカーブを使ったような不自然さを感じます。ダイナミックレンジが狭いと書かれているE-P1の方が見た目に近いと感じます。見た目に近いほうが良いか、明るい部分も暗い部分も両方見えるほうが良いかは写し手の選択ですが、ダイナミックレンジが広ければ、後からその広いレンジのどの8bit分をJPEGにするか選ぶことが出来ますので、カメラ側のダイナミックレンジが広くて困ることはありません。
デジタルと銀塩 光と影    : FOVEON と ベイヤー SIGMA Photo ProのFILL LIGHTというパラメータで、ハイダイナミックレンジ合成のようなことが出来るようです。だからLove → PENTAX (I love Pentax and K-mount Lenses): 前言撤回。がっくりだよ。のような写真に出来るのでしょう。
SDIM0699 on Flickr - Photo Sharing!
RAW現像時の白飛び黒潰れ耐性比較 デジタル一眼を比較してみるブログ/ウェブリブログ
箱裏庭:DP2
フォビオンセンサーの厄介さ
SIGMA DP1 と DP2 について

tea time ASTIA100F「アスティア100F」

ブートストラップ情報量規準EIC

前回のロジスティック回帰では、3つのモデルともパラメーターの個数は同じですのでAICによる比較では単純に対数尤度が大きいモデルが選ばれてしまいますし、そもそも3つのモデルは全部異なる関数形ですので、3つ全てが真の分布を含む、つまりAICの条件を満たすことはありません。
そこでEICによるバイアスの導出を行いますが、前回のロジスティック回帰における最尤推定量の計算がまだの人はそちらを先にやってください。

VBAの準備

EICの計算のために用いるブートストラップ法は、乱数を沢山発生させて繰り返し計算しますので、プログラミングが必要となります。

まず準備です。左上の丸いボタンを押して、「Excelのオプション」をクリックします。そして「[開発]タブをリボンに表示する」にチェックをつけてOKを押します。

すると右端に「開発」が表示されるのでクリックして、マクロのセキュリティをクリックして、「すべてのマクロを有効にする」に●をつけてOKを押します。


これで準備は完了です。
ではマクロでどんなことが出来るか見てみましょう。「マクロの記録」をクリックしてください。マクロの名前を聞かれますので、ここはそのままOKを押します。


何か適当にExcelの操作をしてください。ここでは1から5の数字を入力してみました。
そして、記録終了をクリックしてください。

すると、Excelは今の操作を全部覚えています。確かめるために、今入力したものを全部消してから、今度は「マクロ」をクリックしてください。するとどのマクロを実行するか聞かれます。今は一つしかないのでそのまま「実行」を押します。
すると、先ほど自分でやったことがそのまま繰り返されたはずです。


一体どんな仕組みになっているか見るために「Visual Basic」のボタンを押します。するとVisual Basicの画面が開くので、左側のModule1をダブルクリックするとこの画面になります。


先ほど「マクロの記録」をクリックしてから「記録終了」をクリックするまでの操作が全てプログラムに書かれたのです。今すぐ覚える必要はありませんが、ActiveCell.FormulaR1C1 = "1"は選択しているセルに1を代入しなさい、Range("A2").SelectはA2セルを選択しなさい、という命令です。
このように自分の操作をプログラムに記録するのではなくて、今度は自分でプログラムを書いてみましょう。今、人によって色々違うことを書いたと思うので、一旦Excelを終了させて、もう一度立ち上げて、先ほど同様「開発」をクリックして「Visual Basic」をクリックしてください。
プログラムを書く部分を用意したいので「挿入」をクリックして「標準モジュール」をクリックしてください。

現れた画面にプログラムを書きます。
まず
sub 練習
とだけ書いて、Enterキーを押してください。すると自動的に

Sub 練習()

End Sub

となり、カーソルは真ん中の空行にあります。そこに
cells(1,1)=1
と書いてください。これは上から1番目、左から1番目のセルに1を代入しなさい、という命令です。
プログラムを書いたら、上の右向きの三角をクリックしてください。するとさっきと同じように、どのプログラムを実行するか聞かれます。今は一つしか書いていないのでそのまま実行を押すと、A1セルに1が代入されます。Excelの画面で「マクロ」を押しても実行できます。

このプログラムを保存する時の注意。
左上の「上書き保存」を押すと、どの形式でファイルを保存するか尋ねられます。ファイルの種類として「Excelマクロ有効ブック」を指定してください。

さてこれでプログラムを書いて実行できるようになったので、具体的なプログラミングを始めましょう。
先ほどのCells(1,1)=1とEnd Subの間に
cells(2,1)=2
cells(3,1)=3
と書き込んで実行してみてください。
あるいは
cells(1,2)=-2
cells(1,3)=-3
と書いて、cellsの二つの添え字がExcelのどのセルに対応しているか確認しましょう。

10個続けて書くには、
cells(1,1)=1
cells(2,1)=2
cells(3,1)=3
cells(4,1)=4
cells(5,1)=5
cells(6,1)=6
cells(7,1)=7
cells(8,1)=8
cells(9,1)=9
cells(10,1)=10

と書くのは大変なので、これをFor文を使って

for i=1 to 10
 cells(i,1)=i
next i

と書きます。

練習として下のような九九の表ができるようにプログラムを考えて見ましょう。

ブートストラップ法

前回のロジスティック回帰の続きに書きましょう。

G列にブートストラップ標本を入力することにしましょう。最初のガス濃度が1.6907の行は、59匹中死んだのが6匹ですから、ブートストラップ標本は6個の1と53個の0の中から、毎回戻しながら59回ランダムに取り出すことで得られます。毎回、1を取り出す確率は6/59ですので、1になる確率が6/59で0になる確率が53/59である乱数を59個足せば良いことになります。VBAでrnd()は0から1の一様乱数ですのでrnd()<6/59である確率が丁度6/59です。よって
wa=0
for k=1 to 59
 if rnd()< cells(4,3)/cells(4,2) then
  wa=wa+1
 end if
next k
cells(4,7)=wa
と書くと、G4セルにブートストラップ標本が抽出できます。
これを第4行から第11行まで繰り返すので、上のプログラムを別のFor文で繰り返して for j=4 to 11
 wa=0
 for k=1 to cells(j,2)
  if rnd()< cells(j,3)/cells(j,2) then
   wa=wa+1
  end if
 next k
 cells(j,7)=wa
next j
によって全てのガス濃度レベルに対してブートストラップ標本が抽出できました。

この標本に対して改めてパラメータを求めるのでI1,I2セルにとりあえず元々の標本用のパラメータを書いて、後で最尤法で最適値を求めることにします。このα、βを用いて前回同様確率と対数尤度を求めます。
乱数を使っていますので、値が少々違っても気にしなくて構いません。

そしてソルバーを使ってα、βの最適値を求めますが、これを後で繰り返しますので「新しいマクロの記録」を使ってVBAに記録しておきます。
SolverOk SetCell:="$I$12", MaxMinVal:=1, ValueOf:="0", ByChange:="$I$1:$I$2"
SolverSolve
このように記録された筈ですが、このままでは実行できません。
SOLVER.XLAへの参照設定が必要ですのでツールの参照設定をクリックします。

そこにSOLVER.XLAがあればよいのですが、無いので参照をクリックします。

C:\Program Files\Microsoft Office\Office(バージョンによって違う数字)\Library\Solverを指定してファイルの種類をMicrosoft Excel Files (*.xls;*.xla)を選びます。

すると参照設定の一覧の中にSOLVER.XLAが現れてチェックされているのでOKを押します。

このまま実行すると

このようなエラーが出ることがあります。Officeのバージョンによっては出ないこともあるようです。このエラーが出たときには
SolverOk SetCell:="$I$12", MaxMinVal:=1, ValueOf:="0", ByChange:="$I$1:$I$2"
SolverSolve
の直前に
Application.Run "Solver.xla!Auto_Open"
と書くと出なくなります。
またソルバーが終了するたびに確認を求められたのでは自動的に繰り返せないので
SolverSolve

SolverSolve Userfinish:=True
に書き直します。

ここまでを実行してみましょう。
For j = 4 To 11
 wa = 0
 For k = 1 To Cells(j, 2)
  If Rnd() < Cells(j, 3) / Cells(j, 2) Then
   wa = wa + 1
  End If
 Next k
 Cells(j, 7) = wa
Next j
Application.Run "Solver.xla!Auto_Open"
SolverOk SetCell:="$I$12", MaxMinVal:=1, ValueOf:="0", ByChange:="$I$1:$I$2"
SolverSolve Userfinish:=True
ブートストラップ標本を抽出して最尤法によりパラメータの推定値を求めるところまでが自動化できました。

次にバイアスを求めるために、平均対数尤度を求めます。平均対数尤度を求めるためには真の確率分布が必要で、通常は真の確率分布は分からない(だから推定したい)のですが、ブートストラップ法では観測値の経験分布を真の分布だとみなします。
ガス濃度が1.6907の行に関しては、ブートストラップ標本から推定した確率がH4セルの値ですので、確率変数の値が1ならば対数尤度はlog(H4)、確率変数の値が0ならば対数尤度はlog(1-H4)です。そして確率6/59で1、確率53/59で0になりますから、期待値は
6/59*log(H4)+53/59*log(1-H4)
です。対数尤度を用いて推定するのは平均対数尤度の標本数倍ですので、この行なら59倍して
6*log(H4)+53*log(1-H4)
が推定したい値となります。これを各行で計算して足したものと比較して、対数尤度がどれくらい大きいか、その期待値が、問題のバイアスです。

これを100回繰り返して、対数尤度-平均対数尤度を100回足して100で割ったものが、バイアスのブートストラップ推定量です。
大体2前後になるはずです。
Sub bootstrap()
bias = 0
For i = i To 100
 For j = 4 To 11
  wa = 0
  For k = 1 To Cells(j, 2)
   If Rnd() < Cells(j, 3) / Cells(j, 2) Then
    wa = wa + 1
   End If
  Next k
  Cells(j, 7) = wa
 Next j
 Application.Run "Solver.xla!Auto_Open"
 SolverOk SetCell:="$I$12", MaxMinVal:=1, ValueOf:="0", ByChange:="$I$1:$I$2"
 SolverSolve Userfinish:=True
 bias = bias + Cells(12, 9) - Cells(12, 10)
Next i
Cells(13, 10) = bias / 100
End Sub

また、ブートストラップ標本を作るのに、確率として死亡数/かぶと虫総数の代わりに推定したパラメータから求めた値(E列)を用いる方法をパラメトリックブートストラップ法と言います。