Переведите эту задачу R Geometri c, используя numpy Случайное геометрическое - PullRequest
0 голосов
/ 13 марта 2020

Как мне перевести эту геометрию c закон задачу на numpy?

Продукция, произведенная на машине, имеет дефект 3%. Какова вероятность того, что первые дефектные o c -курс в пятом элементе проверены?

P (X = 5) = P (1-й 4-дефектный) P (5-й) дефект) = (0,974) (0,03)

В R> dgeom (x = 4, prob = .03) [1] 0,02655878T

В R принято записывать X как число сбоев, которые произошли до первого успеха.

Это мой код numpy в порядке? :

result = np.random.geometric(p=0.03, size=1000)
print(result);

result =  (result == 5).sum() / 1000.
print(result * 1000,"%");

Я получаю 17% в результате с numpy, это нормально? Кажется неправильным, потому что процент дефектов составляет всего 3%.

Это массив результатов numpy:

""" [ 31  20  37   9  47  31  22   7  44  15  52  15   4  14  36  45  26  27
   9  48  30   5   7  17   7  24 121  22  23  49   2  26  25   8   4   5
   3  27  70  71   3   1  19  22 103  18  14  20  34  45   8 169  11  63
  29  71  30  79  75  19  56   9   5   8  15  44   8  12  40  29  46   2
 144  69  65   1   4  90  20 187 100  52  46  76   3 105  12 110  31   3
 113  18   6  15 127  22   6   7   3  18 123  41  69 104  13  18   2   8
  52  35  54  27  74  22  31  27   3  15  21  26  13   3  32  10 131  20

Я предполагаю, что 31 - это число проверок целостности до сбоя. .. 20, 37 et c ...

1 Ответ

0 голосов
/ 13 марта 2020

Вот что я бы сделал:

np.random.seed(1)
tests = np.random.choice([0,1], size=(1000,5), p=[0.7,0.3])

((np.argmax(tests, axis=1) == 4) & tests[:,4]==1).mean()
# 0.073
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...