分散を計算する
よく使われる関数が内部で何をしているのかを理解しておくことは大切です。すでに分散の計算方法をご存じかもしれませんが、本コースは初心者向けで、その前提は置きません。この演習では、動画で説明した式に従って、Iris veriscolor の花びらの長さの分散を明示的に計算します。その後、np.var() を使って同じ分散を計算します。
この演習はコースの一部です
Pythonで学ぶ統計的思考(パート1)
演習の手順
- 花びらの長さ(
versicolor_petal_length)から平均の花びらの長さを引いた配列differencesを作成します。versicolor_petal_lengthはすでに NumPy 配列として名前空間にあるので、NumPy のベクトル化演算を活用できます。 - この配列の各要素を二乗します。たとえば、
x**2は配列xの各要素を二乗します。結果をdiff_sqとして保存します。 np.mean()を用いてdiff_sqの要素の平均を計算し、結果をvariance_explicitとして保存します。np.var()を用いてversicolor_petal_lengthの分散を計算し、結果をvariance_npとして保存します。variance_explicitとvariance_npが一致していることを確認するため、1 回のprint呼び出しで両方を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Array of differences to mean: differences
# Square the differences: diff_sq
# Compute the mean square difference: variance_explicit
# Compute the variance using NumPy: variance_np
# Print the results