2013年5月26日日曜日

中心極限定理をRでシミュレーション

中心極限定理とは、大まかに言えば、
母集団の確率変数\(X\)がどんな確率分布であっても、その平均と分散が\(\mu\)と\(\sigma^2\)であれば、その標本(サンプル数\(n\))の確率変数\(X\)の和や平均は、それぞれ正規分布 \(N(n\mu, n\sigma^2)\)、 \(N(\mu, \sigma^2/n)\)に従うということである。

それが本当かどうか確かめたかったので、Rのプログラムを書いて検証してみた。
ここでは、「指数分布に従う確率変数の平均」で検証した。

以下にコードを置いておく。
実際にCONSTANTSの部分をいろいろ変えて
  • 分布が正規分布に従い、その平均と分散が中心極限定理の予言通りか?
  • 標本数が大きくなれば、分散は実際に小さくなっていくのか?
などを確認してみるとよい。


#中心極限定理が成り立つかをシミュレーションするRスクリプト
#ここでは、指数分布の確率分布に従う確率変数Xの平均値について検証。

## CONSTANTS
SAMPLE.NUM <- 10 #1回の試行での標本数。
TEST.NUM <- 50000 #試行回数(この数の試行を繰り返して分布が正規分布になるかをみる。)
EXP.LAMBDA <- 3 # 指数関数パラメータλ
PLOT.MAX.X <- 1 #こ

#各行が指数分布に従う確率変数の一つの標本を表わす行列を生成。
data.matrix <- matrix(rexp(TEST.NUM, rate = EXP.LAMBDA), ncol = SAMPLE.NUM)

#各試行(= 各行)の平均をとる。
means.of.each.test <- apply(data.matrix,MARGIN=1,mean)

#各試行の平均の、相対度数ヒストグラムを描画
hist(means.of.each.test, breaks=seq(0, PLOT.MAX.X, by=0.05), xlim=c(0, PLOT.MAX.X), probability = TRUE)

#中心極限定理が予言する平均と分散を求める。
#ここで母集団分布がλ=EXP.LAMBDAの指数分布であり、
#その平均と分散(母平均&母分散)がそれぞれ、
#母平均=1/λ、母分散=1/λ^2なので・・・
theorem.mean <- 1/EXP.LAMBDA
print(theorem.mean)
theorem.var <- 1/EXP.LAMBDA^2/SAMPLE.NUM
print(theorem.var)

#中心極限定理が予言する正規分布を描画する。
#ヒストグラムと正規分布曲線が一致すれば、中心極限定理は正しい!
x <- seq(0, PLOT.MAX.X, by=0.01)
lines(x, dnorm(x, theorem.mean, sqrt(theorem.var)), col="red")

2013年5月18日土曜日

R言語のcut関数の使い方

R初心者として、cut関数がいまいち分かりにくかったので、ここで少しまとめておく。

■cut関数は何をする関数?
一言でいうと「数値データを、指定した分割基準でカテゴリに変換する関数」だ。
もう少し詳しくいうと、例えば英語の試験を行い各人の試験結果を
> x <- c(90, 55, 79, 80, 100)
とする。80点未満を「不合格」、80点以上を「合格」と分けるとすると、xの変数の内容を「合格、不合格、不合格, 合格、合格」と変換したfactor型のオブジェクトを返すのがcut関数だ。

■実際にcut関数を動かしてみる。
上記の例を実際にR上で行ったのが以下。
> x <- c(90, 55, 79, 80, 100)
> cut(x,breaks=c(0,80,100), labels=c("不合格","合格"), right = FALSE, include.lowest = TRUE)

[1] 合格   不合格 不合格 合格   合格  
Levels: 不合格 合格
点数が先ほどの基準に従ってカテゴリ(合格、不合格)に変換されているのが分かる。

■right = FALSEのオプションは?
先のcut使用例で「right=FALSE」のオプションをしている。この説明をしなければならない。
cutのデフォルト動作は、例えばbreaks=c(0,80,100)と指定した場合、
  • (0,80]の区間を不合格
  • (80,100]の区間を合格
とカテゴリ分けする。
ここで丸括弧は開区間、角括弧は閉区間を示す。でも今回は
80点未満を不合格、80点以上を合格としたいから、
  • [0,80)の区間を不合格
  • [80,100)の区間を合格 (注:ここで100がカテゴリ分けに入らないのは後述)
であるべき。このように区間を分けるためにright = FALSE とする。

