たくさんのひと、対等な関係

  • ここで、任意人数の取引における状態の時間変遷のとらえ方・表示の仕方についてコメントした
  • こうだろうなと思う
  • ある個人の富の量の時間変遷をプロットしている。横軸に時間、縦軸に富の量である
  • 知りたいのはN人全体の富の分配状態の時間変化
  • 2人のグラフを見直そう
    • 横軸に時間、縦軸に2人のうちの1人の富の量となっている
    • ここで考え直す
    • 2人の場合には、横軸に時間、縦軸は、「等長線分上の点」が状態を表し、その点は、2人の富の比率p:1-pを表した点である
    • 2人のグラフが「十分に情報を与えて」いるのは、2人の配分状態に関するすべての情報をすべての時刻について表示できているから
  • さて、N人に話を戻す前に、3人に話を広げよう
    • 3人の富の量p1,p2,p3はp1+p2+p3=1を満足していて、p1,p2,p3はすべて正
    • これは、x,y,z軸の3次元デカルト座標の斜面の三角形x+y+z=1に相当する
    • 3人の富の状態はこの(正)三角形上の点であって、時間経過は、この正三角形上の移動になる
    • 時間を追っていくと、この正三角形上の点の「周辺部にドリフトしていく」か(正確には、3頂点のいずれかに落ちていく)、「正三角形をくまなく巡る」かという話になる
  • 人数を4人にしよう
    • 2人が線分、3人が正三角形、では、4人は?これは正四面体
    • これは、「正単体」と呼ばれるものである(ryamada本なら『4.1.8 カテゴリの配置、カテゴリ間の非独立性、正単体』)
    • 正単体はグラフで言えば完全グラフなので、実は、この話題に関連して、この日の記事で、この記事からの連想で記載していた。なかなか、すぐに全部を思いつかないものだけれど、完全グラフと正単体をすぐにつなぐようにしておけば、思いつかないタイムラグは短くてすむ
  • 多次元のデータをとらえるために、正単体上の位置を、次元によらず、一般的にスカラーで表せたらよさそうだ
  • 定常状態になるようなら、その分布を時間の要素を取り外して表現することもできそうだ
  • ちなみに、2xN分割表は、自由度がN-1。このときの統計量はN-1次元空間にN個の点を配置して作る正単体で考えることができる。ここでの統計量はカイ二乗値でとってもよい(多次元正規分布でとっても良い)。中央付近はカイ二乗統計量がうまく、「位置」を方向によらず表してくれる。正単体の周辺部分は歪んでいる(正規分布カイ二乗分布は楕円(楕球)状に広がっているのに、正単体の周辺部分は「三角形的」にとがっていたり、まっすぐだったりするから)。
  • 正単体座標はこちらの関数CategoryVector()で作れる
CategoryVector<-
function (nc = 3) 
{
    df <- nc - 1
    d <- df + 1
    diagval <- 1:d
    diagval <- sqrt((df + 1)/df) * sqrt((df - diagval + 1)/(df - 
        diagval + 2))
    others <- -diagval/(df - (0:(d - 1)))
    m <- matrix(rep(others, df + 1), nrow = df + 1, byrow = TRUE)
    diag(m) <- diagval
    m[upper.tri(m)] <- 0
    as.matrix(m[, 1:df])
}
  • たとえば4人の場合。
N<-4 # 4人
cv<-CategoryVector(N)
cv # 長さ3の4つのベクトルが行ベクトルとして出る
> cv # 長さ3の4つのベクトルが行ベクトルとして出る
           [,1]       [,2]       [,3]
[1,]  1.0000000  0.0000000  0.0000000
[2,] -0.3333333  0.9428090  0.0000000
[3,] -0.3333333 -0.4714045  0.8164966
[4,] -0.3333333 -0.4714045 -0.8164966
  • こちらでやっているように、(p1,p2,p3,p4)の4つの値をシミュレーションして格納したうえでプロットできよう
  • 4人〜3次元なら、3次元プロットの映画にすれば「完全に」観ることができそう(僕はひとまずここまで)