エビデンス全般

「確率モデル」とは?基本から応用までをやさしく解説【データ分析の基礎】

2023年3月25日

私たちの周りには、明日のお天気はどうなるだろう、この広告はクリックされるだろうか、といった、確実には分からないことで溢れています。

そんなとき、未来をピタリと当てる水晶玉はなくても、私たちには「確率モデル」という心強い味方がいます。これは、ある出来事がどれくらいの確率で起こるのかを、数学という言葉を使って表現した、いわば「不確かさの地図」のようなものです。

例えば、サイコロを振れば1から6までのどの目が出るか、事前に正確に知ることはできません。でも、それぞれの目が出る確率が1/6であることは、多くの方がご存知でしょう。このように、確率モデルは、ある現象がどのような確率で起こるかを数学的に描き出すことができるのです。これはとてもシンプルな例ですが、もっと複雑な現実世界の出来事を理解するためにも、確率モデルは活躍します。

確率関数

この確率モデルを組み立てるために、「確率変数」という考え方が登場します。難しく聞こえるかもしれませんが、これは偶然によって結果が変わるような事柄について、その結果に数値を割り当てたもの、と考えてみてください。

先ほどのサイコロの例なら、「出た目」が確率変数にあたります。この確率変数という道具があるおかげで、私たちが何を観察し、何を測ろうとしているのかをはっきりさせ、それぞれの値がどれくらいの確率で現れるのかを記述することができるようになるのです。

確率モデルは、ただの数字の遊びではなく、私たちが日々直面する「もしかしたらこうなるかも」という感覚を、論理的に捉え直すための強力なツールと言えるでしょう。

離散型確率変数と連続型確率変数

さて、確率モデルの主役とも言える「確率変数」ですが、実はこれには大きく分けて二つの顔があることをご存知でしょうか。この違いを理解することは、私たちが扱おうとしているデータの性質を見極め、それに合った適切なモデルを選ぶための第一歩となります。

離散型確率変数

まず一つ目は、「離散型確率変数」と呼ばれるものです。これは、確率変数が取りうる値が飛び飛びで、数え上げることができるような場合を指します。

例えば、コインを3回投げた時に表が出る回数を考えてみましょう。この場合、表が出る回数は0回、1回、2回、3回のいずれかであり、1.5回といった途中の値を取ることはありませんね。サイコロを振った時に出る目(1、2、3、4、5、6のいずれか)も、典型的な離散型確率変数です 。

もう少し変わった例としては、サイコロを振って「1」の目が出るまでに何回サイコロを振る必要があるか、というのも離散型です。1回目で出るかもしれないし、10回目かもしれない、原理的には無限に続く可能性もありますが、それでも1回、2回、3回…と数え上げることができます 。

連続型確率変数

もう一つは、「連続型確率変数」です。こちらは、ある範囲内であればどんな値でも取りうるような確率変数を指します。

例えば、人の身長を考えてみてください。ある人の身長が175.5センチメートルだったとして、もっと精密に測れば175.503センチメートルかもしれません。このように、ある範囲内(例えば140センチから220センチの間)のどんな実数値でも取りうるのが連続型確率変数の特徴です 。100メートル走のタイムも同様で、10.32秒と10.33秒の間にも、理論上は無数のタイムが存在しえます 。

面白いことに、例えば年収などは1円単位で数えられるため、厳密には離散型と言えるかもしれません。しかし、取りうる値の種類が非常に多いため、実際の統計分析の場面では連続型として扱われることが多いのです 。これは、理論的な区別も大切ですが、現実の問題を扱う際には実用的な判断も加わる、という良い例ですね。

このように、確率変数が離散型か連続型かを見極めることは、その後の分析でどのような数学的な道具(例えば、離散型なら確率質量関数、連続型なら確率密度関数といったもの)を使うかを決める上で、とても大切なことなのです。

確率過程

そして、時には、確率が時間と共にどう変わっていくのか、あるいは偶然の出来事が時間を通じてどのように連なっていくのかを知りたい場合があります。そんな時に登場するのが「確率過程」という考え方です。これは、株価の変動や為替レートの動きのように、時間やその他の条件によって変化するランダムな現象を数学的に記述するためのモデルです 。

