富の理論の数学的原理に関する戯言

数学とその応用分野(主に経済学)を細々とやっているものです。

クールノー学習 (2)均衡へ到達するプロセス

前回はクールノー競争の基本モデルを概観しました。

今回はその続きです。

 

 

〇前回たどり着いた連立方程式(再掲) 

 y^*_{1,t} = -\frac{1}{2}E_1(y_{2,t})+\frac{1}{2}(A-c_1)

 y^*_{2,t} = -\frac{1}{2}E_2(y_{1,t})+\frac{1}{2}(A-c_2)

【意味】

企業1のt期における最適生産量はt期における企業2の生産量の予測値で決まる

企業2のt期における最適生産量はt期における企業1の生産量の予測値で決まる

 

~企業1ビジョン~

前回は両企業の反応関数を導出して眺めていました。

しかし、それはある意味で神の視点で上からこの市場を眺めていたと言えます。

実際に意思決定する主体の企業1の気持ちになってこの問題を再考してみましょう。

 

企業1は自社の費用構造、生産財の市場での評価等の情報を持っており、以下の式に従って供給量を決定すれば今期の自社の利潤が最大化できることが分かっています。

 y^*_{1,t} = -\frac{1}{2}E_1(y_{2,t})+\frac{1}{2}(A-c_1)

具体的な数字を与えてみます。

 A = 100 c_1 = 10とおくと

 y^*_{1,t} = -\frac{1}{2}E_1(y_{2,t})+\frac{1}{2}(100-10)

 y^*_{1,t} = -\frac{1}{2}E_1(y_{2,t})+45

つまり、ライバル企業が全く供給をしなかった場合に45供給して、そこから相手の供給量2につき1供給を減らすのが最適であるという情報が企業1にはあります。

 ただし、企業2が今期にいくつ供給してくるのか、正確な情報はありません。

仮にこの経営者が聡明でライバル企業も自社と同じ構造の意思決定をするだろうということに気づいたとしても

  y^*_{2,t} = -\frac{1}{2}E_2(y_{1,t})+\frac{1}{2}(A-c_2)

という式の内 c_2の部分、相手の生産費用の正確な情報がわからないでしょう。

さらに言えば、相手が自社の供給量を予測した値 E_2(y_{1,t})を知るためには相手企業の予測形成プロセスが分からなければなりません。

そこで次善の策として、過去の企業2の供給量の情報から今期の供給量を予測するという方策が考えられます。

 

クールノー学習

では実際にどのように予測しましょうか。

ここでは最も素朴ともいえる方法、クールノー学習プロセスに従うと仮定します。

 このプロセスではプレイヤーは相手の前期の戦略を今期もそのまま取ってくると考えると仮定するのです。

つまり今回のケースでいうと、企業1は企業2の前期の供給量を今期の供給量の予測値とするということです。

 E_1(y_{2,t}) = y_{2,t-1} 

 y_{2,t-1}はt期の段階では既に企業1が観測している情報なので、最適反応関数を計算することができます。

 y^*_{1,t} = -\frac{1}{2}y_{2,t-1}+45

例えば企業2が前期20供給していた( y_{2,t-1}=20)とすると、

企業1は今期 y^*_{1,t} = -\frac{1}{2}×20+45 = 35供給することになります。

 

もちろん、企業2も企業1と同様にクールノー学習しているとすれば、

 y^*_{2,t} = -\frac{1}{2}y_{1,t-1}+\frac{1}{2}(A-c_2)

 となり、企業1と合わせると連立方程式になることがわかります。

 y^*_{1,t} = -\frac{1}{2}y_{2,t-1}+\frac{1}{2}(A-c_1)

 y^*_{2,t} = -\frac{1}{2}y_{1,t-1}+\frac{1}{2}(A-c_2)

(余談 

筆者はこれを連立差分方程式と呼んでもいいかなと思ったのですが、差分方程式の定義から考えて自身とその過去の変数が同じ式に含まれていないと差分の関係式とは言えないか…?いやでも1期前の企業2の供給量が2期前の企業1の供給量の関数だから今期の企業1の供給量と2期前の企業1の供給量の関数にはできるかな?等々色々考えてます。

どなたか詳しい方はご教示願いたいです。

このまま連立方程式を同次形に直して係数行列の固有値を計算して収束の判定をしたり、一般的に解いたり(時間だけの関数にしたり)することも可能ですが、またの機会に譲ります。)

 

今回はこの定常解がどうなるかと、実際に数値計算してどのように収束していくのかの様子を観察します。

 

定常解(といってもこれって…?)

定常解とは時間的に一定で変わらない状態である定常状態における解のことです。

つまり今回の例でいうと(かみ砕きます)、この連立方程式が示す意思決定プロセスに従う2つの企業がどんな供給量に落ち着くかを調べるということです。

