データサイエンティストのひよこ

分析に関する日々の相談事項

統計モデリング・物理モデリング

モデルを作る

モデリングについても、よく質問される。私が物理出身なので、私が言うモデルと統計に詳しい人のモデルの意味合いが少し異なるときがあり、齟齬が発生するようだ。
自分でもたまに説明に失敗することがあるので、自分のためにまとめておきたい*1

まず、「我々の言うモデル」とは、ある物事を代表的なパーツだけで表した現実の簡易版(ほとんどの場合、数式の集合)のことである。このような「我々の言うモデル」と言っても、統計モデル、物理モデル、確率モデルなどの数理モデルが対象であり、そのアプローチや哲学(重い…)の違いを学ぶことはないだろう。特に、学生として、一つの分野でいくつかの数式をこねくり回すだけだった方には、なかなかモデルとは何かの違いまでたどり着かなかった人も多いと思う。

モデルの目的

モデルはある用途をもって組み上げられることがほとんどである。物事の理解、予測、精度などを目的ごとに、モデルの作り方は様々である。フローチャートのようにできたらいいが、労力が…。まぁ、いろいろとできたほうが良いと思う。モデルには必ず、目的とアプローチがある。そしてここに「モデル」の違いがある。

まず、これら考えで最も汎用的なのが、やはり統計モデルである。統計での「モデル」とは何かを私の経験のうえで説明してみたい。

  • 統計モデル

 統計モデルの大きな目的は、対象を数値で表すことである。変数と変数の関係を仮定したうえで、変数間の関係の強さを定量化することが大きな目的となる、変数間の関係式の集合で表されるモデルのことである。
 たとえば、2つの変数とその同時確率P(x,y)に対して、変数間の依存関係P(x,y)=P(x)P(y|x)など設定することである。分布間の関係として規定することが多いように思う。回帰分析などが良い例である。機械学習などで、変数と変数の関係を抽出するところか手法に頼るものもあるが、モデルの大きな意義として、変数間の関係の強さを定量化することにあると思う。
 統計モデルのメリットは、汎用的であることである。手法が先行して存在するので、データの性質さえ合致していれば手法をそのまま当てはめることができることである。デメリットとしては、汎用性の裏返しである。手法が対象のシステムの外側にあるので、結果を直接的に理解することが難しく、解釈しなければならないことである。クラスタリングなどの教師なし学習をやったことある人ならわかってくれると思う。教師ありの回帰分析や時系列分析でも係数の大きさなどは、関係の強さが定量化されるにすぎず、なぜそのような関係があるのかを理解することは容易ではない。

  • 物理モデル

 物理モデルの大きな目的は、対象の理解と説明である。時間と物性変数の関係を結び付ける動的現象のために作られる現象論モデルと物性変数と物性変数の巨視的関係を説明するために作られる還元モデルがある。対象の理解が主な目的なため、モデルとしての簡易さが重要で、予測性は二の次である。統計モデルとは違い、意味を与えるモデルとなるので人に納得されやすいというメリットがある。微分方程式系の決定論的な議論となることが多いので、確率であることより説得力があるのだと思う。
 物理モデルには現象論モデルと還元モデルの2つがあるが、深く立ち入ると具体的な物理モデルを提示しなくてはいけないので、それはまた今度の機会にしたい。現象論モデルとしては、物事の移り変わりを見たまま(データのまま)、微分方程式に落とし込むモデルだ。ニュートン運動方程式マクスウェル方程式がそうだが、複雑系、化学、生態系などにも広く使われる。性質の時間変化を微分方程式系で表すモデルである。
一方、還元モデルは、巨視的関係を、より詳細な階層の物の動きによって説明づけるモデルである。気体の圧力や温度が構成粒子の速さで表されたり、構成粒子間の結合(相互作用)によって、沸騰や凝固などの現象が起きるということや宇宙を構成する物質の密度で宇宙の収縮or膨張が決まるといった関係を数理的に表すことである。気体と粒子、宇宙と天体、そして社会と人間といったスケールの異なるものを、全体を無数の構成要素の集団として記述し、巨視的な効果を説明するものである。