有名な例としては、水面に浮かんだ花粉が不規則に揺れ動く「ブラウン運動」という現象があり、これはウィーナー過程という確率過程でモデル化されます 。確率過程は、いわば「時間と共に変化する偶然の物語」を記述する方法であり、静的な確率だけでなく、動的なランダムさも捉えることができるのです。

GLM: 一般化線形モデル

世の中にはさまざまな種類のデータがありますが、それらすべてを同じように分析できるわけではありません。例えば、テストの点数のようにある範囲で連続的に変化するデータもあれば、アンケートの「はい/いいえ」のように二つの選択肢しかないデータ、あるいは一日に起こる交通事故の件数のような回数を表すデータもあります。こうした多様なデータに対して柔軟に対応できる、非常に賢い確率モデルの枠組みが「一般化線形モデル」、略してGLMと呼ばれるものです。

多くの方が「線形回帰」という言葉を耳にしたことがあるかもしれません。これは、例えば身長と体重の関係のように、一方の変数が変化するともう一方の変数が直線的に変化する関係を調べる手法です。このとき、伝統的な線形回帰では、データのばらつき具合が正規分布という、左右対称の美しい釣鐘型のパターンに従うことを仮定しています 。しかし、現実のデータがいつもこのようなきれいな形をしているとは限りません。例えば、何かの回数を数えるデータではマイナスの値は取りませんし、確率を表すデータは0と1の間に収まらなければなりません。

そこで一般化線形モデルの出番です。このモデルが「一般化」されていると言われるのは、まさにこの正規分布という仮定を緩め、さまざまな確率分布に従うデータに対応できるように拡張されている点にあります。これがGLMの最大の強みです。

三つの要素

この柔軟性を実現するために、一般化線形モデルは主に三つの要素から成り立っています。

確率分布族(ランダム成分)

一つ目は「確率分布族(ランダム成分)」で、これは分析したい結果(応答変数と呼びます)がどのような確率のパターンに従うかを指定します。正規分布だけでなく、二項分布(「はい/いいえ」のような結果に)、ポアソン分布(回数のデータに)など、データの種類に合わせて選ぶことができます 。

線形予測子(体系的成分)

二つ目は「線形予測子(体系的成分)」で、これは説明変数(結果を予測するのに使う変数)の情報を組み合わせて、一つの予測値を作り出す部分です。これは従来の線形回帰でもお馴染みの考え方ですね 。

リンク関数

そして三つ目が、このモデルの「賢さ」を象徴する「リンク関数」です。リンク関数は、応答変数が自然に従う確率のパターン(例えば0と1の間の確率や、0以上の回数)と、線形予測子(こちらはマイナス無限大からプラス無限大までの値を取りうる)とを、うまく「つなぐ」役割を果たします。まるで通訳のように、線形予測子の出力を、応答変数のスケールに合うように変換してくれるのです 。このリンク関数のおかげで、例えば確率を予測するモデルが0より小さい値や1より大きい値を出してしまう、といった不都合を防ぐことができるわけです。

この一般化線形モデルという統一的な枠組みの中で、具体的なデータの種類に応じていくつかの代表的なモデルが使われています。

ロジスティック回帰モデル

例えば、「ロジスティック回帰モデル」は、結果が「はい/いいえ」や「成功/失敗」のように二つの値しか取らない場合に使われます。ある商品を買うか買わないか、ある人が特定の病気にかかっているか否か、といった予測がこれにあたります 。このモデルでは、結果が二項分布に従うと仮定し、通常「ロジットリンク関数」という特別なリンク関数を使って、確率を予測します 。

ポアソン回帰モデル

次に、「ポアソン回帰モデル」は、結果がある期間やある場所で何回起こったか、という回数を表すデータ(カウントデータ)を扱うときに使われます。例えば、一ヶ月間に発生する交通事故の件数や、一日にお店に来るお客さんの数などです 。このモデルでは、結果がポアソン分布という、カウントデータに適した分布に従うと仮定し、多くの場合「対数リンク関数」が用いられます 。

ガンマ回帰モデル