■include.lowest = TRUEのオプションは?
先のright=FALSEだけでは「100」がカテゴリ分けに含まれない。そこでカテゴリ分けの末端の開区間を閉区間にし、今回の例では100をカテゴリに含むようにするのが、このオプション。

「right = FALSE」「include.lowest = TRUE」を指定することで、今回我々が望む
  • [0,80)の区間を不合格
  • [80,100]の区間を合格
というカテゴリ分けが実現できる。





2013年4月25日木曜日

相加平均と相乗平均の使い分け

統計学の中で「平均」というときに「相加平均」、「相乗平均」、「調和平均」という3種類がある。
この中で、「相加平均」と「相乗平均」について、その使い分けも含めて整理したいと思って、この記事をポストする(※1)。

まずは、それぞれの定義について整理し、そのあと2つの使い分けについて書く。

■相加平均とは
いわゆる小学校の時にならうもので、算術平均ともいう。
\(x_1\)から\(x_n\)までの\(n\)個のデータがあった場合、相加平均\(\bar{x}\)の求め方は
\[ \bar{x} = \frac{ x_1+ \cdots + x_n}{n}=\frac{1}{n} \sum^n_{i=1} x_i\]
となる。

■相乗平均とは
相乗平均は、幾何平均ともいう。

\(x_1\)から\(x_n\)までの\(n\)個のデータがあった場合、相乗平均\(x_G\)の求め方は
\[ x_G = \sqrt[n]{x_1\times \cdots \times x_n}= \sqrt[n]{\prod^n_{i=1}x_i}\]
となる。

余談だが、\(x_G\)の対数をとると、
\[\log x_G = \log \sqrt[n]{x_1\times \cdots \times x_n} = \frac{1}{n} (\log x_1 + \cdots \log x_n)\] 
となり、相乗平均の対数は各データの対数の相加平均になっていることが分かって面白い。

■相加平均と相乗平均の使い分け
本題の使い分けだが、
平均値が必要な場合、「基本的には相加平均を使う」で構わない。ただし、データがある基準の比のデータである場合に、その比の平均をとる場合は相乗平均を使う必要がある。
いう考え方で問題ない。相乗平均を用いる必要がある場合の例を示す。

■相乗平均を使う場合の具体例
ある会社の2年目の売り上げは初年度の4倍、3年目の売り上げは2年目の3倍でした。売り上げの伸び率の平均は?
この時、単純に算術平均で求めると平均は3.5となる。しかし上記例では、3年目は初年度に比べて4×3=12倍に延びているのに対して、上記の算術平均を用いると、3.5×3.5=12.25伸びることとなり矛盾が生じる。

そこで、相乗平均の出番である。
3年目は初年度に比べて4×3=12倍に伸びているなら、12の平方根(つまり相乗平均!)を求めて、

  • 1年目に、\(\sqrt {12}\)伸びる。
  • 2年目に、\(\sqrt {12}\)伸びる。
のように、それぞれの年で均等な伸び率で伸びると考えるほうが、実情にあう。
そのため、ここでは、相加平均より相乗平均を使うべき例になる。

■相乗平均を使った方が「いいかもしれない」例
上記例以外にも、相乗平均を使った方がいい場合がある例を1つ示す。
それは「平均をとる対象が大きく変動するような場合は、相乗平均で平均をとった方が実感覚と合致する。」というものだ。
例えば、数値群(10,1,1000,1,10)の平均をとる場合を考える。
相乗平均をとると204.4となり、一つの外れ値の1000に大きく引っ張られているのが分かる。
一方、相乗平均をとると10となる。こちらの方が相加平均の204.4より、生データの1や10が大半を占める状況の実感覚に合っているように感じられる。



(※1)調和平均については、必要があれば追記することとする。
(参考) ここと、以下の書籍を参考にした。

2013年4月23日火曜日

「オークション理論の基礎」 読書メモ

