Math for AI:numpyを使用して分布を計算する

1976 ワード

Numpyで「拡散」(Variance)を計算する


まず,分散は特定データ(確率変数)が平均値からどれだけ分散するかを強調する指標である.分散数学の定義は次のとおりです.
  • Var(X) = E[(X−μ)2] = E(X2)−[E(X)]2Var(X)\,=\,E[(X-\mu)^2]\,=\,E(X^2)-[E(X)]^2Var(X)=E[(X−μ)2]=E(X2)−[E(X)]2
  • 前述したように、確率変数XXXは母平均数であるμ\muμ強調和の差であるため,単純な偏差の基数値ではなく,偏差二乗の基数値で計算する.
    それをより標準化またはより完全にするために、超差に根を下ろすと標準偏差(Standard Deviation);σ\sigmaσ)として定義できます.
  • Var(X) = E[(X−μ)2]Var(X)\,=\,E[(X-\mu)^2]Var(X)=E[(X−μ)2]
  • Var(X) = E[(X−μ)2]= σx\sqrt{Var(X)}\,=\,\sqrt{E[(X-\mu)^2]}=\,\sigma_{x}Var(X)​=E[(X−μ)2]​=σx​
  • Numpyを使用した一時的認可の計算



    Numpyで分散を計算する方法は簡単です.我々が処理するマトリクスがn*nサイズであると仮定し,numpyでマトリクス分散を計算する場合を大きく3つに分ける.

    1)すべての成分の分布を分行、列計算しない

    a = np.array([[1, 2], [3, 4]])
    np.var(a)

    2)1~n行目、k列目に位置する元素の分布を計算する

    np.var(a, axis=0)
    >> array([1.,  1.])

    3)k行目、1~n列目の元素の分布を計算する

    np.var(a, axis=1)
    >> array([0.25,  0.25])

    ddofとは何ですか。


    実はこのコンセプトのために書きたかったのですが、DDOFは見るからに自由度だと思います.ただし、詳細に実装するには、その意味を知る必要があるので、numpyドキュメントを以下に示します.
    “Delta Degrees of Freedom”: the divisor used in the calculation is N - ddof, where N represents the number of elements. By default ddof is zero.
    私たちは母分散です(σ2\sigma^2σ2)計算時と計算標本分散(s 2 s^2 s 2)時とは、いずれも偏差二乗の平均値として定義されているが、この場合、標本分散の場合、平均を求める場合、元素個数nから−1を1つの値で除算する.このように計算するのがもっと偏っていない値だからです.(詳細については、数理統計学を参照してください.)
    したがってnumpyでは、オフセットと非オフセットの計算を以下の例で異なるようにすることができます.
    biased_var = np.var(x)
    unbaised_var = np.var(x,ddof=1)
    今日の計算練習は先に終わります!ところで、なぜ計算を繰り返しているのか分からないが、今でも頭がつかめない...誰かともっとコード思考能力を学ぶべきだと思います.
  • Source : https://numpy.org/doc/stable/reference/generated/numpy.var.html