そして、「ガンマ回帰モデル」は、結果が正の値を取る連続的なデータで、特に値のばらつきが大きい(裾の長い分布になる)場合などに使われます。例えば、保険金の支払額や、医療費、製品の修理費用といったものが考えられます 。これらのデータはマイナスになることはなく、時には非常に大きな値を取ることがあります。ガンマ回帰モデルは、結果がガンマ分布という、こうした正の連続値に適した分布に従うと仮定します。保険業界での保険金支払額の予測や、医療業界での医療費分析、製造業での製品の不良率に関連するような連続的な指標の分析など、幅広い分野でその有効性が示されています 。

このように、一般化線形モデルは、データの性質(二値なのか、カウントなのか、正の連続値なのかなど)をしっかりと見極め、それに合った確率分布とリンク関数を選ぶことで、非常に多くの種類の問題に対応できる強力な分析の道具箱と言えるでしょう。

さまざまな確率モデル

一般化線形モデルは非常に強力な枠組みですが、確率モデルの世界はさらに奥深く、多様なアプローチが存在します。ここでは、より複雑な状況や異なる考え方に基づいたいくつかの興味深いモデルをご紹介しましょう。

ベイズモデル

まず、「ベイズモデル」についてお話しします。これは、18世紀の数学者トーマス・ベイズが提唱した「ベイズの定理」という考え方に基づいています 。ベイズモデルの核心は、新しい情報(データ)が得られるたびに、私たちの持っている信念や仮説の確からしさを更新していく、という点にあります。最初に持っている大まかな見込みを「事前確率」と呼び、そこに新しいデータから得られる情報(これを「尤度(ゆうど)」と言います)を組み合わせることで、より確からしい「事後確率」を導き出すのです 。例えば、お医者さんが患者さんを診断する場面を想像してみてください。お医者さんはまず、その病気が一般的にどれくらいの割合で発生するのかという事前知識(事前確率)を持っています。そこに、患者さんの検査結果という新しいデータ(尤度)が加わります。ベイズモデルは、これらの情報を統合して、その患者さんが本当にその病気である確率(事後確率)を更新するのに役立ちます 。このように、既にある知識を有効に活用し、不確実性を定量的に扱うことができるのがベイズモデルの大きな魅力で、顧客の行動分析や需要予測、リスク管理など、様々な分野で応用されています 。

階層ベイズモデル

このベイズモデルをさらに発展させたものに、「階層ベイズモデル」があります。これは、まるでロシアのマトリョーシカ人形のように、モデルが入れ子構造になっているようなイメージです 。複数のレベル(階層)を持つ統計モデルで、あるレベルのパラメータ(モデルの特性を決める数値)が、さらにその上のレベルのパラメータ(ハイパーパラメータと呼ばれます)によって決まる、という構造をしています。そして、このハイパーパラメータ自体も、さらにその上の「超事前分布」というものに従うと考えるのです 。このような階層構造は、例えば学校のクラスにおける生徒の成績のように、データがグループ分けされている場合に特に力を発揮します。各クラスの成績の平均を推定する際に、他のクラスの情報を「参考にし合う(専門的には「情報を融通する」や「縮小推定」などと言います)」ことで、データが少ないクラスでもより安定した推定ができるようになるのです。これは、一般化線形混合モデルという別の種類のモデルをベイズ的に捉え直したものとも言えます。データが持つ複雑な依存関係を、より自然に捉えることができる洗練されたアプローチです 。

混合分布モデル

次に、「混合分布モデル」について見ていきましょう。もし手元にあるデータが、どうも一つのきれいな確率分布から来ているとは思えず、いくつかの異なる性質を持つグループが混ざり合っているように見える場合、この混合分布モデルが役立ちます。その名の通り、複数の確率分布を混ぜ合わせたものを仮定するモデルです 。代表的な例として「混合ガウス分布(GMM)」があります。これは、複数の正規分布(釣鐘型の分布)が混ざっていると考えるモデルです。例えば、ある集団の身長データがあったとして、実はその中には子供のグループと大人のグループが混在しているかもしれません。混合ガウス分布モデルは、このようなデータを、子供の身長の分布と大人の身長の分布という二つの正規分布の混合として捉えようとします 。そして、このモデルはデータの「クラスタリング」、つまり自然なグループ分けにもよく使われます。それぞれの正規分布が、データの中の一つの「かたまり(クラスタ)」に対応すると考え、どのデータ点がどの分布(クラスタ)から来た可能性が高いかを推定するのです 。このように、データに潜む隠れた構造を見つけ出すのに役立つのが混合分布モデルです。

