Articles

Numpy標準偏差の説明

このチュートリアルでは、Numpy標準偏差関数(別名、np。std)。高レベルでは、Numpy標準偏差関数は単純です。 Numpy配列内の値の標準偏差を計算します。しかし、関数がどのように機能するかの詳細は少し複雑であり、いくつかの説明が必要です。

しかし、関数がどのように機能するかの詳細は少し複雑そうは言っても、このチュートリアルではNumpy標準偏差関数の使用方法を説明します。これは、npの構文を説明します。

std()、および関数がどのように機能するかの明確なステップバイステップの例を示しています。

チュートリアルはセクションに編成されています。 次のリンクのいずれかをクリックすると、適切なセクションに移動します。

目次:

  • Numpyの非常に簡単なレビュー
  • numpy標準偏差の紹介
  • npの構文。std
  • Numpy標準偏差の例
  • Numpy標準偏差FAQ

あなたがNumpyに比較的新しいなら、あなたはチュートリアル全体を読むことをお勧めします。

Numpyのクイックレビュー

まず、numpyのveeeeryクイックレビューから始めましょう。Numpyとは何ですか?

Numpyは数値データを扱うためのツールキットです

簡単に言えば、Numpyは数値データを扱うためのツールキットです。まず、Numpyには、Numpy配列と呼ばれるデータ構造を作成するためのツールセットがあります。あなたはNumpy配列を数字の行と列のグリッドと考えることができます。 Numpy配列は、1次元、2次元、またはn次元にすることができます。

2D配列は次のようになります:

数字が0から7の2次元NumPy配列の例。簡単にするために、このチュートリアルでは、1次元または2次元の配列に固執します。さまざまな種類の数値を持つさまざまな種類の配列を作成するには、さまざまな方法があります。 Numpy配列を作成するための他のいくつかのツールには、numpy arrange、numpy zeros、numpy one、numpy tile、およびその他のメソッドがあります。Numpy配列の作成方法にかかわらず、高レベルでは、それらは単に数値の配列です。

NumpyはNumpy配列を操作するためのツールを提供します

NumpyはNumpy配列を作成するためのツールを提供するだけでなく、NumpyはNumpy配列を操作するた

これらのNumpyツールの中で最も重要なもののいくつかは、計算を実行するためのNumpy関数です。

次のようなことをするためのNumpy関数のセット全体があります:

  • Numpy配列の合計を計算する
  • 最大値を計算する
  • 配列内の数値の指数を計算する
  • Numpy配列内のすべての値について、値xをあるべき乗に計算する

…Numpyの標準偏差は、本質的にこれらの他のNumpyツールとよく似ています。

Numpyの標準偏差は、Numpyの標準偏差に似ています。 これは、Numpy配列内の数値のグループの計算(標準偏差)を実行するために使用されます。

Numpy標準偏差の簡単な紹介

非常に高いレベルでは、標準偏差はデータセットの広がりの尺度です。 特に、これは、データポイントがデータの平均からどれくらい離れているかの尺度です。

基本的な計算を簡単に見てみましょう。標準偏差は、分散の平方根として計算されます。

標準偏差は、分散の平方根として計算されます。

したがって、N数値を持つデータセットがある場合、分散は次のようになります:sum sum_{i=1}N N(x_i-\overline{x})end2\end{equation*}

そして、標準偏差はちょうど分散の平方根になります:

\frac{1}{N}\displaystyle\sum_{i=1}^N(x_i-\overline{x})end2\end{equation*}

そして、標準偏差は分散の平方根になります。

\frac{1}{N}\displaystyle\sum_{i=1}^N(x_i-\overline{x})end2\end{equation*}um sum_{i=1}Over n(X_i-\Overline{x})^2}\end{equation*}whereここで、sum sum_{i=1}n n(X_i-\Overline{x})^2endはOver Sum_{i=1}n n(X_i-\Overline{x})end2endはOver Sum_{i=1}end n(X_i-\Overline{x})end2endを意味します。:

x_i=データセット内の個々の値
N=データセット内の値の数
\overline{x}\overline{x}X_i=データセット内の値
N=データセット内の値の数
\overline{x}x_i

ほとんどの場合、平均、平均からの各データポイントの偏差、偏差の二乗などを計算する必要があるため、手で標準偏差を計算するのは少し 率直に言って、それは少し退屈です。ただし、Pythonで作業している場合は、Numpy標準偏差関数を使用して計算を実行できます。このブログ記事はnumpyの使用に関するものなので、統計を初めて使用する場合は簡単なメモ