オークション理論の基礎(著:横尾真)を読んでる。説明が丁寧でわかりやすい。以下、勉強になったことの個人的メモ。重要そうなところは、後日整理して再ポストする予定。

  • オークションは不完全情報ゲーム。
    • ここの例とは異なり、相手の利得行列などの情報が分かっていない状態で行うゲーム。
    • 相手がいくらまで金を出すとか、どこまでリスクをとるとか、事前にわからないからね。
  • オークションの仕組みやルールを「オークションのプロトコル」という。
  • オークション参加者が自分の評価値を正直に入札するのが支配戦略となるプロトコルは「誘因両立性(Incentive compatibility)がある」という。(この言葉は「行動実験」を行う時にも意識されるらしい。実験する時には、アンケートなどに被験者が正直に答えるようにしてほしいから。)
  • 様々なプロトコルがある。
  • 買い手・売り手のどちらか一方だけが複数でオークションを行うものを「片方向オークション」という。
  • 片方向オークションの例
    • 単一財のオークション
      • 公開入札方式 (open bid auction)
        • 英国式
          • 支配戦略「少しずつ値を上げて、自分の評価値より大きくなると、ビッドをやめる。」
        • オランダ式
          • 戦略的に第一価格秘密入札と同値
          • 一般的な支配戦略は存在しない。(相手の戦略による。)
      • 封印入札方式 (sealed bid auction)
        • 第一価格秘密入札
          • 戦略的に、オランダ式と同値
          • 一般的な支配戦略は存在しない。(相手の戦略による。)
        • 第二価格秘密入札(ビックレー方式)
          • 支配戦略は「自分の表価値を正直に入札する」こと。
          • つまり「誘因両立性」がある。
      • 【収入同値定理】・・・ベイジアンナッシュ均衡が存在する場合、均衡点の収入の期待値は上記4つのプロトコルで等しくなる。
    • 複数財のオークション(組み合わせオークション)
      • 同時多数回オークション(英国式の一般化方式)
        • FCCの無線周波数帯域の使用権オークションで使用されている。
      • 一般化ビックレー入札
        • 誘因両立性あり。
        • 支配戦略均衡における割り当て結果はパレート効率的。
  • 買い手・売り手の両方が複数のオークションを行うものを「ダブル(両方向)オークション」という。
    • 例えば、株取引なんかがこれに相当する。

パレート効率性と囚人のジレンマ

あるゲームで各参加者に支配戦略が存在する場合、そのゲームは各参加者が支配戦略を選択する支配戦略均衡状態となることが予想される。

しかし、支配戦略均衡状態になったとしても、その状態が必ずしも「社会(集団)全体で最適な状態」となっているとは限らないというお話。

「社会全体で最適な状態」というのはどういうものかを考えるために、「パレート効率性」という考え方を導入する。

■パレート効率性とは?
ある集団が、1つの社会状態(資源配分)を選択するとき、集団内の誰かの効用(満足度)を犠牲にしなければ他の誰かの効用を高めることができない状態を、「パレート効率的(Pareto efficient)」であると表現する。また誰の効用も悪化させることなく、少なくとも一人の効用を高めることができるとき、新しい社会状態は前の社会状態をパレート改善(Pareto improvement)するという。言い換えれば、パレート効率的な社会状態とは、どのような社会状態によってもそれ以上のパレート改善ができない社会状態のことである。~Wikipediaより~

具体例として、AさんとBさんが1000円を分け合う場合を考える。この場合、AさんとBさんは自分の取り分が増えれば増えるほどうれしい(効用が大きい)。
  • AさんとBさんが300円づつ分け合う場合・・・これはパレート効率的ではない。なぜなら、例えばAさんが700円でBさんが300円を取るようにすれば、AさんもBさんも取り分を減らすことなく、配分できるからだ。
  • AさんとBさんが500円づつ分け合う場合・・・これはパレート効率的。なぜなら、この状態から配分を変更して片方の取り分を増やそうとすると、もう一人の取り分を減らさざるえないから。
  • Aさんが0円、Bさんが1000円・・・これもパレート効率的。なぜならこの状態からAさんの取り分を増やそうとするとBさんの取り分を減らさざるえないから。
最後の例のように、結果の公平性についてパレート効率性は考えない(Aさんかわいそう)。パレート効率性は、社会全体としての望ましい選択の「必要条件」ではあるが、「十分条件」ではないことに注意。

■囚人のジレンマ
パレート効率性が分かったら、本題の「支配戦略均衡はパレート効率とは限らない」というお話を囚人のジレンマを例に見る。
(例)
警察が共犯2人の身柄を拘束している。この時、
  • 2人とも自白しなければ、犯罪が立証できず、2人とも釈放(それぞれの利得 = 3)
  • 片方だけ自白した場合、自白した者は報奨金を得て釈放(利得 = 5)。自白しなかった者は通常よりも長い懲役になる。(利得=1)
  • 両方とも自白した場合は、通常の懲役(それぞれの利得 = 2)
とする。これを利得行列で表わすと以下の表になる。 

このとき、支配戦略均衡は両方とも「自白する」を選ぶことになる。
でも、これってパレート効率的ではない。
明らかにパレート効率的な状態は「両者が自白しない」状態であり、両者が合理的な判断をしたにも関わらず、パレート効率的な状況に至れない状況になっている。

