ミクロ経済学の我流シミュレーション その1 基礎経済モデル
ミクロ経済学に基づき、経済シミュレーションまたはゲームを作った。モデル自体は簡単なものなのだが、「動く」までにするのが一苦労であった。コンピュータでシミュレーションができるようになるまでには、いろいろ決め難いことを決めねばならない。あいまいにしたいことがあれば、どうやってあいまいにするのか、乱数を使うならどのような乱数を使うのかを決めなければならない。企業が赤字の場合どうするか、パラメータが 0 や無限に近くなるのをどのような考え方で防ぐか、そういったことを決めていかねばならなかった。本記事は、その記録である。
基本的なアイデアは、価格によって需要と供給を決め、その需要と供給が一致するように、つまり(需要-供給)の二乗が最小となるように、最適化関数を用いれば、経済シミュレーションができるのでは?…というものである。
しかし、商品の生産について考えてみると、価格が増えると供給が増えるという経済学の法則が、個々の企業においては成り立っていないと考えるようになった。もちろん、利益が出ていれば新しい企業が参入があるし、利益が出ていなければ退出があって、そういう意味で「供給力」の増減はあるだろうけれども、むしろ、個々の企業は赤字にならない限り需要があれば必ず生産はするのではないかと考えるに致った。しかし、そう考えると、需要と供給は必ず一致するわけで、(需要-供給)の二乗を最小化するという道は崩れる。替わりに各企業を総合した利益を最大化することを最適化に組み込むことにした。(労働需給に関してのみ、(需要-供給)の二乗の最小化を組み込んだ。)
マルクス経済学を参考に、商品は、必需品、贅沢品、原料の三種ということにした。労働者は必需品を毎期需要し、また、貯蓄を持ち、(マルクス経済学と違って)貯蓄等の余裕から贅沢品を需要すると考えた。必需品、贅沢品、さらに原料も、原料と労働から作られると考えた。
資本家は、違った戦略を持ったエージェント 5人で表し、一期につき一分野に一社しか企業が参入できないと決めた。モデルを簡単にするためである。参入する資本家はランダムとした。
本来は、このシミュレーションを使って経済学的知見を確認するのが目的であった。しかし、思いのほか、シミュレーションをまともに動かすのに手こずり、たまに「まとも」に見える動作をするだけで満足するのが現状で、経済的知見のような微妙なことを言えるまでには致っていない。それが残念である。今後の課題としたい。
プログラム言語は、流行の Python を使った。人工知能入門を私が勉強したときに Python の最適化関数を知ったのが、Python を使おうと思ったキッカケである。
2018-03-19 17:04:10 (JST) in 経済学 | 固定リンク | コメント (10) | トラックバック (0)