Мне нужно создать кумулятивное распределение из некоторых чисел, содержащихся в векторе. Вектор подсчитывает количество раз, когда операция точечного произведения происходит в алгоритме, который мне дал.Создание кумулятивного распределения от вектора
Пример вектор будет
myVector = [100 102 101 99 98 100 101 110 102 101 100 99]
Я хотел бы построить вероятность того, что у меня есть меньше, чем 99 точечных продукты, против диапазона от 0 до 120. Встроенного функции
Cumdist(MyVector)
Не подходит, поскольку мне нужно построить более широкий диапазон, чем в настоящее время предоставляет кумдист.
Я попытался с помощью
plot([0 N],cumsum(myVector))
, но у меня есть несколько записей, которые имеют одинаковое значение в моем векторе, и я не могу работать, как не удвоить счет.
Вот некоторые питона код, который делает то, что я хочу:
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]
испытания представляет собой список чисел, представляющих число раз скалярное произведение было сделано.
Вот пример того, что я ищу:
Example cumulative distribution
Не могли бы вы добавить дополнительную информацию? Пример даст нам больше понимания. – Nick
@RodyOldenhuis Я думаю, что дубликаты должны давать более высокие увеличения, чем одиночные значения. –