結論として「支配戦略均衡状態になったとしても、その状態が必ずしも「社会(集団)全体で最適な状態」となっているとは限らない。」


2013年4月19日金曜日

ミニマックス戦略と混合戦略

前回、支配戦略均衡・反復支配戦略均衡について書いたが、それらのどちらも存在しない場合がある。この場合、なんとかして最悪の結果を避けるという考え方の「ミニマックス戦略」をとる方法がある。

下図のような利得行列を考える。ここでゲームはゼロサムゲームで、下図はプレイヤー甲の利得行列を表わしている。(プレーヤー乙は甲の利得の -1倍)
このゲームは両者に支配戦略均衡がない。そのため、プレイヤー甲は乙がどの戦略を選択しても最悪利得が最大になる戦略C(最悪利得が3で他の戦略よりも大きい)を選ぶ。一方、プレイヤー乙は、甲がどの戦略を選択しても最悪損失が最も小さくなる戦略F(最悪損失が-1で他の戦略より損失額が小さい)を選ぶ。

以上から、戦略CとFの組み合わせが均衡点となる。ここでこの組み合わせは以下のような性質がある。
プレイヤー甲が戦略Cを選んだ場合、乙は損失を最小にするために戦略Fを選ばざるを得ない。また逆に、プレイヤー2が戦略bを選んだ場合に、プレイヤ1は利益を最大にするために、戦略Cを選ばざるを得ない。
これは、戦略CとFの組み合わせが丁度、プレイヤー甲の最悪利益を極大にしプレイヤー乙の最悪損失を極小にする鞍点となっている。ゲームに鞍点があればその戦略の組み合わせが均衡点になる。

一方で、鞍点が存在しないようなケースもある。たとえば数のような利得行列の場合だ。(ゼロサムゲームで行列はプレイヤー甲側の利得)
この利得行列には支配戦略均衡が無いからミニマックス戦略で考えると戦略BとDの組み合わせとなる。しかし前述の鞍点がある例と異なり、プレイヤー甲がミニマックス戦略で戦略Bを選ぶなら乙は戦略Cを選んだ方が得。つまり鞍点が存在しない。

このような場合、画一的な戦術(純粋戦術:複数回行う場合に毎回同じ戦略を選択する)のではなく、確率的に戦略を選択(混合戦術)するのが現実的。



支配戦略と支配戦略均衡、そして反復支配戦略均衡

他のプレイヤーがとる戦略のすべてに対して最適な戦略を支配戦略という。例えば、下図のような利得行列を考える。


この利得行列の場合、プレイヤー甲の利得は乙が戦略CとDのどちらを選択しても戦略Aのほうが大きい。そのためプレイヤー甲にとって戦略Aは支配戦略となる。同様にプレイヤー乙の利得は、甲が戦略AとBのどちらを選択しても戦略Cが大きい。そのため甲と乙が合理的である場合、戦略の組み合わせは(A,C)の組み合わせに落ち着く。この状態を支配戦略均衡という。


一般には支配戦略均衡が存在しない場合もある(というかその場合の方が多い)。例えばジャンケンを考える。相手がグーを出す場合にはパーを出すのが利得が大きい一方で、相手がチョキを出す場合はグーを出すのが利得が大きく、支配戦略は存在しない。

支配戦略が無い場合にも、相手がどのような戦略をとっても、利得が大きくない戦略を削除していくことにより、最終的に選ぶべき戦略が残る場合がある。これを反復支配戦略均衡(支配される戦略の逐次消去)という。

例えば、下図のような利得行列を考える。
この利得行列は、両プレーヤーにとって先述の支配戦略は存在しない。
しかし、プレイヤー乙は、プレイヤー甲が戦略AやBをとっても戦略Eが最も利得が高くなることはないため、プレイヤー乙は戦略Eを選択することはない。そのため戦略Eを除去し、A、B、C、Dの四つだけの利得行列(下図)を考える。
この行列では、プレイヤー乙には支配戦略が存在しない一方で、プレイヤー甲は戦略Aが支配戦略である。そのためプレイヤー甲が戦略Bを選択することはない。そのため行列から戦略Bを除去すると、自動的にプレイヤー乙は戦略Dをとらざるを得ない。(戦略Aのもとでは戦略Dのほうが利得が大きいため。)最終的に戦略の組み合わせ(A、D)が均衡状態となる。

このように、相手の戦略選択に関わらず利得の少ないものを取り除いていって生まれる均衡を反復支配戦略均衡(支配される戦略の逐次消去)という。