数値の大きなリストがあり、このデータから分布を作成してプロットし、分布に関してリスト内のすべての数値の p 値を見つけたいと考えています。
Pythonでこれを行うことは可能ですか? matplotlib のドキュメントで見つけることができません。他のものを使用する必要がありますか?
数値の大きなリストがあり、このデータから分布を作成してプロットし、分布に関してリスト内のすべての数値の p 値を見つけたいと考えています。
Pythonでこれを行うことは可能ですか? matplotlib のドキュメントで見つけることができません。他のものを使用する必要がありますか?
;のstats
モジュールを調べることをお勧めします。scipy
このようなものに対して多数の統計関数を提供します。プロットには、まだmatplotlibを使用します。
numpy モジュールの searchsorted 関数を使用すると、順序付けられた配列内の一連の値の順序が得られます。次に、元の配列の次元に再正規化するだけで、pvalue に変換できます。
data = sorted(rand(10))
new_data = rand(5)
pvals = searchsorted(data,new_data)*1./len(data)
print pvals
#array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
実際、元の数値の pvalue が必要な場合、特別な関数はまったく必要ありません。pvalue は、並べ替えられたデータセット内の順序をその長さで割ったものです。元の値に対する新しい値の pvalue が必要な場合は、私が提供したスニペットを使用できます