集合と論理
「集合」と聞くと数学の授業を思い出すかもしれませんが、実は私たちが日常でデータを見るとき、無意識のうちに集合の考え方を使っています。「20代の顧客」「東京都在住の顧客」といった条件でデータを絞り込む操作は、まさに集合の演算そのものです。このページでは、和集合・積集合・差集合・対称差集合・補集合をベン図を使って整理し、これらの集合演算が論理演算(AND・OR・NOTなど)とどう対応しているかを見ていきます。
ここで学ぶ内容は、次章で扱う「確率」の土台にもなります。図を思い浮かべながら読み進めてください。
1. 集合とは ― 「条件に当てはまるものの集まり」
集合※1とは、簡単に言うと「ある条件に当てはまるものの集まり」のことです。たとえば、あるアパレルECサイトの顧客リストから「先月購入した顧客」を集めたグループ、「会員ランクがゴールドの顧客」を集めたグループは、それぞれ1つの集合です。データ分析の実務では、こうした「条件で絞り込んだグループ」を組み合わせて分析することが非常に多く、その組み合わせ方を整理するのが集合演算です。
集合を視覚的に表現する方法がベン図※2です。円(や楕円)で集合を表し、円の重なり方によって「両方に当てはまる」「どちらか一方だけ」といった関係を一目で確認できます。DS検定では、和集合・積集合・差集合・対称差集合・補集合という5つの集合演算をベン図で説明できることが求められます。ひとつずつ、具体的な例で見ていきましょう。
集合って聞くと堅苦しいけど、「条件で絞り込んだグループ」って考えれば、ふだんのデータ抽出そのものなんだよね。ベン図をイメージしながら覚えていこう!
2. 5つの集合演算をベン図で理解する
ここでは例として、あるECサイトの顧客を「集合A = 先月アプリで購入した顧客」「集合B = メールマガジンを購読している顧客」の2つに分けて考えます。
(1) 和集合 ― AまたはB(少なくとも一方に当てはまる)
和集合※3(A∪B)は、「AとBの両方、またはどちらか一方に当てはまる要素をすべて集めたもの」です。今回の例では、「アプリで購入した」か「メルマガ購読している」かの少なくともどちらか一方に当てはまる顧客全員が和集合になります。
(2) 積集合 ― AかつB(両方に当てはまる)
積集合※4(A∩B)は、「AとBの両方に共通して当てはまる要素だけを集めたもの」です。今回の例では、「アプリで購入していて、なおかつメルマガも購読している」顧客だけが積集合にあたります。2つの円が重なる部分だけに色がつくのがポイントです。
(3) 差集合 ― Aだけ(Bに当てはまらないA)
差集合※5(A−B)は、「Aには当てはまるが、Bには当てはまらない要素」だけを集めたものです。今回の例では、「アプリで購入したが、メルマガは購読していない」顧客が差集合A−Bにあたります。積集合の部分(重なり)を除いた、Aの円の残り部分と考えるとイメージしやすいでしょう。
(4) 対称差集合 ― どちらか一方だけ(両方には当てはまらない)
対称差集合※6は、「AとBのどちらか一方だけに当てはまり、両方には当てはまらない要素」を集めたものです。言い換えると、和集合(A∪B)から積集合(A∩B、両方に当てはまる部分)を取り除いたものにあたります。今回の例では、「アプリ購入とメルマガ購読のうち、どちらか片方だけをしている」顧客です。
(5) 補集合 ― Aに当てはまらないもの全部
補集合※7(Aの補集合、Acと書きます)は、「考えている全体(全顧客)のうち、Aに当てはまらない要素すべて」です。今回の例では、「アプリで購入していない顧客」全員が補集合にあたります。ベン図で言えば、外側の四角形(全体)からAの円を取り除いた部分です。
| 集合演算 | 記号 | 意味 | 今回の例 |
|---|---|---|---|
| 和集合 | A∪B | AまたはB(少なくとも一方) | アプリ購入 または メルマガ購読 |
| 積集合 | A∩B | AかつB(両方) | アプリ購入 かつ メルマガ購読 |
| 差集合 | A−B | Aのみ(Bに含まれない) | アプリ購入のみ(メルマガは未購読) |
| 対称差集合 | A△B | どちらか一方のみ | 片方だけ当てはまる顧客 |
| 補集合 | Ac | Aに含まれないもの全部 | アプリ購入していない顧客 |
5つの集合演算は、すべて「ベン図の色を塗る場所」として覚えると忘れません。和集合=両方の円全部、積集合=重なり部分だけ、差集合=片方から重なりを除いた部分、対称差集合=重なりを除いた三日月2つ、補集合=全体から円を除いた外側、という位置関係をセットで押さえましょう。
5つも演算があると混乱しそうだけど、全部「ベン図のどこを塗るか」の違いでしかないんだよね。試験では図が出てきたら、まずどの演算か当てはめてみて!
3. 集合演算と論理演算の対応 ― ANDは積集合、ORは和集合
集合の考え方は、プログラミングやデータ抽出で使う論理演算※8と、実はぴったり1対1で対応しています。データベースの検索条件やExcelのフィルタ機能で「AND条件」「OR条件」を指定した経験がある方も多いと思いますが、これらはそのまま集合演算の言葉に置き換えることができます。
| 論理演算 | 対応する集合演算 | データ抽出の例 |
|---|---|---|
| AND(かつ) | 積集合(A∩B) | 「20代」AND「東京都在住」の顧客を抽出 |
| OR(または) | 和集合(A∪B) | 「メルマガ登録」OR「アプリ登録」の顧客を抽出 |
| NOT(否定) | 補集合(Ac) | 「退会していない」(退会済みでない)顧客を抽出 |
| XOR(排他的論理和) | 対称差集合(A△B) | 「アプリかメルマガ、どちらか片方だけ」の顧客を抽出 |
たとえば、ECサイトの担当者が「20代 AND 東京都在住」という条件で顧客データを絞り込むとき、これは「20代の顧客の集合」と「東京都在住の顧客の集合」の積集合を求めていることに他なりません。同様に、「メルマガ登録 OR アプリ登録」という条件で抽出するなら、これは2つの集合の和集合を求めていることになります。SQLのWHERE句やExcelのフィルタ条件を書くとき、頭の中でベン図を思い浮かべられると、条件の組み立てで迷うことが少なくなります。
- 「40歳以上 AND 過去に返品経験あり」の顧客リスト → 2つの集合の積集合
- 「クレジットカード払い OR 電子マネー払い」の注文 → 2つの集合の和集合
- 「メルマガ配信停止していない」顧客 → 「配信停止した顧客」の集合の補集合
- 「セールで初めて買った人、またはセール前から常連だった人の、どちらか一方」 → 対称差集合(XOR)
論理演算と集合演算は考え方が完全に対応しています。AND→積集合、OR→和集合、NOT→補集合、XOR→対称差集合という対応関係を覚えておくと、複雑な検索条件やデータ抽出条件も、ベン図をイメージしながら整理できるようになります。
ANDとORって条件式を書くときにいつも使うけど、これがそのまま集合の演算だったんだね。ここが理解できると、次の「確率」の章もぐっと読みやすくなるよ!
まとめ
このページでは、集合と論理の基礎となる2つのポイントを見てきました。最後に振り返っておきましょう。
- 5つの集合演算とベン図 ― 和集合(A∪B)・積集合(A∩B)・差集合(A−B)・対称差集合(A△B)・補集合(Ac)を、ベン図の「色を塗る場所」として説明できるようにする
- 論理演算との対応 ― AND(積集合)・OR(和集合)・NOT(補集合)・XOR(対称差集合)という対応関係を理解する
集合の考え方は、次の章で学ぶ「確率」の土台になります。「ある事象が起きる」ことを集合として捉え、その面積(確率)を求める、という発想は、まさにこのページで見てきたベン図の延長線上にあります。次章では、いよいよ確率・統計の基礎に入っていきます。
- 集合 … ある条件に当てはまるものの集まりのこと。データ分析では「条件で絞り込んだグループ」と考えるとわかりやすい。↩
- ベン図 … 円や楕円を使って、複数の集合の関係(重なり方)を視覚的に表した図のこと。↩
- 和集合 … 2つの集合のうち、少なくともどちらか一方に当てはまる要素をすべて集めたもの(A∪B)。↩
- 積集合 … 2つの集合の両方に共通して当てはまる要素だけを集めたもの(A∩B)。↩
- 差集合 … 一方の集合には当てはまるが、もう一方には当てはまらない要素を集めたもの(A−B)。↩
- 対称差集合 … 2つの集合のうち、どちらか一方だけに当てはまる要素を集めたもの(A△B)。和集合から積集合を除いたものに等しい。↩
- 補集合 … 考えている全体のうち、ある集合に当てはまらない要素すべてを集めたもの(Ac)。↩
- 論理演算 … AND(かつ)・OR(または)・NOT(否定)・XOR(排他的論理和)など、真偽値を組み合わせる演算のこと。集合演算と1対1で対応する。↩