。std()関数、私は計算が手作業でどのように実行されるかについて雑草に深く入り込みたくありません。 このチュートリアルでは、実際に関数を使用する方法について説明します。 したがって、標準偏差が何であるかを簡単に確認する必要がある場合は、このビデオを見ることができます。

Okです。 標準偏差が何であるかをすばやく確認した後、npの構文を見てみましょう。std.

npの構文。std

Numpy標準偏差関数の構文は非常に簡単です。私はちょうど秒でそれを説明しますが、最初に、私はあなたにNumpyの構文について一つの簡単なメモを伝えたいと思います。

私はあなたにNumpyの構文につ簡単なメモ:正確な構文は、Numpyのインポート方法によって異なります

通常、Numpy構文を記述するときは、エイリアス”np”を使用します。 これは、ほとんどのデータ科学者の間で共通の慣習です。そのエイリアスを設定するには、次のようにNumpyをインポートする必要があります:このエイリアスを使用してNumpyをインポートすると、Numpy標準偏差関数をnp.std()として呼び出すことができます。さて、それは言われている、のは、構文を詳しく見てみましょう。

np.高いレベルでは、npの構文。stdは次のようになります。

Numpy標準偏差の構文を説明する画像。前述したように、エイリアス“でNumpyをインポートしたと仮定すると、構文np.std()で関数を呼び出します。

次に、括弧の中には、関数の動作を正確に制御できるいくつかのパラメータがあります。

これらのパラメータを見てみましょう。

numpyのパラメータ。std