マルコフモデル

時間の流れと共に状態が変化していく現象を捉えるモデルとして、「マルコフモデル」も重要です。このモデルの最大の特徴は、「マルコフ性」と呼ばれる性質を持つことです。これは、未来の状態は現在の状態だけに依存し、それ以前の過去の経緯には左右されない、という考え方です。「今」さえ分かっていれば、それより前のことは忘れてしまっても未来を予測できる、という意味で「記憶喪失」の性質とも言えます 。例えば、今日の天気が晴れであれば、明日の天気が雨になる確率は、今日の天気が晴れであるという情報だけで決まり、昨日の天気が曇りだったか雨だったかは関係ない、と考えるのがマルコフモデル的な発想です 。患者さんの病状の進行をモデル化したり、ゲームの展開をシミュレーションしたりするのにも使われます 。さらに、このマルコフモデルを拡張したものに「隠れマルコフモデル(HMM)」があります。これは、直接観測できない「隠れた状態」が存在し、その隠れた状態に応じて観測可能な「出力」が現れる、と考えるモデルです。例えば、友人のその日の天気(隠れた状態)は直接分かりませんが、友人が報告してくる活動内容(散歩した、買い物に行ったなど、観測可能な出力)から、その日の天気を推測する、といった状況をモデル化できます 。

マルコフ連鎖モンテカルロ法(MCMC法)

最後に、「マルコフ連鎖モンテカルロ法(MCMC法)」について触れておきましょう。これは、特定のモデルの名前というよりは、複雑な確率分布からサンプル(標本)を効率的に取り出すための一群のアルゴリズム(計算手順)のことです。特にベイズ統計では、事後確率分布が非常に複雑な形をしていて、数式で直接扱うのが難しいことがよくあります 。そんな時、MCMC法は救世主となります。MCMC法は、「マルコフ連鎖」という、次の状態が現在の状態に依存して決まる連鎖的な過程を利用し、「モンテカルロ法」という、ランダムな数をたくさん発生させて近似計算を行う手法を組み合わせたものです 。具体的には、目的とする複雑な確率分布に従うようなサンプルを、次々と生成していきます。最初のうちはまだ目的の分布に馴染んでいないサンプルが出てくるかもしれませんが(これを「バーンイン期間」と呼び、通常は捨てられます)、十分な回数繰り返すと、生成されるサンプルはあたかも目的の複雑な分布から直接取り出してきたかのような性質を持つようになります 。こうして得られたたくさんのサンプルを使って、元の複雑な分布の形を推定したり、平均値を計算したりすることができるのです。MCMC法は、計算機パワーの向上と共に発展し、多くの複雑なベイズモデルを現実的に扱えるようにした、非常に重要な技術と言えるでしょう。

これらのモデルは、それぞれ異なる視点から不確実性やデータの構造にアプローチしています。ベイズモデルが信念の更新という学習プロセスを数学的に表現するのに対し、階層ベイズモデルはその構造をより豊かにします。混合モデルはデータに潜む異質なグループを発見し、マルコフモデルは時間の連鎖を捉えます。そしてMCMCは、これらの複雑なモデルを分析するための強力な計算エンジンとなるのです。多くの場合、これらのモデルはデータの中に直接は見えない「隠れた」何かを推測しようとします。それはベイズモデルにおける未知のパラメータであったり、混合モデルにおける所属クラスタであったり、隠れマルコフモデルにおける観測できない状態であったりします。観測されたデータから、その背後にある見えない構造や法則性を明らかにする、というのが、これらの進んだ確率モデルに共通する魅力的なテーマの一つと言えるかもしれません。

生成モデルと識別モデル

これまで様々な確率モデルを見てきましたが、実はこれらのモデルは、その目的や設計思想によって、大きく二つのタイプに分類できると言われています。それが「生成モデル(Generative Model)」と「識別モデル(Discriminative Model)」です 。この二つのアプローチは、データに対してどのように向き合うか、という点で対照的です。

