喫煙レモンの理論

Java アプレットをロードします。環境によって、ロードに時間がかかることがあります。画面が切り替わるまでしばらくお待ち下さい。
これは、山形浩生氏がブログ記事「喫煙レモンの理論」(http://d.hatena.ne.jp/wlj-Friday/20140620/1403251945)で書いたモデルを視覚化したもので、規制がさらなる規制を呼ぶという悪循環をモデル化したものです。[br][br][b]・モデル[/b][br][br]このモデルの前提は以下の通りです。[br][br][list][br][*]一定の面積の土地に一定の人数の人が住んでいる。[br][*]その中には、決まった割合の喫煙者がいる。[br][*]その土地は、フリースペースと嫌煙スペースに分かれている。[br][*]フリースペースは喫煙してよい場所、嫌煙スペースは喫煙が禁止された場所である。[br][*]フリースペースの喫煙を許容できない人が増えると、嫌煙スペースが広くなる。[br][*]喫煙に対する許容度は人によって異なる。[br][*]許容度は、単位面積当たりの喫煙者密度について正規分布する。[br][/list][br][br]このようなモデルでは、以下のような循環が起こる可能性がある、というのが山形氏の主張です。[br][br][list=1][br][*]喫煙に対する許容度の低い人の要望によって嫌煙スペースが増える。[br][*]その分フリースペースが減る。[br][*]フリースペースの喫煙者密度が上昇する。[br][*]これまでフリースペースの喫煙を許容していた人も許容できなくなる。[br][*]その要望によってさらに嫌煙スペースが増える。[br][*]その分さらにフリースペースが減る。[br][*]フリースペースの喫煙者密度がさらに上昇する。[br][*]以下フリースペースがなくなるまで同じことが繰り返される。[br][/list][br][br](これはあくまで教材作者による解釈です。教材作者が山形氏の記事を読み違えている可能性もあるので、詳細は元記事を参照してください。)[br][br]このような悪循環がどのような条件で起こりうるかを、インタラクティブにテストするために作られたのがこの教材です。教材の使い方は以下の通りです。[br][br][b]・上のグラフの青色の線[/b][br][br][list][br][*]この曲線は、喫煙者密度に対する許容度の分布を示しています。[br][*]この分布は正規分布であると仮定されていますが、ここでは問題の本質をわかりやすくするため、変数を変換し、横軸に許容できない人の比率、縦軸に許容できない喫煙者密度をとっています。これは数学的に言うと、正規分布の累積分布関数の逆関数であり、分位点関数、プロビット関数、確率表現関数などと呼ばれます。これは表現形式だけの問題で、表現している分布は同じものです。[br][*]この分布は、許容喫煙密度の平均値と標準偏差という2つのパラメータによって決まります。[br][*]この2つのパラメータを表しているのがグラフ左上の青色のスライダーです。[br][*]このスライダーをマウスで左右にドラッグすると、曲線の形状をリアルタイムで変更することができます。[br][/list][br][br][b]・上のグラフの赤色の線[/b][br][list][br][*]この曲線は、フリースペースの喫煙を許容できない人の比率と、その比率によって決まるフリースペースの喫煙者密度の関係を表しています。[br][*]この曲線の形状は、下のグラフの2つのスライダーや5つの点をドラッグすることにより、リアルタイムで変更できます。詳細は下記の「下のグラフ」を参照してください。[br][/list][br][br][b]・上のグラフの緑色の矢印[/b][br][list][br][*]この矢印は、悪循環の起こる動的な過程を表現しています。[br][*]悪循環は、フリースペースの喫煙者密度が、許容喫煙密度より高いときに起こります。言い換えれば、赤色の曲線の高さが青色の曲線より上にあるときに起こります。[br][*]赤色の曲線の横軸ゼロの位置での縦軸の高さは、嫌煙スペースのない状態でのフリースペースの喫煙者密度を表しています。[br][*]この高さが青色の曲線(許容喫煙密度)と交わる点の横軸の位置が、その喫煙者密度を許容できない人の比率を表します。[br][*]これを示したのが「許容できない人」というラベルのついた緑色の矢印です。この許容できない人の比率によって、嫌煙スペースの割り当て比率が決まり、それによって、フリースペースの喫煙者密度が決まります。[br][*]この新たに決まる喫煙者密度は、その位置の赤色の曲線の縦軸の高さによって求められます。これを示したのが「嫌煙スペースを増やす」というラベルのついた緑色の矢印です。[br][*]以下、同じ過程が繰り返されます。[br][*]この過程は、赤色の曲線と青色の曲線が交わる位置まで続きます。[br][*]したがって、赤青両曲線の交点がこの過程の均衡点です。交点がなければ、この過程はフリースペースがゼロになるまで続きます。[br][/list][br][br][b]・下のグラフ[/b][br][list][br][*]赤色の曲線は、フリースペースの喫煙の許容できない人の比率と、その要望によって割り当てられる嫌煙スペースの比率との関係を表したものです。[br][*]この曲線の形状は、P1、P2、P3、P4、P5 の5つの点をマウスでドラッグすることにより、リアルタイムで変更することができます。[br][*]このグラフ左上の赤いスライダーは、それぞれ、土地全体の平均人口密度と喫煙者比率を表しています。[br][*]この2つの値と、赤い曲線によって表される嫌煙スペースの比率によって、フリースペースの喫煙者密度が決まります。[*]それをプロットしたのが、上のグラフ内の赤色の曲線です。[br][*]この曲線の形状は、下のグラフの2つのスライダーや5つの点をドラッグすることにより、リアルタイムで変更できます。[br][/list][br][br]スライダーや点をドラッグしてパラメータを操作し、曲線の形状をリアルタイムで変更して、どのような条件で悪循環が起こりうるのかを調べてみましょう。[br][br][b]・計算方法[/b][br][br]実際の計算方法は以下の通りです。計算の細部に興味がある方はご覧下さい。アプレット自体をダウンロードして直接実装を調べてみるのもよい方法だと思います。[br][br]・許容喫煙密度の分布[br][br]許容喫煙密度関数[math]a(x)[/math]は、上で書いたとおり、正規分布の累積密度関数の逆関数であり、許容喫煙密度の平均値[math]m[/math]、許容喫煙密度の標準偏差[math]s[/math]から、次の式によって求めています:[br][math]a(x) = m + \sqrt{2}\,s\,\mathrm{erf}^{-1}\left( 2\,x-1\right) [/math][br][br]ただし、[math]\mathrm{erf}^{-1}[/math] は誤差関数 [math]\mathrm{erf}()[/math] の逆関数であり、以下の級数展開を使って求めています:[br][math]\mathrm{erf}^{-1}(x)=\frac{1}{2}\sqrt{\pi}\left (x+\frac{\pi}{12}x^3+\frac{7\pi^2}{480}x^5+\frac{127\pi^3}{40320}x^7+\frac{4369\pi^4}{5806080}x^9+\frac{34807\pi^5}{182476800}x^{11}+\cdots\right ) \,\![/math][br][br](級数展開の性質上、誤差が発生する可能性があります。ご了承下さい。)[br][br]・嫌煙スペース比率[br][br]嫌煙スペースの比率 [math]r(x)[/math] は、5点 P1~P5 の多項式補間によって求めています。多項式補間の方法は、GeoGebra の Polynomial コマンドの実装に依存します。おそらくラグランジュ補間だと思われます。[br][br]・フリースペースの喫煙者密度[br][br]フリースペースの喫煙者密度[math]d(x)[/math]は、嫌煙スペースの比率 [math]r(x)[/math]、平均人口密度[math]p[/math]、喫煙者比率[math]t[/math]から、次の式によって求めています:[br][math]{d}\left( x\right) =\frac{p\,t}{1-\mathrm{r}\left( x\right) }[/math]

Information: 喫煙レモンの理論