忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】「少なくとも」をコイン図解で攻略!「余事象」が合格のカギ

数字だけで説明されると難しく感じる確率の問題も、図にしてみると驚くほどスッと理解できます。この記事では、コイン投げを題材に、DS検定の頻出キーワードである「少なくとも」の考え方を解説します。

1. 問題:コインを2回振る

【 問題 】 表と裏のあるコインを2回振るとき、すくなくとも1回は、表が出る確率はいくらでしょうか?

2. 図解:「少なくとも」は世界の切り出し

確率を解くコツは、まず「すべてのパターン(世界)」を並べて、そこからターゲットを抜き出すことです。

【 図解イメージ 】

[ 全体の世界:4通り ]

1.【表・表】── ◎ターゲット
2.【表・裏】── ◎ターゲット
3.【裏・表】── ◎ターゲット

--------------------------

4.【裏・裏】── (※計算から除外)


3. 計算プロセス

1. 分母を決める: 世界の全部は 4通り

2. 分子を決める: 「少なくとも表」が含まれるのは 3通り

3. 答えを出す: 3 ÷ 4 = 3/4



4. DS検定形式:実戦4択クイズ

問:「少なくとも1回は表が出る」という確率を計算する際、計算を簡略化するために「すべての事象(1)」から「1回も表が出ない確率」を引く考え方を何と呼ぶか。

① 条件付き確率 ② 余事象(よじしょう) ③ 独立試行 ④ 排反事象


【 正解: ② 】

解説: 条件付き確率では分母を絞り込みましたが、今回の「少なくとも」では、全体から不要なものを引く「余事象」を使うと、図の 1 - (1/4) という計算でラクに答えが出せます。


5. まとめ

DS検定では「何を全体(分母)とするか」を読み間違えないことが大切です!「少なくとも」という言葉に注目して、余計なパターンを切り捨てましょう。

PR

【DS検定対策】データ解析の第一歩:探索的データ解析(EDA)

データ分析では、いきなり高度な予測モデルを作る前に、データそのものの姿を捉える工程が欠かせません。今回はその基本用語をクイズで学びましょう。

【問題】

問:データ分析において、分析者が事前に特定の仮説を立てることなく、データそのものを観察・可視化することで、その背後にある構造やパターン、知識を抽出するアプローチを何と呼ぶか。

① 探索的データ解析
② 仮説検証型解析
③ アノテーション
④ データの正規化


【正解】

① 探索的データ解析


【解説】

探索的データ解析(EDA:Exploratory Data Analysis)とは、統計学者のジョン・テューキーが提唱した手法です。先入観(仮説)を持たずにデータを要約・可視化し、異常値の発見や新しい仮説の構築につなげる非常に重要な工程です。


■ 図解イメージ

[仮説検証型]:仮説を立てる → 実験 → 検証(Yes/No)
[探索的解析]:データを見る → 特徴を発見 → 仮説を導き出す


■ 選択肢の用語解説

アノテーション:画像等に「正解ラベル」を付けるAI学習の準備作業。
データの正規化:単位や桁が違うデータを一定の範囲に揃える加工手法。


まとめ:

「事前の仮説なしにデータから知識を抽出する = 探索的データ解析(EDA)」。この定義をしっかり押さえておきましょう!



【DS検定対策】データ加工の基本:派生変数の定義と具体例

データ分析において、既存のデータセットには直接存在しない項目を、既存のデータから作り出す工程は非常に重要です。

【問題】

問:データ分析において、元のデータセットには直接存在しないが、既存の変数を組み合わせて計算や加工を施すことで新しく作成した変数のことを何と呼ぶか。

① 目的変数
② 派生変数
③ 外れ値
④ 欠損値

【解説】

正解: ②

既存の変数(生データ)から、計算や加工によって導き出された新しい項目を「派生変数」と呼びます。単なる数値の羅列から、分析に役立つ「意味のある情報」を取り出す重要なステップです。


■ 派生変数の具体例(図解イメージ)

[元のデータ] → [加工] → [派生変数]
・売上、客数 → 割り算 → 客単価
・生年月日 → 計算 → 年齢
・購入商品名 → 分類 → カテゴリフラグ


■ 特徴量エンジニアリングとの関係

特徴量エンジニアリングとは、モデルの精度を高めるためにデータを最適化する工程全体の総称です。派生変数の作成は、その工程の中に含まれる代表的な手法のひとつです。


まとめ:

