Рубрики
Без рубрики

Введение в вероятность использования Python

Эта статья является английским переводом моей статьи, которая была написана на бразильском португальском и PO … Tagged с питоном, вероятностью, Numpy, новичками.

Эта статья представляет собой английский перевод моей статьи, которая была написана на бразильском португальском языке и размещена здесь на моем профиле dev.to.

Что такое вероятность?

Когда мы бросаем кубик или бросаем монету, мы имеем дело с атрибутом, очень распространенными на некоторых из наших повседневных жизненных событий, случайности, в таких типовых ситуациях мы не имеем полного контроля над результатом, который мы собираемся получить. Мы используем исследования вероятности, чтобы попытаться расширить возможности себя с небольшим контролем в этой ситуации, то есть мы стараемся предсказать, какие результаты легче или труднее происходить в событии. Таким образом, мы можем сказать, что вероятность является изучением того, насколько вероятно, что результат в событии.

В целом, мы представляем вероятность как соотношение между результатами, которые мы хотим получить, и возможными результатами события. Таким образом, будучи p (e) вероятностью события, у нас есть следующее уравнение.

Это уравнение приводит к значению в числе от 0 до 1 и в этом вероятность представляет собой симпатичность возникновения одного или нескольких результатов в каждом выполнении события. Тем не менее, важно помнить, что, как правило, в реальном мире мы не регистрируем точные вычисленные значения, в конце концов, событие является случайным, вероятность определяет, что обычно происходит, то есть это приближение.

Например, если мы хотим знать, насколько вероятно, что равномерное число будет получено в рулоне, мы должны выполнить следующий процесс:

  • Во -первых, мы должны разделить наш разыскиваемые случаи , то есть четные числа в кости, которые составляют 2, 4 и 6 ( три возможности ).
  • Тогда мы должны получить все возможные результаты, которые являются числами 1,2,3,4,5,6 Шесть возможностей )
  • После этого мы применим эти значения в уравнении, представленном выше, поэтому у нас будет: P ( E ) = 3 6 = 1 2 = 0 , 5 P (e) = \ frac {3} {6} =, 5 P ( e ) = 6 3 = 2 1 = 0 , 5 Таким образом, у нас будет вероятность 0,5, чтобы получить равномерное число на рулоне кубика, что означает, что из 10 бросков мы, вероятно, получим 5 четных чисел и от 10000, 5000 ровных чисел.

Теперь мы проверим поведение упомянутой ситуации, используя программирование для моделирования его.

Случайные события с использованием python

Мы создадим программу, которая при выполнении показывает нам количество четных чисел, полученных в 10 000 бросков в кубиках.

Для этого мы будем использовать функцию random.choice () Из библиотеки Python Numpy который может выбрать случайным образом между значениями массива, поэтому нам нужно будет импортировать Numpy Библиотека в начале программы.

import numpy as np

Теперь мы будем определять все результаты, разыскиваемые результаты, счетчик времен, что было получено четное число, и в программе будет проходить постоянное с точки зрения количества наших «кубиков».

# Defining a array with all possible outcomes
possible_outcomes = [1,2,3,4,5,6]

# Defining an array with all wanted outcomes
wanted_outcomes = [2,4,6]

# Defining the counter of the times an even number was obtained
number_of_even = 0

# Defining the number of times our "dice" will be rolled in the program
# We must use capitalized letters to represent that we are creating a constant
NUMBER_OF_EXECUTIONS = 10000

Теперь мы определим наш итератор, который будет проходить через наш код в 10 000 раз, выбрав случайное значение в наших результатах (кости) каждый раз и проверяет, если это значение даже если это так, мы добавим 1 в number_of_even переменная.

# Now we will write an iterator for dice rolling
for i in range (NUMBER_OF_EXECUTIONS):
    # np.random.choice() chooses between the values of  all the outcomes of the event
    x = np.random.choice(possible_outcomes)
    """
    If the chosen value is in our wanted outcomes we will increment the counter of the times an even number was obtained 
    """
    if(x in wanted_outcomes):
        number_of_even += 1

Наконец, мы распечатаем значение number_of_even То есть наше количество даже запусков и вероятность того, что оно будет с уравнением, представленным ранее.

# Calculating our probability
probability_of_even  = number_of_even/NUMBER_OF_EXECUTIONS

# Printing the results
print("{0: d} of the outcomes were even, so, we had a probability of around {1:.2f}".format(number_of_even, probability_of_even))

При выполнении программы вы заметите, что значение вероятности редко отличается от 0,5 (при каждом выполнении программы значение, возвращаемое в numpy.random.choice () То, что мы предсказываем изначально как вероятность катания на костях с ровным результатом.

Следовательно, заметно, что вероятность создает очень хорошее приближение того, как имеют тенденцию возникать реальные случайные ситуации. Поэтому, используя инструменты из этой области, мы можем прийти к самым разнообразным выводам о любых случайных событиях.

Разработанный проект доступен в Мой репозиторий Gitlab . Я надеюсь, что я помог вам каким -либо образом, и если у вас есть какие -либо сомнения, комментарии или проблемы, не стесняйтесь оставить комментарий в этом посте;).

Оригинал: “https://dev.to/lisandramelo/introduction-to-probability-using-python-226n”