具体的に数式で書くと、 y_{1,t}=y_{1,t-1}=y^s_1かつ y_{2,t}=y_{2,t-1}=y^s_2が成り立つときです。ここで、 y^s_1 y^s_2はそれぞれ企業1と企業2の定常状態における供給量を示します。定常状態ではt期もt-1期も(さらにそれ以前も)供給量が同じ(時間に依らない)はずなので、これらは全て同じ値になるだろうということです。

 結果、連立方程式は以下のようになります。

 y^s_1 = -\frac{1}{2}y^s_2+\frac{1}{2}(A-c_1)

 y^s_2 = -\frac{1}{2}y^s_1+\frac{1}{2}(A-c_2)

この式は計算できますね。

いや計算できるもなにも、この式は静学モデルのときのクールノー競争の式と同じものですよね(最適反応 y^*だったのが定常値 y^sに変わっただけ)。

つまりこの連立方程式の解は計算するまでもなく

 (y^s_1,y^s_2) = (\frac{A-2c_1+c_2}{3},\frac{A-2c_2+c_1}{3})

になります。

 結果として、クールノー学習プロセスを仮定した場合でも最終的には静学モデルと同じ解に収束していく(もちろん収束条件が満たされていればですが)ことが分かります。

 

数値計算

これだけだと胡散臭いので(少なくとも私はそう思います)、具体的な数字を入れてみて本当にそうなるのか見てみたいと思います。

パラメータ(事前に置く値)は、 A=100、c_1=c_2=10としてみましょうか。

すると、それぞれの反応関数は

 y^*_{1,t} = -\frac{1}{2}y_{2,t-1}+45

 y^*_{2,t} = -\frac{1}{2}y_{1,t-1}+45

となりますね。

この体系を計算するには初期値(最初の期の供給量)を与えてあげないといけないので、初期値 (y_{1,0},y_{2,0}) = (45,0)としましょう。0期には企業1の独占です。

以上のセットアップで1期のそれぞれの供給量を計算してみましょう。

まず企業1は y^*_{1,1} = -\frac{1}{2}×(0)+45 =  45で0期と変わらず。

次に企業2は y^*_{2,1} = -\frac{1}{2}×(45)+45 =  22.5で供給を増やしています。

続いて2期。

企業1:  y^*_{1,2} = -\frac{1}{2}×(22.5)+45 =  33.75と供給減

企業2:  y^*_{2,2} = -\frac{1}{2}×(45)+45 =  22.5で据え置き

ついでに3期

企業1:  y^*_{1,3} = -\frac{1}{2}×(22.5)+45 =  33.75と据え置き

企業2:  y^*_{2,3} = -\frac{1}{2}×(33.75)+45 =  28.125で供給増

とまあこの辺りで十分でしょう。

なんとなくパターンが見えてきましたね。

だんだんと同じ供給量に近づいていきそうな感じがします。

この収束先が先ほど求めた定常解なわけです。

このセットアップにおける定常解は

 (y^s_1,y^s_2) = (\frac{100-2×10+10}{3},\frac{100-2×10+10}{3}) = (30,30)

となるので、このまま計算を続けていけばこの値に収束していきます。

今回は限界費用の値を両企業で同じにしたので定常では同じ供給量になりますが、もちろん異なる値にすれば異なる値に収束します。

 以下の図1と図2はそれぞれ同じ初期値から計算した企業1と2の供給量の推移です。

図1は c_1=c_2=10、図2は c_1=1、c_2=20の設定でそれぞれ計算しました。

f:id:Taku_Antoine:20190404150336j:plain

図1

f:id:Taku_Antoine:20190404185136j:plain

図2


(縦軸は供給量、横軸は期間を表している)

定常均衡値は解析的に求めた式にセットアップ毎のパラメータを代入して計算しております。

限界費用が異なるセットアップでは、限界費用が低い企業は供給量が大きい値に収束し、限界費用が高い企業は供給量が小さい値に収束していることがわかります。

そしてもちろんどちらのセットアップでも解析的に求めた定常均衡値と数値計算で20期間計算した値がほぼ一致し、収束していることが見て取れます。

 

まとめ

今回はクールノー学習プロセスというものを導入して時間的広がりがある場合のクールノー競争がどのようにして定常解に収束していくのかを見てきました。

結果として、クールノー学習(単に前期の実現値を今回の予測値とする)といった単純なプロセスでも静学モデルで予測された均衡に辿り着けることがわかりました。

今回はクールノー学習のみを扱いましたが、予測値を形成する方法は他にも色々と考えられます。例えば、過去の実現値の平均値をとる場合過去の一定期間までの情報を使う場合等々。学習方法を変えることで①その学習方法で同じ均衡に辿り着けるのか?②均衡に収束するまでの期間は伸びるのか?縮まるのか?等の議論もできるようになり非常に面白いです。また、③別の学習法を取る企業同士を競争させると均衡が変化するか?なども興味深い点であると思います。

今回の計算はExcelやその他プログラミング言語等で簡単にできますし、アレンジも容易なので皆様も色々なセットアップや学習方法で試してみると面白い発見があるかもしれません。

 

次回は、財の異質性の拡張についてとできればベルトラン競争について若干触れたいなぁと思っています。