統計モデルと物理モデルの例

 これはある事例において、両モデルが活躍できた例である。ある農地での殺虫剤の効果を定量化したいというデータがあった。ある農地での害虫の数Yと殺虫剤の噴霧有無による使用データとしては簡単に、次のようなものである。

日付 害虫数 噴霧有無
X月1日 100 1
X月2日 110 0
X月3日 125 1
X月4日 160 1
X月5日 145 0

 統計モデルとしては、累積噴霧量Xに対して、P(X,Y)=P(X)P(Y|X)と仮定する。Y=aX+bとして、ミクロな業務としては、噴霧量と害虫の数を結び付けることが単純にはできる。
 一方、害虫のマクロな増減は、限定エリアの中での害虫の上限数Hと自己増加係数pをもとに単純にモデル化しよう。ある時間の害虫Yの変化dY/dtは、その時の害虫の数に比例するが、上限数Hに近づくにつれ、漸減する。これを微分方程式で表すと次のようになる。

 \displaystyle \frac{dY}{dt}=pY(H-Y)

この解はシグモイドになる。比較的有名なモデルである。

 \displaystyle Y = \frac{H}{1-e^{-(pH t + C)}}

ここで、 C \equiv Const.である。係数p、Hなどは農業試験場などが、試験を行い数値を持っていたりする*2
 ここに、殺虫剤の効果を入れる。殺虫剤の噴霧に対して、現状の害虫の数が多いほど効果が高いから、噴霧の効果をmYとして、噴霧を常に行なっていたとして、害虫の数の変化を-mYtとして項を加える。

 \displaystyle \frac{dY}{dt}=pY(H-Y)-mYt

この微分方程式の解は少し複雑になって、次のようになる。

 \displaystyle Y(t) = \frac{2 \sqrt{m} e^\frac{p H t - (mt^2)}{2}}{\sqrt{2 \pi} p e^\frac{p^2 H^2}{2 m} erf(\frac{m t - p H}{\sqrt{2m}}) + \sqrt{m} C}

分かりづらいので、自己増加係数 p=0.01、エリアの害虫上限数 H=500、噴霧効果 m=2としてみると、
f:id:TamSan:20180914024219p:plain
初期の害虫数Y(0)によって、噴霧期間中の最大害虫数が大きく変わってくることが分かる。通常使用のケースでは、害虫発見時点での害虫数では、この殺虫剤だと弱すぎるということもある。結果的に害虫を死滅することができたとしても、被害作物を考慮に入れると、最大害虫数を如何に減らすかが殺虫剤の効果として重要となるのである。実際には、pやHは試験によって数値を得て、実際の噴霧量と推定害虫数のプロットをフィッティングすることで、効果mを数値化する*3
 前者の統計モデルによって、噴霧時間や効果のミクロな業務の目安が出来る。後者の物理モデルによって、噴霧の効果のマクロな評価が出来るのである。

モデルの発展

 殺虫剤の噴霧時間や害虫の数によって、収穫物の数が減っていくモデルにすることで、収穫物残数を最大化する噴霧時間に制限ができて噴霧時間を最適化できるモデルともなる。

まとめ

 物理モデルを、データ分析や予測の分野で利用する領域は気象、都市工学、環境、回路など多岐にわたる。データサイエンスといえば、統計学機械学習であるが、元来、物理モデルが優勢な領域では、物理モデルの組み上げに対し、モデルのデータへの逐次同化という点で機械学習は関わってきた。マーケティングや生産管理などのデータ分析が昨今手を出してきた領域こそが物理モデルが参入しづらい領域であって、物理モデル自体は機械学習と双肩のデータを理解する方法である。物理モデルが持ってる非線形やカオスの特徴はAIが苦手とする一方、予測が困難な領域とAIとの勝負は昨今注目されてきている。
 ニューラルネットワークも本来は人間の脳を模して、記憶の仕組みを数理的に理解するためのモデルだった。つまり、物理モデルだったのである。一部の分野では人間の能力を超え始めているというので、人間の脳を理解するモデルとしては、すでに間違っている。かなり統計モデルとしての使われ方が強くなってきた。

*1:基本的にここに書く内容は、自分のために書いている

*2:実際にはもっと複雑なモデルだが…。

*3:繰り返すがもっと複雑なモデルである