第4章 統計・推定・検定(統計数理基礎)
DS検定のアソシエーション分析(支持度・信頼度・リフト値)
DS検定(リテラシーレベル)の公式スキルチェックリストには、条件と事象の関係性を信頼度・支持度・リフト値で評価できることが、★1つ星の項目として入っています。この3つは、スーパーの買い物データで「パンを買った人は牛乳も買うか」を調べるアソシエーション分析で使う指標です。このページは、100件の買い物データを使い、3つの値を順に計算します。式を暗記するより、同じ件数表から3つの値を出して比べるほうが、問題文の言い回しと結びつきます。
条件付き確率の計算が不安な人は、先に確率の基礎のページで分母の考え方を確認しておくと読みやすくなります。
取引件数と商品の数はすべて架空です。出題を予想するものではありません。
公式情報の確認
試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。 当サイトの一次情報確認日: 2026-10-02。
試験の出題範囲・実施要項は変動するため、受験前に公式情報を確認してください。
結論
- 支持度は、全取引のうち前件と後件の両方を含む割合。分母は全取引件数
- 信頼度は、前件を含む取引のうち後件も含む割合。分母は前件を含む取引件数で、条件付き確率と同じ
- リフト値は、信頼度を後件全体の割合で割った値。1なら関係なし、1より大きければ前件があると後件が買われやすい、1より小さければ買われにくい
- 信頼度が高くても、後件がもともとよく買われているならリフト値は1に近く、関係の強さを示さない
3つの指標の式
Oracle Machine Learning for SQLの解説は、支持度を、前件と後件のすべての商品を含む取引の、全取引に対する割合としています。信頼度は、ルールの支持度を前件を含む取引の割合で割った値で、前件があるときに後件が起こる条件付き確率です。ここでは、「もし〜なら」にあたる側を前件、「〜も買う」にあたる側を後件と呼びます。
リフト値は、英語版Wikipediaの Association rule learning では、観測された支持度を、2つが独立だった場合に期待される支持度で割った比として説明されています。式にすると、ルール A ⇒ B について次のとおりです。
- 支持度 = P(A, B) = AとBの両方を含む件数 ÷ 全件数
- 信頼度 = P(A, B) ÷ P(A) = AとBの両方を含む件数 ÷ Aを含む件数
- リフト値 = P(A, B) ÷ (P(A) × P(B)) = 信頼度 ÷ P(B)
リフト値の分母P(A) × P(B)は、AとBが独立なら両方が起こる確率になります。独立の考え方は、確率の基礎のページと同じです。
買い物データで計算
100件の買い物データで、各商品を含む件数を次のように数えたとします。1件の買い物に複数の商品が入ることがあります。
| 区分 | 件数(全100件) |
|---|---|
| パン | 50件 |
| 牛乳 | 40件 |
| 卵 | 60件 |
| 弁当 | 20件 |
| パンと牛乳の両方 | 30件 |
| パンと卵の両方 | 30件 |
| パンと弁当の両方 | 5件 |
まず、パン ⇒ 牛乳を計算します。パンを含むのは50件、牛乳を含むのは40件、両方を含むのは30件です。
- 支持度は 30 ÷ 100 = 0.30
- 信頼度は 30 ÷ 50 = 0.60。パンを買った50件のうち30件で牛乳も買われている
- 牛乳全体の割合は 40 ÷ 100 = 0.40 なので、リフト値は 0.60 ÷ 0.40 = 1.5
4つのルールを同じ手順で計算した結果は次の表です。
| ルール | 支持度 | 信頼度 | リフト値 |
|---|---|---|---|
| パン ⇒ 牛乳 | 30 ÷ 100 = 0.30 | 30 ÷ 50 = 0.60 | 0.60 ÷ 0.40 = 1.5 |
| 牛乳 ⇒ パン | 30 ÷ 100 = 0.30 | 30 ÷ 40 = 0.75 | 0.75 ÷ 0.50 = 1.5 |
| パン ⇒ 卵 | 30 ÷ 100 = 0.30 | 30 ÷ 50 = 0.60 | 0.60 ÷ 0.60 = 1.0 |
| パン ⇒ 弁当 | 5 ÷ 100 = 0.05 | 5 ÷ 50 = 0.10 | 0.10 ÷ 0.20 = 0.5 |
支持度は前件と後件を入れ替えても変わらず、信頼度は前件の件数が分母なので入れ替えると変わります。パン ⇒ 牛乳の信頼度は0.60、牛乳 ⇒ パンは30 ÷ 40 = 0.75です。リフト値の式はAとBを入れ替えても変わらないため、どちらの向きでも1.5になります。
信頼度が高くても関係がない例
表の3行目のパン ⇒ 卵は、支持度0.30、信頼度0.60で、1行目のパン ⇒ 牛乳と同じ値です。ところが、卵は全体の60件、つまり0.60の割合で買われています。
- パンを買った人が卵も買う割合は0.60
- パンと関係なく、全体で卵が買われる割合も0.60
- リフト値は 0.60 ÷ 0.60 = 1.0 で、P(パン, 卵) = 0.30 = 0.50 × 0.60 と独立の式が成り立つ
Wikipediaは、リフト値が1なら前件と後件の起こる確率は互いに独立で、その2つについてルールは引き出せないと説明しています。リフト値が1より大きければ、2つの起こり方が依存しており、後件の予測に役立つ可能性があるとしています。信頼度だけを見て「卵はパンと一緒に買われやすい」と読むと、取り違えます。
4行目のパン ⇒ 弁当は逆の例です。信頼度は0.10と低いですが、弁当は全体の0.20なので、リフト値は0.5です。Wikipediaは、リフト値が1より小さいとき、その2つは互いに代わりになる関係だと説明しています。この例では、パンを買った人は弁当を買いにくいと読みます。
問題文から読み取る
このページの計算例から導いた読み方です。出題を予想するものではありません。
- 「全取引のうち両方が含まれる割合」とあれば支持度
- 「Aを買った取引のうち、Bも買われた割合」とあれば信頼度で、分母はAを含む件数
- 「Bがもともと買われる割合と比べて何倍か」とあれば、信頼度をBの割合で割るリフト値
- 信頼度が高いルールを選ぶときは、後件の割合も確認し、リフト値が1に近くないかを見る
- リフト値は向きを入れ替えても同じ。信頼度は入れ替えると分母が変わる
DS検定の学習に使う書籍(Amazon)
試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。
よくある質問
DS検定でアソシエーション分析はどこまで必要ですか?
公式スキルチェックリストでは、条件と事象の関係性を信頼度・支持度・リフト値で評価できることが★1つ星の項目です。このページの程度の件数表から、3つの値を手で計算して意味を読める状態が目安です。
支持度と信頼度は、どう見分けますか?
分母で見分けます。支持度は全取引件数が分母で、2つの商品が一緒に買われた割合です。信頼度は前件(パンなど「もし〜なら」の側)を含む取引件数が分母で、前件があるときに後件も買われる割合です。このページの例では、パン ⇒ 牛乳の分母が支持度で100件、信頼度で50件になります。
信頼度が高ければ、強い関係があると言えますか?
言えません。パン ⇒ 卵は信頼度が0.60と高いのに、卵そのものが全体の60%で買われているため、リフト値は1.0で、パンの有無は卵の買われやすさを変えていません。信頼度は後件の買われやすさと比べて読みます。
リフト値が1.5なら、何が分かりますか?
前件があるときの後件の買われやすさが、前件と無関係に買われる場合の1.5倍であることを示します。パン ⇒ 牛乳の信頼度0.60は、牛乳全体の割合0.40の1.5倍です。リフト値の式 P(A, B) ÷ (P(A) × P(B)) はAとBを入れ替えても変わらないので、パン ⇒ 牛乳と牛乳 ⇒ パンで同じ値になります。
リフト値が1より小さいときはどう読みますか?
前件があると後件が買われにくい関係です。このページの例では、パン ⇒ 弁当のリフト値が0.5で、パンを買った人が弁当も買う割合0.10は、全体の弁当の割合0.20の半分です。
