ブートストラップをたくさん回してビースウォームで可視化
現在シンシナティに住んでいるあなたは、これまで住んだことのあるほかの都市であるデモイン、インディアナポリス、ヒューストンと比べて、平均的な NO2 の値がどう違うか知りたくなりました。
これを確かめるため、各都市の平均 NO2 値をブートストラップ推定で求めることにします。比較が主目的なので、推定値の比較にはスウォームプロットを使います。
ブートストラップの再標本化を行うためのスライドにある bootstrap() 関数とともに、DataFrame pollution_may が用意されています。
この演習はコースの一部です
Pythonでデータ可視化を磨く
演習の手順
- 各
city_NO2ベクトルに対してブートストラップ再標本化を実行します。 - 都市名をブートストラップの DataFrame
cur_bootの列として追加します。 - 色とサイズの問題を避けるため、スウォームプロットの全ての点を
'coral'に指定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize a holder DataFrame for bootstrap results
city_boots = pd.DataFrame()
for city in ['Cincinnati', 'Des Moines', 'Indianapolis', 'Houston']:
# Filter to city
city_NO2 = pollution_may[pollution_may.city == city].NO2
# Bootstrap city data & put in DataFrame
cur_boot = pd.DataFrame({'NO2_avg': bootstrap(____, 100), 'city': ____})
# Append to other city's bootstraps
city_boots = pd.concat([city_boots,cur_boot])
# Beeswarm plot of averages with citys on y axis
sns.swarmplot(y = "city", x = "NO2_avg", data = city_boots, ____ = '____')
plt.show()