「既存のデータから導出(計算)できるもの = 派生変数」という定義をしっかり覚えておきましょう!


【DS検定対策】条件付き確率をトランプ図解で攻略!「分母の絞り込み」が合格のカギ

数字だけで説明されると難しく感じる確率の問題も、図にしてみると驚くほどスッと理解できます。この記事では、トランプを題材に、DS検定の頻出項目である「条件付き確率」を解説します。

1. 問題:トランプのマークを当てる

【 問題 】

52枚のトランプから1枚引くとき、そのカードが「黒」であった場合、マークが「クラブ」である確率はいくらでしょうか?

2. 図解:条件付き確率は「世界の絞り込み」

条件付き確率を解く最大のコツは、「条件が示された瞬間に、分母(全体)を切り捨てること」です。


【 図解イメージ 】


[ 全52枚のカード ]

 |

 +-- 黒 (26枚) ---> ★新しい「全体(分母)」

 |    |

 |    +-- クラブ (13枚) ---> ◎ターゲット(分子)

 |    |

 |    +-- スペード (13枚)

 |

 +-- 赤 (26枚) ---> (※計算から除外)

3. 計算プロセス

1. 分母を絞る: 「黒の場合」により、分母は 52 ではなく 26

2. 分子を決める: 黒26枚の中に、クラブは 13枚

3. 答えを出す: 13 ÷ 26 = 1/2




4. DS検定形式:実戦4択クイズ

問:条件付き確率 P(A|B) において、記号「|」の右側にある事象 B が表す役割として、最も適切なものはどれか。


① 求めたいターゲットとなる結果(分子)

② 既に起こった、あるいは分かっている前提条件(分母)

③ 事象 A と事象 B が独立しているという保証

④ 事象 A が起こる確率を 2 倍にする係数


【 正解: ② 】


解説:

条件付き確率では、条件 B によって全体集合(分母)が制限されます。トランプの例で「黒の場合」と言ったとき、それは分母を26枚に絞り込む「前提条件」となりました。




5. まとめ

DS検定の計算問題では、「何を全体(分母)とするか」を読み間違えないことが大切です!「〜のとき」という言葉に注目して分母を絞り込みましょう。

【Python】SymPyで定積分を解く!x^2 + 1 を範囲指定で計算

数学の解析学において重要な「積分」。PythonのSymPyライブラリを使えば、不定積分だけでなく、範囲を指定した「定積分」も正確に解くことができます。今回は f(x) = x^2 + 1 を [0, 1] の区間で積分する方法を解説します。

1. 考え方:SymPyによる定積分の指定

SymPyで積分を行うには integrate 関数を使用します。定積分の場合は、対象となる変数と、その開始値・終了値を「タプル」という形式で指定するのがルールです。

[ 計算する式 ]
∫ (x^2 + 1) dx (範囲: 0から1)

[ SymPyでの記述 ]
integrate(式, (変数, 開始, 終了))
・今回の例:integrate(x**2 + 1, (x, 0, 1))

2. Pythonサンプルプログラム

変数 x を記号として定義し、それを使って式を組み立てます。計算結果が分数のまま保持されるのがSymPyの強みです。

# -*- coding: utf-8 -*-
from sympy import symbols, integrate

def main():
    # 変数xを記号として定義
    x = symbols('x')

    # 式 f(x) = x^2 + 1 の定義
    f = x**2 + 1

    # 0から1の区間で積分を実行
    # integrate(式, (変数, 開始, 終了))
    ans = integrate(f, (x, 0, 1))

    print("SymPyによる定積分を開始します。")
    print(f"x^2 + 1 を [0, 1] で積分した結果: {ans}")

if __name__ == "__main__":
    main()

3. 実行結果

SymPyによる定積分を開始します。
x^2 + 1 を [0, 1] で積分した結果: 4/3

4. ステップアップ:不定積分と数値化

定積分以外にも、SymPyは柔軟な計算が可能です。

  • 不定積分:範囲を指定せず integrate(f, x) とすれば、元の関数(原始関数)を返します。
  • 小数への変換:結果の 4/31.333... のように小数で表示したい場合は、ans.evalf() メソッドを使います。

5. まとめ

手計算では分数や計算ミスが起きやすい積分も、SymPyを使えば正確かつ迅速に解くことができます。特に理数系のシミュレーションやアルゴリズム開発において、数式をそのままコードに落とし込めるメリットは非常に大きいです。ぜひ活用してみてください!