Menu
CoddyTech

68-95-99.7ルール

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 10/64。

正規分布では、標準偏差(std)から、平均値からどれくらい離れた値がどの割合を占めるかがわかります。コーヒーの注出量の平均は250 ml、標準偏差は5 mlです。

250 mlを中心としたコーヒーの注出量のベルカーブ。245から255までは最も濃く色付けされ、240から260まではより薄く、235から265までは最も薄く色付けされている。括弧には、1標準偏差以内が68%、2標準偏差以内が95%、3標準偏差以内が99.7%と記されている

これが68-95-99.7ルールです。シミュレーションしたカップ10,000個で確認しましょう。マスクは標準偏差1以内のものを数えます。

rng = np.random.default_rng(1)
cups = rng.normal(250, 5, size=10000)
within1 = (cups > 245) & (cups < 255)
print(within1.sum() / cups.size)

これは次のように出力されます。

0.6868

以下の任意の値について、stats.norm.cdf(x, mean, std) は x の左側の面積を返します。stats.norm.cdf(260, 250, 5) は 0.977 です。

3 stdを超える逸脱は1,000回に3回発生します。モデルに到達する前にフラグを立てるのに十分なほどまれです。

challenge icon

チャレンジ

簡単

ある研究所で電球5,000個を切れるまで点灯させました。lifeにはその点灯時間が格納され、プログラムはhを読み込みます。lifeの平均と標準偏差(np.std)を使って、次の割合をパーセント(小数第1位まで)で出力してください。

  1. 平均から標準偏差1つ分の範囲内、
  2. 標準偏差2つ分の範囲内、
  3. h未満(実測値)、
  4. h未満(正規曲線による値)。

別のロットで、入力が1100の場合:

Within 1 std: 67.6%
Within 2 std: 95.7%
Below 1100 hours, counted: 10.2%
Below 1100 hours, normal curve: 10.1%

自分で試してみよう

import numpy as np
from scipy import stats

# 以下の行は変更しないでください
rng = np.random.default_rng(12)
life = np.round(rng.normal(1200, 100, size=5000))
h = int(input())

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