あなたが知っておくべきいくつかの重要なパラメータがあります:li>

  • dtype
  • ddof
  • ddof
  • axis
  • dtype
  • ddof
  • ddof
  • ddof
  • ddof
  • keepdims
  • out
  • それぞれを見てみましょう。p>

    a(必須)

    aパラメータは、標準偏差を計算する値の配列を指定します。

    別の言い方をすれば、これは関数への入力配列を指定することを可能にします。適切な入力にはNumpy配列が含まれますが、Pythonリストなどの”配列のような”オブジェクトも含まれます。

    重要なのは、このパラメータへの入力を提供する必要があることです。 入力が必要です。

    そうは言っても、パラメータ自体は暗黙的または明示的にすることができます。 つまり、パラメータを直接入力することができますa=、またはパラメータを構文から除外して、入力配列の名前を入力するだけです。

    この例を例1で示します。

    axis

    axisパラメーターを使用すると、標準偏差を計算する軸を指定できます。これを理解するには、実際に軸を理解する必要があります。

    これを理解するには、軸を理解する必要がありNumpy配列には軸があります。配列に沿った方向のような”軸”を考えることができます。

    2次元配列では、axis-0とaxis-1の2つの軸があります。

    2D配列では、axis-0は行に沿って下方を指し、axis-1は列に沿って水平を指します。視覚的には、次のように2D配列の軸を視覚化できます:

    NumPy配列軸の視覚的な例です。

    axisパラメータを使用すると、配列に沿った特定の方向の標準偏差を計算できます。

    これは例で最もよく説明されているので、例2で例を示します。

    (Numpy配列軸の完全な説明については、Numpy軸の説明と呼ばれるチュートリアルを参照してください。h6>

    (オプション)
    dtypeパラメーターを使用すると、np時に使用するデータ型を指定できます。stdは標準偏差を計算します。入力配列のデータが整数の場合、これはデフォルトでfloat64になります。それ以外の場合、入力配列のデータが浮動小数点数の場合、これは入力配列と同じ浮動小数点型にデフォルト設定されます。

    ddof

    (オプション)
    これにより、計算の”自由度”を指定できます。これを理解するには、式2をもう一度見る必要があります。

    これを理解するには、式2をもう一度見る必要があります。この式では、最初の項は\frac{1}{N}です。

    覚えておいてください:Nは配列またはデータセット内の値の数です。しかし、統計的に考えると、母集団の標準偏差とサンプルの標準偏差の計算には実際に違いがあります。

    しかし、統計的に考えると、実際には母集団の標準偏差とサンプルの標準偏差の計算には違いがあります。母集団の標準偏差を計算する場合、式では\frac{1}{N}という用語を使用します。\frac{1}{N}n\frac{1}{n-1}になるように式を修正する必要があります。 その場合、サンプル標準偏差の式は次のようになります。

    \begin{equation*}s_{sample}=\sqrt{\frac{1}{n-1}\displaystyle\sum_{i=1}^N(x_i-\overline{x})2 2}\end{equation*}

    これをnpで実装しますか。std?これを行うには、ddofddof = 1ddofddofを使用すると、標準偏差の計算が次のように変更されます。

    \begin{equation*}\sqrt{\frac{1}{n-ddof}\displaystyle\sum_{i=1}^N(x_i-\overline{x})2 2}\end{equation*}

    正直に言うと、これは少し技術的です。 これについての詳細を学ぶ必要がある場合は、Khan academyで自由度と母集団対サンプル標準偏差についてのこのビデオを見る必要があります。

    out

    (オプション)
    outパラメータを使用すると、出力を配置する代替配列を指定できます。これは、期待される出力と同じ形状を持つ必要があります。

    keepdims

    (オプション)
    keepdimskeepdims = Trueを設定すると、出力の次元数は入力と同じになります。

    覚えておいてください:標準偏差を計算すると、計算は次元の数を”折りたたむ”ことになります。たとえば、2次元配列を入力として入力すると、デフォルトではnpです。stdは数値を出力します。 スカラー値。 しかし、出力を2D配列(つまり、入力と同じ次元の出力配列)内の数値にしたい場合は、keepdims = Trueを設定できます。正直に言うと、これらのパラメータのいくつかは少し抽象的であり、私は彼らが例でより多くの意味をなさないと思います。いくつかの例を見てみましょう。

    Numpyの標準偏差を使用する方法の例

    ここでは、いくつかの例を取り上げます。 私たちは、単純な開始し、複雑さを増加します。

    例:

    • 1次元配列の標準偏差を計算します
    • 2次元配列の標準偏差を計算します
    • npを使用します。std列の標準偏差を計算するには
    • npを使用します。std行の標準偏差を計算するには
    • 自由度を変更する
    • npのkeepdimsパラメータを使用します。std

    最初にこのコードを実行します

    サンプルコードを実行する前に、Numpyをインポートする必要があります。これを行うには、次のコードを実行します。

    import numpy as np

    これは、エイリアス”np“でNumpyをインポートします。

    例1:1次元配列の標準偏差を計算する

    ここでは、単純な始めましょう。 1次元のNumpy配列の標準偏差を計算します。

    1次元のNumpy配列の標準偏差を計算します。

    1D配列を作成します

    まず、1D配列を作成します。

    array_1d = np.array()
    標準devを計算します

    ここで、これらの数値の標準偏差

    np.std(array_1d)

    アウト:

    30.84369195367723

    ここで何が起こったのですか?

    npです。std関数は、前に見た式2を使用して、数値の標準偏差を計算しました。x_ia=パラメータを明示的に使用していませんでした。 それはnpだからです。stdは、コードnp.std(array_1d)aパラメータに渡す必要があることを理解しています。

    または、a=パラメータを明示的に使用することもできます。

    np.std(a = array_1d)

    OUT:

    30.84369195367723

    例2:2次元配列の標準偏差を計算する

    Ok。 次に、2次元配列の例を見てみましょう。

    2次元配列を作成します

    ここでは、npを使用して2次元配列を作成します。ランダムrandint関数。p>

    np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))

    この配列には3行4列があります。それを印刷して、それを見ることができます。

    それを見てみましょう。これは、0と20の間の12個のランダムな整数を含む単なる2D配列です。npで標準偏差を計算します。

    標準偏差をnpで計算します。td

    さて、標準偏差を計算しましょう。/p>

    np.std(array_2d)

    アウト:

    5.007633062524539

    ここで、numpy。std()は、12個の整数すべての標準偏差を計算するだけです。 標準偏差は5.007633062524539です。

    例3:列の標準偏差を計算する

    ここで、列の標準偏差を計算します。 これを行うには、axisパラメータを使用する必要があります。 (あなたはnumpyのパラメータについてのセクションでaxisaxis = 0を設定する必要があります。なぜ?

    なぜ?

    なぜ?先ほどaxisパラメータの説明で述べたように、Numpy配列には軸があります。

    2次元配列では、axis-0は下向きの軸です。p>

    axis=0が配列の行の下の軸であることを示すNumPy配列。numpyを使用する場合。stdと、それは軸-0方向に下向きの標準偏差を計算します。私が何を意味するのかを見ることができるように、例を見てみましょう。

    2次元配列を作成します

    まず、npを使用して2次元配列を作成します。ランダムrandint関数。 (これは例2で作成したのと同じ配列なので、既に作成している場合は、再度作成する必要はありません。p>

    np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))

    それを印刷して、それを見ることができます。これは、0から20の間の整数を含む単なる2D配列です。

    npを使用します。ここで、npの内部にaxis = 0を設定します。std列の標準偏差を計算します。H6>

    ここで何が起こっていますか?

    ここで何が起こっていますか?

    ここで何が起こっていますか?

    ここで何が起こっていますか?

    ここで何が起こっているのですか?

    ここで何が起こっているのですか?

    ここで何が起こっているのですか?

    ここで何が起こっているのですか?npを使用する場合。

    stdとaxis = 0、Numpyは軸-0方向に標準偏差を下方に計算します。 上記のように、axis-0は下向きを指していることを覚えておいてください。

    これは、Numpy配列の各列の標準偏差を計算する効果があります。列の標準偏差を計算するためにaxis=0でNumpy標準偏差を使用する方法を示す画像です。

    列の標準偏差を計算するためにnumpy標準

    ここで、行の標準偏差を使って同様の例を見てみましょう。例4:npを使用します。

    例4:npを使用します。std行の標準偏差を計算するには

    今、私たちはnpを使用するつもりです。stdは、2D numpy配列に沿って水平方向に標準偏差を計算します。私が前に言ったことを覚えておいてください:numpy配列には軸があります。 軸はNumpy配列に沿った方向のようなものです。 2D配列では、axis-1は次のように水平方向を指します:p>

    axis-1が2D Numpy配列に沿って水平方向にどのようにポイントするかを示す画像。したがって、標準偏差を水平方向に計算したい場合は、を設定できます。 これは、行の標準偏差を計算する効果があります。見てみましょう。

    2次元配列を作成する

    この例を実行するには、再び2D Numpy配列が必要になるため、npを使用して2D配列を作成します。ランダムrandint関数。 (これは例2で作成したのと同じ配列なので、既に作成している場合は、再度作成する必要はありません。p>

    np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))

    それを印刷して、それを見ることができます。これは、0から20の間の整数を含む単なる2D配列です。

    npを使用します。std行の標準偏差を計算するには

    ここで、npを使用します。行の標準偏差を計算するには、axis = 1を使用します。p>

    np.std(array_2d, axis = 1)

    アウト:p>

    array()
    説明

    例3を理解していれば、この新しい例は意味をなさないはずです。npを使用する場合。

    stdとsetaxis = 1、Numpyは軸-1に沿って水平方向の標準偏差を計算します。p>

    npを使用して表示される画像。行の標準偏差を計算するには、axis=1のstdを使用します。効果的に、Numpy標準偏差をで使用すると、関数は行の標準偏差を計算します。

    例5: 自由度を変更する

    さて、自由度を変更しましょう。

    この例では、大量の数値配列を作成し、その配列からサンプルを取得し、そのサンプルの標準偏差を計算します。

    まず、配列を作成しましょう。最初に、平均が0、標準偏差が10の正規分布Numpy配列を作成します。これを行うには、Numpy random normal関数を使用します。 乱数発生器のシードを設定するには、Numpy random seed関数を使用していることに注意してください。 これに関する詳細については、npについてのチュートリアルをお読みください。ランダム種だp>

    np.random.seed(22)population_array = np.random.normal(size = 100, loc = 0, scale = 10)

    Ok。 これで、平均が0、標準偏差が10の100個の要素を持つNumpy配列population_arrayができました。ここで、Numpy random choiceを使用して、Numpy配列population_arraysample_arraypopulation_arrayddofsample_arrayを使用します。サンプルの標準偏差を計算します。

    サンプルの標準偏差を計算します。

    ここで、サンプルの標準偏差を計算します。

    ここで、サンプルの標準偏差を計算します。具体的には、Numpy標準偏差関数を使用して、ddofddof = 1に設定します。

    np.std(sample_array, ddof = 1)

    アウト:

    10.703405562234051
    説明

    ここで、我々は計算しました:そして、ddof = 1を設定すると、式は次のように評価されます。

    \\\\\\\明確にするために、サンプルの標準偏差を計算するときに、ddof = 1を設定します。

    正直に言うと、なぜについての詳細は少し技術的である(とこの記事の範囲を超えて)ので、サンプル標準偏差の計算の詳細については、私はあなたがこ他のいくつかのインスタンスでは、ddofddofパラメータをまったく使用しない場合、デフォルトは0になります。

    どの値を選択しても、Numpy標準偏差関数は次の式で標準偏差を計算します。

    \

    例6:npでkeepdimsパラメータを使用します。std

    Ok。 最後に、最後の例を1つ行います。ここでは、keepdimskeepdims = Trueに設定します。

    2次元配列を作成します

    まず、npを使用して2次元配列を作成します。ランダムrandint関数。 (これは例2で作成したのと同じ配列なので、既に作成している場合は、再度作成する必要はありません。p>

    print(array_2d)

    出力:

     ]
    寸法を確認してください

    さて、この配列の寸法を見てみましょう。

    2

    これは意図したように、2D配列です。

    標準偏差を計算し、寸法を確認します

    Ok。 ここで、標準偏差を計算し、出力の次元を確認します。出力をすばやく出力しましょう:

    print(output)

    出力:

    5.007633062524539

    だから、標準偏差は5.007633062524539です。

    さて、出力の次元は何ですか?/p>

    output.ndim

    アウト:p>

    0

    出力の次元は0です(スカラー値です)。なぜ?

    なぜ?

    なぜ?

    ときnp。stdは標準偏差を計算し、それは要約統計量を計算しています。 この場合、関数は多数の値を取得し、それらを単一のメトリックに折りたたんでいます。

    入力は2次元でしたが、出力は0次元です。それを変更したい場合はどうすればよいですか?

    出力に技術的に2次元を持たせたい場合はどうすればよいですか?これを行うには、keepdimsパラメータを使用します。npを使用するときは、元の次元を保持します。

    ここでは、出力を入力と同じ次元にするためにkeepdims = Trueを設定します。

    output_2d = np.std(array_2d, keepdims = True)

    さて、出力を見てみましょう:

    print(output_2d)

    OUT:

    ]

    出力、標準偏差はまだ5.00763306であることに注意してください。 しかし、結果は二重括弧の内側に囲まれています。p>

    検査してみましょうoutput_2doutput_2dはNumpy配列であり、スカラー値ではありません。このNumpy配列output_2dは2つの次元を持っています。これは、入力と同じ次元数です。

    これは、入力と同じ次元数です。

    何が起こったのですか?

    keepdims = Trueを設定すると、npが発生しました。入力と同じ次元数の出力を生成するstd関数。 出力に行と列がないにもかかわらず、出力output_2dkeepdims = Trueaxisパラメータを使用する場合にも機能します…試してみてください!Numpy標準偏差についてよくある質問

    Numpy標準偏差について学び、いくつかの例を見たので、npについてよくある質問をいくつか見てみましょう。std.numpy std()がmatlab std()や他のプログラミング言語と異なる結果を与えるのはなぜですか?質問1:numpy std()がmatlab std()または別のプログラミング言語と異なる結果を与えるのはなぜですか?単純な理由は、matlabが次のように標準devを計算するためです。

    \

    (他の多くのツールは同じ式を使しかし、Numpyは次のように計算します。

    \

    \frac{1}{n-1}\frac{1}{n-1}\frac{1}{n-1}\frac{1}{n-1}\frac{1}{n-1}\frac{1}{n-1}frac{1}{n}。これを修正するには、Numpyのddofパラメータを使用できます。npを使用する場合。

    パラメータがddof = 1に設定されている場合、matlabと同じ答えが得られるはずです。あなたはNumpyの標準偏差関数について他の質問がありますか?

    以下のコメントにあなたの他の質問を残します

    あなたはNumpyの標準偏差関数に

    以下のコメントセクションにあなたの質問を残します。

    Numpyについての詳細を学ぶために私たちのコースに参加

    このチュートリアルで見てきた例は、あなたが始めるのに十分でなければなりませんが、Numpyの学習に真剣に取り組んでいる場合は、Numpy Masteryと呼ばれるプレミアムコースに登録する必要があります。Numpyについて学ぶことはもっとたくさんあり、Numpy Masteryは以下を含むすべてを教えてくれます。

    :

    • Numpy配列を作成する方法
    • Numpy random関数を使用する方法
    • “Numpy random seed”関数が何をするか
    • あなたのNumpy配列を再形成、分割、結合する方法
    • など…

    また、それはあなたが完全に数週間以内に構文を習得するのに役立ちます。 あなたはNumpyコードを書くことで”流暢”になる方法を発見するでしょう。

    詳細はこちらをご覧ください:

    Numpy Masteryについての詳細はこちら