2016-12-18 8 views
2

.. [1,2,3,4]pythonのnumpy var()とstatistics variance()の違いは何ですか?

from statistics import variance 
import numpy as np 
print(np.var([1,2,3,4])) 
print(variance([1,2,3,4])) 
//1.25 
//1.6666666666666667 

が期待ため

例えば、私は1回のデータクエストの練習をしようとしていたと私は取得しています分散は二つのパッケージのために異なっていることを考え出しました運動の答えは(np.varで計算される)

編集 私はそれが後で1はサンプルの分散ではなく分散であることを行う必要があります推測する...誰でも違いを説明できますか?

+0

クロス:

統計ライブラリは、このドキュメントを参照してください。詳細については、標準偏差

を与える関数のための分散のn彼らはVARや分散呼んため、および分散のn-1を使用numpyのが好き-site dupe http://stats.stackexchange.com/q/17890 – wim

+1

サンプルと人口統計に使用できるオプションを表示するhelp help(np.var)... np.var([1,2,3、 4]、ddof = 0)=> 1.25 ...およびnp.var([1,2,3,4]、ddof = 1)=> 1.6666666666666667 – NaN

答えて

3

使用は、この

print(np.var([1,2,3,4],ddof=1)) 

1.66666666667 

「自由のデルタ度」: - DDOF、Nは素子数を表す計算に使用される除数はNです。デフォルトでは、ddofはゼロです。

平均は、通常、x.sum()/Nとして計算されます。ここで、N = len(x)です。ただし、ddofが指定されている場合は、除数N-ddofが代わりに使用されます。

ddof=1は、統計的に無限大の母集団の分散の不偏推定を提供します。 ddof=0は、正規分布変数の分散の最尤推定を提供します。 numpy doc

+4

最後のビットは正しくありません。 numpyはデフォルトで 'var()'と 'std()'の両方に 'ddof = 0'を使います。他のライブラリは、デフォルトで両方の 'ddof = 1'を選択します。分散のために1つの規約を使用し、標準偏差のためにもう1つの規約を使用するライブラリーがないことはわかっています –

関連する問題