ベクトルに含まれるいくつかの数値から累積分布を作成する必要があります。ベクトルは、与えられたアルゴリズムで内積演算が発生する回数をカウントします。
ベクトルの例は次のようになります。
myVector = [100 102 101 99 98 100 101 110 102 101 100 99]
0 から 120 までの範囲に対して、内積が 99 未満である確率をプロットしたいと思います。組み込み関数
Cumdist(MyVector)
cumdist が現在提供しているよりも広い範囲でプロットする必要があるため、適切ではありません。
使ってみました
plot([0 N],cumsum(myVector))
しかし、私のベクトルには同じ値である複数のエントリがあり、二重にカウントしないようにする方法がわかりません。
ここに私が望むことをするいくつかのpythonコードがあります:
count = [x[0] for x in tests]
found = [x[1] for x in tests]
found.sort()
num = Counter(found)
freqs = [x for x in num.values()]
cumsum = [sum(item for item in freqs[0:rank+1]) for rank in xrange(len(freqs))]
normcumsum = [float(x)/numtests for x in cumsum]
tests は内積が行われた回数を表す数値のリストです。
これが私が探しているものの例です: