ポアッソン過程の相関について

このQ&Aのポイント
  • お店のレジにお客さんがポアッソン過程でやって来る場合、二つのレジのお客のタイミングの相関を計算する方法について知りたい
  • 二つのレジにやってくるお客のタイミングを1日分記録し、相関を計算する方法を教えてください
  • また、お客とお客の間の時間間隔の相関についても理論や定義がありましたら教えてください
回答を見る
  • ベストアンサー

ポアッソン過程の相関について

なんとも漠然として疑問で恐縮ですが、、、 多分、いわゆる「待ち行列理論」あたりに求めるものがあるのではないかと思って質問します。 たとえば、お店のレジが二つあって、それぞれの列にはお客さんがポアッソン過程(お客と次のお客の間隔が指数分布に従う乱数)でやって来ます。 二つのレジに並ぶお客の行動は独立ではなく、何らかの相関があると思います(こっちのレジが混んでたら、こっちに並ぶ。。。逆相関?みたいなものがある?) 相関があってもなおそれぞれのレジにやってくるお客はポアッソン過程だとして、、、 二つのレジにやってくるお客のタイミングを1日分記録して、お互いのレジにやってくるお客さんのタイミングの相関はどうやって定義(計算)されるのか。。。という質問です。 レジA にお客が到達する時刻を A(1), A(2),... A(N) レジBに客が到達する時刻をB(1), B(2),... B(M) (当然やってきた人数が異なる) とした場合の相関の計算法が知りたいです。 できましたら人がやってくるタイミングの相関と、客と客との時間間隔の相関に関しても何か理論・定義などがありましたらご教示ください よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ur2c
  • ベストアンサー率63% (264/416)
回答No.4

初めからそう書いてあれば,話は簡単でした. ポアソン過程のパラメタは到着率だけですから「ポアソン過程 A と B に関係がある」と言ったら inhomogeneous Poisson process を想定することになり,「 時刻 t における A の rate a(t) と B の rate b(t) に関係がある」ことまで必然です. だからたとえば従来は a(t) と b(t) を独立に想定していたところを簡単に拡張するなら, z(t) という景気動向みたいなものを想定して a(t) = f(z(t)), b(t) = g(z(t)) にします. 混乱のもとは「こっちのレジが混んでたら、こっちに並ぶ。。。」という説明です.「なら,ポアソンじゃないじゃん」となりますから.

shingo-numtech
質問者

お礼

大変な遠回りをしてしまったようです にもかかわらず、根気強くお付き合い頂いて感謝しています 教えて頂いたキーワードを中心に調査、こうさつを進めます 本当にありがとうあ

その他の回答 (3)

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.3

> ぼやかして書いてます > 説明が後出し後出し 事情はわかります. > 人がどういうタイミングでどちらのレジにやってくるか それが人の行動モデルです. 私なら,こういう方針で行きます:人の行動モデルを作る.モデルのパラメタを過去のデータから推定する.行動モデルで客の到着過程を生成する. モデルのパラメタとは,たとえば到着率とか,集団到着を仮定するなら集団の大きさの分布とかです. > 人がレジにやってくる過去のデータを分析して、統計量を推定して、その統計量をもった乱数を生成して、人がやってくるタイミングシナリオを多数作って、 待ち行列の計算ではなくシミュレーションでやるという方針が確定なら,そこまで既存の指標を示すことにこだわる必要はないでしょう.自分で便利な指標を定義すれば済むことで. 蛇足ながら,推定するのはモデルの母数であって,統計量ではありません.ついでに,統計量と統計値を区別した方が話が正確に通じると思います. > ヒストリカルシミュレーションと呼称したりします 情報処理では trace-driven simulation なんて呼びます. Historical simulation という言葉は,finance の分野では違う意味 http://en.wikipedia.org/wiki/Historical_simulation で使ってます. > ブートストラップ法 やるなら,resampling でどういう性質を保存するかが問題です.ポアソン性を保存なら必然的に「無相関」なので.

shingo-numtech
質問者

お礼

何度も回答、本当にありがとうございます 正にファイナンスにおけるシミュレーションに取り組んでいるのです (リスク管理のシミュレーションです) 「レジ」と書いたのも、「やって来る人」と書いたのも 質問のためであって、本当は全然違う状況なのです そこでいう所の、「人の行動モデル」(人ではないですが)が、現行では ポアッソン乱数(負の二項乱数なんてのも使ったりする) を使ったモデルなのです そこで、モデルを拡張しようと考え、相関を考慮できないかなぁと、いろいろと考察を 重ねているところです 回答を参考にもう少し練り上げてみます またつっかえた時には質問することがあるかと思いますが、その時はまたよろしくご教示下さい ありがとうございました

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.2

> シミュレーションをしたい 多分,シミュレーションは手段で,やりたいことではないでしょう.「やりたいこと」は普通,解析の結果を使って「何を決めたいのか」を指します. > 生成されたシナリオで統計をとったら、もちろん過去データと同じ(似た)統計量(平均、分散、そして相関)になっていると、、、ということを考えていました 実測があるのに,更に架空のシナリオを作りたいのは,なぜでしょう?

shingo-numtech
質問者

お礼

回答をありがとうございます 前者の質問に関してですが、やりたいことはシミュレーションです。 「実測があるのに、架空のシナリオ、、、」とありますが、、、ここは説明が足りませんでした。 いろいろと訳があって、ぼやかして書いてますが、実際はレジにやってくる人のシミュレーションではなく、そこから先があります。 例えば、レジAとレジBで人を1人処理するのにコストが幾らかかる、というコストモデルが別に存在します。 そこで、 人がレジにやってくる過去のデータを分析して、統計量を推定して、その統計量をもった乱数を生成して、人がやってくるタイミングシナリオを多数作って、コストのモデルをXにしたらトータル幾らのコストが予想されるか、コストのモデルをYにしたらまた幾らになるか、、、という結果を得る。 というようなことをやりたいと思っています 過去の実測データをそのもま使うという方法もあります(我々はヒストリカルシミュレーションと呼称したりしますが)。それですと過去に100データしかないと、100個の結果しか得られません(ブートストラップ法といって、ヒストリカルデータを水増しする方法もあったりします)。そこで、統計量だけに注目して、統計量を再現するような多数の乱数に基づいたシナリオ(例えば1000000個)をつくって、結果の統計量をもって将来の予想値とする、、、というようなイメージです。 2段階のプロセスがある訳です ●「人がどういうタイミングでどちらのレジにやってくるか」(これを乱数でシミュレーションする) ●「人がやってきたら幾らのコストがかかるか」(いろいろ試したいモデルがある) =>結果として、与えられたコストモデルでトータル幾らのコストがかかるか(期待値、分散)、そして、どういったコストモデルにしたらコストを最小化できるか、、、等が調べたいことです。 この前半の部分(乱数シナリオ生成)は「相関を持った多変量ポアッソン乱数」(レジがAとBなら2変量ポアッソン乱数)を生成することでシナリオが作れるのではないかと考えまして、じゃあ相関は過去データから相関をどうやって計算しようか、、という質問でした。 説明が後出し後出しになって、いろいろとご面倒をかけてしまいました。

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.1

> 二つのレジに並ぶお客の行動は独立ではなく、何らかの相関があると思います(こっちのレジが混んでたら、こっちに並ぶ。。。逆相関?みたいなものがある?) ポアソン過程は無記憶です.もしもある客の到着がそれ以降の客の到着に影響するなら,到着はポアソン過程ではありえません.ですから > 相関があってもなおそれぞれのレジにやってくるお客はポアッソン過程だとして、、、 というのは,論理的に矛盾です. でも,各レジへの到着をポアソン過程と「みなす」ことはできるかもしれません.たとえば各レジへの到着はポアソン過程だという帰無仮説を立てて棄却されなければ,(社会通念上)ポアソン過程だと思ってもかまわんだろ,ということになります.その場合「二つのレジに並ぶお客の行動は(観測した限り実際上)独立」だ,ということになります. > お互いのレジにやってくるお客さんのタイミングの相関はどうやって定義(計算)されるのか 定義は自由に作れます.でも,その「相関」情報を使って何をするのかを決めておかないと,作った定義が目的に対して適切かどうか判断できません. > レジA にお客が到達する時刻を A(1), A(2),... A(N) > レジBに客が到達する時刻をB(1), B(2),... B(M) > (当然やってきた人数が異なる) > とした場合の相関の計算法が知りたい もともとポアソン過程があって,それが A と B に分割されるとします.ある客がどのレジに行くかの判断は,レジ自体(行きやすいか)と直前の客の判断(先客がどっちに行ったか)とに影響されるかもしれない.そこが知りたいなら AA, AB, BB, BA という遷移を持つマルコフ鎖を考えて,遷移頻度を調べればわかります. もう少し説得力のある行動を想定するなら,「前の客のサービスが済んでいないうちに次の客が到着した場合,その客は短い方の行列にならぶ」とかもありでしょう.つまり先客が見えなくなっていれば影響はないとするわけです. 要するに,客の行動モデルを作るのが先決だという意見です.

shingo-numtech
質問者

お礼

まずは詳細な回答をありがとうございました。 思っていたより、ずっと深い内容で、、、戸惑っています。 根っこから考え直さないといけないようです。 一応やりたいことを書いておきますと、、、 過去3時間におけるレジAとレジBにやってくる客の到達時間を記録します(レジじゃなくても、交差点Aと交差点Bにおける過去1年間の事故の発生時点でもなんでも、、、) 時間軸上に、レジAに人がきた時点に赤い点、レジBに人がきたところに青い点を打ちます。 すると赤い点が濃いところは青い点も濃いとか、その逆とか、まったく関係なさそうだ、、、などがあるとおもいます。 それを上手に定量化して、、、 次に上記でもとめた何らかの相関をもった2つの乱数(ポアソンかな)を生成して、モンテカルロシミュレーションをしたいのです。 赤が濃いところは青も濃い、、、ということであれば、レジAの乱数が大きい時はレジBの乱数も大きく出がち、、、といった感じで相関をもった乱数を生成します。 それを例えば10000回繰り返したとして、生成されたシナリオで統計をとったら、もちろん過去データと同じ(似た)統計量(平均、分散、そして相関)になっていると、、、ということを考えていました もう少し考えてみます ありがとうございました

関連するQ&A

  • 相関について教えてください

    A,1521 B,0158 C,3682 D,1135がありAに一番相関があるものはbB,C,Dのうちどれでしょうか。まったくの初心者なので優しい方お願いします。まったくの初心者なので公式など計算過程をできるだけ詳しく教えていただけたら光栄です。

  • 変数AとBは相関あり、BとCも相関あり…のときにAとCに相関がないというのはどう解釈すれば良いでしょうか。

    3つの変数があり、変数Aと変数Bの間には有意な正の相関がありました(P<0.01)。BとCの間にも同様に正の相関がありました(P<0.05)。 しかし変数AとCの間で回帰分析をすると、有意な相関は認められませんでした(P=0.23)。 この様な結果になることは理論上あるのでしょうか。また、理論上あり得るとしても、結果の解釈が難しくて困っています。Aは、Cと相関のあるBと相関がある以上、AとCの間は全く無関係と言い切れるのでしょうか。 ご回答・アドバイスをお待ちしております。

  • 相関係数が1になるのはなぜ

    データ群Aとデータ群Bの相関係数を調べようとしています。 データ群Aはy=x データ群Bはy=2x-5 0<=x<=10 このデータ群の相関係数を 共分散/(√Aの分散×√Bの分散) で計算すると相関係数が1となります。 明らかにデータ群AとBが違っているのに相関係数が1になるのはなぜなのか、また、このデータ群の相関係数の正しい求め方を教えてください。 よろしくお願いします。

  • 相関係数について教えて下さい

    算出された相関係数の見方について疑問があります。 知識のある方、教えて頂ければ幸いです。 下のようなデータがあるとします A 100→200→400→800 B 50→100→200→400 C 50→150→350→750 AとB AとC、の数列の相関について考えるとします。 *BとC の相関については考えません。 Aの数列は100からスタートして次は2倍、その次は前の数字の2倍と、倍、倍で増加します。Bの数列は、50からスタートして、次は2倍、その次は前の数字の2倍と、倍、倍で増加します。 AとBは数の増加率が同じ場合です。ここでA,Bの相関係数を 計算すると、1と算出されました。 次にCですが、Cの数列はAの数列の増加する値と同じ値を 加算していきます。Aは最初の100に対して、次は200なので、 100の増加、するとCも、最初の50に対して100増加させています。 2行目以降も同じです。このAとCの相関係数を計算しても、1と算出されました。 AとB の相関係数は1 AとC の相関係数も1 Bと、C の数の増加は明らかに違うのに、両方共に Aに対する相関係数が1と出てきてしまいました。 どのように解釈して良いのか困っています。 私が素人判断で勝手に考えていたのは、 AとBは相関が一致していて、 AとCは増加する傾向は同じであるが、変化量の割合に違いがある為、 AとBほどには相関が高くない数字が出るとばかり思っていました。 相関係数も様々な種類があるようなのですが、変化の量も測定できるような、統計数値はありませんでしょうか?   

  • 2つの数字の相関性?

    ある機械Aで計ったサンプル群データ(たとえば1、2、3、4、5)があるとき、別の機械Bで計り、「ほーら機械AとBで差はないでしょ」という時のデータ相関性をみる計算などはなんというのでしょうか? できれば5~6検体で相関性をみたいのですが、方法なども教えていただきたく思います。よろしくお願いします。 低レベルな質問ですみません。

  • Excelで乱数によって出た値を相関図に記録していく方法ってありますか?

    Excelの乱数によって表示された値を再計算(F9キー)を押した分だけ記録していく方法はあるでしょうか? 出た値をグラフ(相関図)に記し、残していきたいのです。 しかも、マクロを使わずにできるだけ簡単にやることができれば良いのですが・・・。 例えば、 A1~A2⇒ =RAND() と入力し、次にB列をx座標、C列をY座標として 再計算(F9キー)を押す(1回目)と、 B1⇒ A1セル番地の値 C1⇒ A2セル番地の値 が出て、グラフ(相関図)に1点目が記される。 また再計算(F9キー)を押す(2回目)と、 B2⇒ A1セル番地の値 C2⇒ A2セル番地の値 が出て、グラフ(相関図)に2点目が記される。 また再計算(F9キー)を押す(3回目)と、 B3⇒ A1セル番地の値 C3⇒ A2セル番地の値 が出て、グラフ(相関図)に3点目が記される。 ・・・(以下同様に) 再計算(F9キー)を押すたびにグラフ(相関図)に点が記され、過去に記された点(値)も残るようにしたいわけです。 どうかよろしくお願いします。

  • 相関係数

    相関係数を求める計算方法を教えて下さい。 使用するソフトはExcelですが、分析ツール・相関係数を求める関数は使えないというルールがあります。 例として数字を挙げさせていただきます。 A B 1 1059 2 6843 3 7548 4 2489 5 3151 6 2246 7 4832 8 2484 9 1256 10 3218 移動平均を求め、Aと移動平均のデータ間の相関係数を求めるというものです。 移動平均の区間は3とさせていただきます。 よろしくお願いします。

  • 相関係数 入力方法

    =CORREL(A1:A12,B1:B12)の計算式をつかって2つの相関係数はわかるのですがデータが三個以上の場合、=CORREL(A1:A12,B1:B12,C1:C12)とするとエラーになりますがどういう入力をすればABCの相関係数がわかりますか?

  • 「予測値と残差の相関係数は0」を証明する計算過程

    まずは添付画像をご覧ください。 「予測値と残差の相関係数は0である」を証明する計算の 赤線で引いた最初の2行の計算過程を教えて下さい。 本を隅々まで読んでも 1行目から2行目に急に変わるのが理解できません (それ以降は分かったのですが)。 ちなみに、 hat{} (^)は予測値を表します。 hat{B}は回帰係数の予測値です。 残差はe_i = y_i - hat{y_i}です。 どうか教えて下さい。 お願いします。

  • 相関係数の計算について質問です。EXCELにCORREL関数というのが

    相関係数の計算について質問です。EXCELにCORREL関数というのがあり、2つの変数の相関係数を計算できることを聞きました。一種の回帰分析のような計算をすることのようです。計算式(EXCELの関数)は=CORREL($A1...$A100,$B1...$B100)というような式のようです(この場合、同一変数のA列の1から100行までのデータと、相関をみる別の変数のB列の1から100行までのデータの相関を計算し、A列の変数とB列の変数の相関値(答えはひとつ)を出すということのようです。そこで質問なのですが、この100のデータの個々の相関係数(つまり、データひとつひとつをこの関数(CORREL)で計算した相関値をあとでその総和としての100のデータの相関値にする計算はできるのでしょうか。つまり、この100のデータの分類(同種の仲間として分析したい)をやる場合、その同種の分類の数だけこの関数計算をしなければならないので、先に個々のデータごとに必要な分析結果を出しておいて、後で同分類ごとに集計(総和)した結果を出したほうが早いと思ったので、この質問をしています。そもそも、この考え方のほうが結果が早く出るのかということも含めて、どなたかよくご存知の方、おしえてください。お願いします。