生成モデル

まず「生成モデル」ですが、こちらはデータが「どのようにして生まれてきたのか」、その背後にある確率的な仕組みそのものを理解しようとします 。つまり、データ全体の分布をモデル化することを目指すのです。このアプローチの面白いところは、データの生成プロセスを学習するため、原理的には学習に使った元のデータと似たような新しいデータを「生成する」ことができる点です 。例えば、手書きの数字を認識する問題を考えてみましょう。生成モデルは、「0」という数字の画像がどのように描かれるのか、「1」という数字の画像はどのように描かれるのか、といった各数字の画像の作られ方そのものを学習しようとします。その結果、新しい手書き数字の画像を自ら作り出すことも可能になるかもしれません。生成モデルは、データの生成過程を深く理解したり、データに欠損がある場合の補完、あるいはクラス間の相関関係を捉えるのに役立つとされています。ただし、そのパラメータを推定するのが難しかったり、非常に次元の高い(特徴量が多い)データでは苦戦することもあると言われています 。簡単なイメージで言うと、生成モデルは、ある種類のデータが存在する「領域」や「範囲」を学習するようなものです。「このあたりが犬っぽいデータが集まる場所だ」というように、そのものの特徴を捉えようとします 。

識別モデル

一方、「識別モデル」は、データがどのように生成されたかというプロセスにはあまり深入りしません。その主な目的は、異なるクラスのデータを見分けるための「境界線」を学習することにあります 。具体的には、あるデータが与えられたときに、それがどのクラスに属するかの確率、つまりP(クラス | データ)を直接モデル化しようとします。新しいデータがどのクラスに分類されるかを予測することに特化しているのです 。先ほどの手書き数字の例で言えば、識別モデルは、「0」の画像と「1」の画像を見分けるためのルールを直接学習します。「0」や「1」の画像を自分で描けるようになる必要はなく、両者を区別できれば良いのです。識別モデルは、分類タスクにおいて非常に高い性能を発揮することが多く、比較的少ないデータでも学習しやすく、高次元のデータにも強い傾向があります。しかし、新しいデータを生成することはできず、データの欠損などには生成モデルほど頑健ではないかもしれません 。識別モデルのイメージは、データを分ける「線引き」を学習するようなものです。「この線からこちら側は犬、あちら側は猫」というように、カテゴリーを区別することに集中します 。

では、どちらのモデルを選べば良いのでしょうか。それは、解決したい問題やデータの性質によって異なります 。もし、データの生成メカニズムを理解したい、あるいは新しいデータを生成したいという目的があるならば、生成モデルが適しているでしょう。一方で、単にデータを正確に分類することが最優先であれば、識別モデルの方が直接的で効率的な場合が多いのです。生成モデルがデータの「本質」を深く理解しようとするのに対し、識別モデルはクラス間の「違い」を鋭く見抜こうとすると言えるかもしれません。この目的の違いが、それぞれのモデルの特性や得意・不得意を生み出しているのです。

確率モデルをさらに知る

さて、ここまで確率モデルの基本的な考え方から、一般化線形モデル、ベイズモデル、マルコフモデルといった様々な種類のモデル、そして生成モデルと識別モデルという二つの大きなアプローチまで、駆け足で巡ってきました。これらのモデルが、いかに多様なデータや疑問に取り組むための知恵を与えてくれるか、少しでも感じていただけたなら幸いです。

大切なのは、これらの確率モデルは、未来を完璧に予言するものではない、ということです。モデルはあくまで道具であり、私たちが与えるデータと仮定に基づいて、パターンを認識し、予測を行い、不確実性を定量的に評価する手助けをしてくれます。しかし、その結果は常に、元になるデータやモデルの設計に依存します。

統計モデリングの世界は、MCMC法のような新しい計算技術の登場などによって、常に進化を続けており、以前は難しかったような複雑な問題にも挑戦できるようになってきています。

この記事を通じて、確率モデルという言葉の響きが、少しでも親しみやすいものになっていれば嬉しく思います。専門用語が並ぶと難解に感じられるかもしれませんが、その根底にあるのは、多くの場合、私たちが日常的に行っている常識的な判断や、データから学ぶという行為を、より厳密に、そして体系的に行うための考え方です。

