95%を超えて

Pythonでデータ可視化を磨く

Nick Strayer

Instructor

上: 単一の信頼バンド。下: 3層バンド。上から下へ矢印あり

Pythonでデータ可視化を磨く

上: 単一の信頼バンド。下: 3層バンド。下の90%レベルを指す矢印あり

Pythonでデータ可視化を磨く

上: 単一の信頼バンド。下: 3層バンド。下の95%レベルを指す矢印あり

Pythonでデータ可視化を磨く

上: 単一の信頼バンド。下: 3層バンド。下の99%レベルを指す矢印あり

Pythonでデータ可視化を磨く

上: 単一の信頼バンド。下: 3層バンド。上から下へ矢印あり

Pythonでデータ可視化を磨く
# 区間幅の設定
sizes    = ['99%', '95%', '90%']
Z_scores = [2.58,   1.96,  1.67]
colors   = ['#fee0b6','#f1a340', '#b35806']


for size, z, color in zip(sizes, Z_scores, colors): plt.hlines(y = data.y, # 下限・上限を計算 xmin = data['est'] - z*data['std_err'], xmax = data['est'] + z*data['std_err'], # 区間幅で色分け color = color,
# 視認性のため線を太く linewidth = 7,
# 凡例を明確にするためラベル付け label = size)
plt.plot('est', 'y', 'ko', data = data, label = 'Point Estimate') plt.legend()
Pythonでデータ可視化を磨く

90%、95%、99%の信頼区間を示す3本の横方向バンド(色分け)

Pythonでデータ可視化を磨く

3つの信頼区間。上: 外側を濃色。中: 類似色。下: 内側を濃色で強調

Pythonでデータ可視化を磨く
widths   = [    '99%',     '90%']
z_scores = [     2.58,      1.67]
colors   = ['#99d8c9', '#41ae76']

for percent, Z, color in zip(widths, z_scores, colors):
    # バンドを識別できるよう色を設定
    plt.fill_between(
        x=data.day, 
        y1=data['mean'] - Z*data['std_err'],
        y2=data['mean'] + Z*data['std_err']
        color=color,

# 透過でグリッドを見せる alpha=0.5,
# 凡例用にラベルを付与 label=percent)
Pythonでデータ可視化を磨く

2つの信頼バンドが重なり、内側の小さい濃色バンドが外側の大きい淡色バンド内にある

Pythonでデータ可視化を磨く
sizes = ['99% Confidence Interval', '95%', '90%']

# 区間ごとに線幅を変える
widths   = [   5,     10,    15]
Z_scores = [2.58,   1.96,  1.67]

for size, z, width in zip(sizes, Z_scores, widths):
    plt.hlines(
        y = data.y, label = size,
        xmin = data['est'] - z*data['std_err'], 
        xmax = data['est'] + z*data['std_err'], 
        color = 'grey'

# 区間に応じて線の太さを調整 linewidth = width)
plt.plot('est', 'y', 'wo', data = data, label = 'Point Estimate') plt.legend()
Pythonでデータ可視化を磨く

3層の信頼区間が3組。内側ほど帯が最も太く、外側ほど細くなる

Pythonでデータ可視化を磨く

境界を広げましょう!

Pythonでデータ可視化を磨く

Preparing Video For Download...