はじめに
この実験では、NumPy ライブラリの numpy.std() 関数について学びます。標準偏差が何を意味するのか、および numpy.std() を使用して配列の標準偏差を計算する方法を理解します。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
標準偏差の理解
標準偏差は、値の集合の変動または分散の量を表す尺度です。数学的には、標準偏差は平均からの二乗偏差の平均の平方根として定義されます。標準偏差の式を見てみましょう。
$$std = \sqrt{\frac{\sum_{i=1}^{n} (x_i-\bar{x})^2}{n}}$$
ここで、$\bar{x}$ は配列要素の平均で、$x_i$ は配列の i 番目の要素で、$n$ は配列の要素数です。
numpy.std() の構文
numpy.std() 関数を使用するために必要な構文は以下の通りです。
numpy.std(a, axis=None, dtype=None, out=None)
パラメータ
a: 入力配列axis: 標準偏差を計算する軸。既定では、一次元配列に対して計算されます。dtype: 返される出力の望ましいデータ型out: 出力が格納される出力配列
戻り値
配列の標準偏差、または指定された軸に沿った標準偏差値を持つ配列を返します。
例
numpy.std() を使った簡単な例を見てみましょう。
import numpy as np
## 2 次元配列を作成
a = np.array([[11, 2], [13, 44]])
print("配列は:\n",a)
## 一次元化した配列の標準偏差を計算
print("標準偏差は :")
print(np.std(a))
## 軸 0 に沿った標準偏差を計算
print("軸 0 に沿った標準偏差:")
print(np.std(a, axis=0))
## 軸 1 に沿った標準偏差を計算
print("軸 1 に沿った標準偏差:")
print(np.std(a, axis=1))
出力:
配列は:
[[11 2]
[13 44]]
標準偏差は :
15.850867484147358
軸0に沿った標準偏差:
[ 1. 21.]
軸1に沿った標準偏差:
[ 4.5 15.5]
精度
出力のデータ型を指定できる例を見てみましょう。
import numpy as np
inp = [22, 2, 17, 11, 34]
print("入力配列は : ")
print(inp)
## 標準偏差を計算
print("入力配列の標準偏差は:")
print(np.std(inp))
## float32 でより高精度を得る
print("\nfloat32 でより高精度を得るには")
print("このように配列の標準偏差は : ", np.std(inp, dtype=np.float32))
## float64 でより正確さを得る
print("\nfloat64 でより正確さを得るには")
print("配列の標準偏差は : ", np.std(inp, dtype=np.float64))
出力:
入力配列は:
[22, 2, 17, 11, 34]
入力配列の標準偏差は:
10.721940122944167
float32でより高精度を得るには
このように配列の標準偏差は : 10.72194
float64でより正確さを得るには
配列の標準偏差は: 10.721940122944167
注:標準偏差をより正確に計算するために、dtype float64 が使用されます。
まとめ
この実験では、配列の指定された軸に沿った標準偏差を計算するために使用される numpy.std() 関数について学びました。また、numpy.std() の構文と渡すことができるさまざまなパラメータを理解しました。最後に、numpy.std() がどのように機能するかを理解するためのいくつかの例を見ました。