例えば、年収のデータを分析する際に、理論上は離散的でも実用上は連続的に扱うという判断 や、ベイズモデルで事前知識をどう設定するか といった場面では、分析者の経験や問題に対する理解といった人間的な要素も関わってきます。モデルは人が問題を解決するために作るものであり、そこには思考の枠組みとしての役割があるのです。

確率モデルというレンズを通して世界を見ることで、これまで気づかなかったパターンや関係性が見えてくるかもしれません。それは、私たちの周りに溢れる不確かさと、より上手に向き合っていくための一つの強力な手段となるでしょう。

引用文献

  1. 確率とは何か?確率論と統計学の違い。 - 【統計学の入門サイト ..., https://toukei.link/basicprobability/probabilityandstatistics/
  2. 確率過程 - Wikipedia, https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E9%81%8E%E7%A8%8B
  3. 使える統計モデル10選(前編) | AIdrops - BIGDATA NAVI, https://www.bigdata-navi.com/aidrops/2925/
  4. 一般化線形モデルにおけるリンク関数の役割 - 統計を簡単に学ぶ, https://ja.statisticseasily.com/%E4%B8%80%E8%88%AC%E5%8C%96%E7%B7%9A%E5%BD%A2%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF%E9%96%A2%E6%95%B0/
  5. ja.statisticseasily.com, https://ja.statisticseasily.com/%E4%B8%80%E8%88%AC%E5%8C%96%E7%B7%9A%E5%BD%A2%E3%83%A2%E3%83%87%E3%83%AB%E5%88%86%E5%B8%83%E3%81%A8%E3%83%AA%E3%83%B3%E3%82%AF%E9%96%A2%E6%95%B0/#:~:text=GLM%20%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%AA%E3%83%B3%E3%82%AF%E9%96%A2%E6%95%B0%E3%81%AE%E5%BD%B9%E5%89%B2&text=%E3%83%AA%E3%83%B3%E3%82%AF%E9%96%A2%E6%95%B0%E3%81%AF%E3%80%81%E4%BA%88%E6%B8%AC%E3%82%92,%E3%81%A8%E7%B2%BE%E5%BA%A6%E3%82%92%E9%AB%98%E3%82%81%E3%81%BE%E3%81%99%E3%80%82
  6. 一般化線形モデル - ガンマ分布の紹介 - Exploratory, https://ja.exploratory.io/note/exploratory/yuA9TsG3
  7. ベイズの定理とは? 10分でわかりやすく解説 - ネットアテスト, https://www.netattest.com/bayes-theorem-2024_mkt_tst
  8. ベイズ統計とは?普通の統計と何が違う?徹底解説! - Udemy メディア, https://udemy.benesse.co.jp/data-science/data-analysis/bayesian-statistics.html
  9. 階層ベイズモデル - Wikipedia, https://ja.wikipedia.org/wiki/%E3%83%99%E3%82%A4%E3%82%BA%E9%9A%8E%E5%B1%A4%E3%83%A2%E3%83%87%E3%83%AB
  10. 混合ガウス分布(GMM)の意味と役立つ例 - 具体例で学ぶ数学, https://mathwords.net/gmm
  11. マルコフモデルを分かりやすく解説!隠れマルコフモデルとの違いや具体例も紹介! - Jitera, https://jitera.com/ja/insights/71633
  12. 隠れマルコフモデル 入門 - 株式会社カブク, https://www.kabuku.co.jp/developers/hmm
  13. マルコフ連鎖モンテカルロ法を誰でも理解できるようにわかり ..., https://www.headboost.jp/markov-chain-montecarlo/
  14. 生成モデルと識別モデルの違いを学ぼう! - Toolify.ai, https://www.toolify.ai/ja/ai-news-jp/%E7%94%9F%E6%88%90%E8%AD%98%E5%88%A5%E9%81%95%E5%AD%A6-1572638
  15. 生成AIの4つのモデルを比較|特徴や画像生成サービス5選も紹介 - AI総研, https://metaversesouken.com/ai/generative_ai/models/

 

-エビデンス全般

© 2025 RWE