Главная страница
Навигация по странице:

  • По лабораторной работе № 14 «Биноминальное распределение». Дискретные случайные величины. Определение дискретной случайной величины (ДСВ) .

  • Функция распределения .

  • Задача2

  • Биномиальный закон распределения

  • Лабораторная работа №15.Распределе́ние Пуассо́на Распределе́ние Пуассо́на

  • формулу Пуассона

  • Лабораторная работа 9Аппроксимация


    Скачать 2.82 Mb.
    НазваниеЛабораторная работа 9Аппроксимация
    Дата03.04.2022
    Размер2.82 Mb.
    Формат файлаpdf
    Имя файлаLaboratornye_raboty_vesenniy_semestr_removed.pdf
    ТипЛабораторная работа
    #438517
    страница3 из 4
    1   2   3   4
    Сочетание:
    №3. В ящике 15 шаров, из которых 5 голубых и 10 красных. Наугад выбирают 6 шаров.
    Найти вероятность того, что среди вынутых шаров 2 голубых.

    50

    51
    Вывод
    В ходе данной лабораторной работы мы научились с помощью языка программирования Python проводить вычисления по комбинаторике, а именно написали код для вычисления таких конфигураций, как перестановка, сочетание и размещение с использование библиотеки math для уменьшения трудоёмкости алгоритма.

    52
    По лабораторной работе № 14 «Биноминальное распределение».
    Дискретные случайные величины.
    Определение дискретной случайной величины (ДСВ) .
    Закон и многоугольник распределения ДСВ.
    При бросании игральной кости могут появиться числа 1, 2, 3, 4, 5 и 6. Заранее определить возможные исходы невозможно, так как они зависят от многих случайных причин, которые не могут быть полностью учтены. В данном примере выпавшее число очков есть величина случайная, а числа 1, 2, 3, 4, 5 и 6 есть возможные значения этой величины.
    Случайная величина- величина, которая в результате опыта со случайным исходом принимает то или иное числовое значение, причем заранее неизвестно, какое именно.
    Случайные величины (кратко: СВ) обозначают большими латинскими буквами
    , а принимаемые ими значения - малыми буквами
    Из приведенного выше примера, видно, что случайная величина Х может принять одно из следующих возможных значений: 1, 2, 3, 4, 5, 6. Эти значения отделены одно от другого промежутками, в которых нет возможных значений Х. Таким образом, в этом примере СВ принимает отдельные, изолированные возможные значения.
    Дискретной (прерывной) называют случайную величину, которая принимает отдельные, изолированные возможные значения с определенными вероятностями. Число возможных значений дискретной случайной величины может быть конечным или бесконечным.
    Законом распределения дискретной случайной величины называют соответствие между возможными значениями и их вероятностями; его можно задать таблично, аналитически (в виде формулы) и графически.
    Закон распределения ДСВ Х удобно задавать с помощью следующей таблицы

    53
    X
    i
    X
    1
    X
    2
    X
    n
    P
    i
    P
    1
    P
    2
    P
    n
    называемой рядом распределения.
    При этом возможные значения случайной величины Х в верхней строке этой таблицы располагаются в определенном порядке, а в нижней - соответствующие вероятности
    Графически ряд распределения изображают в виде многоугольника (или полигона)
    распределения.
    Задача 1 В ящике 2 нестандартные и 4 стандартные детали. Из него последовательно вынимают детали до первого появления стандартной детали. Построить ряд и многоугольник распределения ДСВ от числа извлеченных деталей.
    В данном случае изучаем событие — вероятность появления стандартной детали от числа испытаний
    Решение.
    Рассмотрим все возможные значения, которые может принимать случайна величина (СЛ)
    :
    - первой вынули стандартную деталь;
    - первая вынутая деталь нестандартная, вторая стандартная;
    - первая деталь нестандартная, вторая деталь нестандартная, третья деталь стандартная.
    Соответствующие им вероятности найдем воспользовавшись правилом умножения вероятностей (заметьте, что события зависимы):
    Тогда закон распределения дискретной случайной величины Х примет вид:
    1 2 3
    Построим многоугольник распределения, отложив на оси абцисс (ОХ) значения ДСВ Х, а на оси ординат (ОY) соответствующие им вероятности:

    54
    Тоесть вероятность вытащить стандартную деталь при таких испытаниях падает с ростом количества испытаний.
    Функция распределения
    .
    Функцией распределения называют функцию
    , определяющую вероятность того, что случайная величина в результате испытания примет значение, меньшее некоторого фиксированного значения
    Функция распределения ДСВ имеет вид
    где суммирование ведется по всем индексам , для которых
    Задача2 Задан закон распределения ДСВ Х:
    X
    i
    -2
    -1 0
    2 3
    P
    i
    0.1 0.2 0.3 0.3 0.1
    Найти функцию распределения и построить ее график.
    Решение.
    По определению функции распределения находим: если
    , то
    , так как значения меньше -2 ДСВ Х не принимает; если
    , то если
    , то
    , так как может принять значения -2 или -1 если
    , то если
    , то если
    , то

    55
    Таким образом, функция распределения имеет вид:
    В табличном виде
    X
    i
    -2
    -1 0
    2 3
    F(X)
    0 0.1 0.3 0.6 0.9
    В графическом виде
    Биномиальный закон распределения
    вероятностей
    Пусть проводится n
    независимых
    испытаний
    в каждом из которых
    случайное событие
    A может появиться с вероятностью p. Тогда
    случайная
    величина
    X–
    число появлений события A в данной серии испытаний, имеет биномиальное
    распределение.
    Совершенно понятно, что эта случайная величина может принять одно из следующих значений:
    Например: монета подбрасывается 5 раз. Тогда случайная величина
    количество
    появлений орла распределена по биномиальному закону.
    Орёл обязательно выпадет: или раз, или
    , или
    , или
    , или
    , или раз.
    Cоответствующие вероятности определяются формулой Бернулли
    :
    k
    k
    n k
    P
    C
    p
    q
    n
    n

    =


    , где: n– количество независимых испытаний;

    56 p – вероятность появления события в каждом испытании;
    1
    q
    p
    = −
    – вероятность непоявления события в каждом испытании;
    xi ={0,1,2,…,n-1,n}– сколько раз может появиться событие в данной серии испытаний
    (список всех возможных значений).
    Сведём этот закон распределения в таблицу:
    Вероятности
    pi представляют собой члены бинома Ньютона
    , благодаря чему распределение и получило своё название.
    По формуле бинома:
    В нашем примере с монеткой:
    – вероятность того, что в 5 испытаниях орёл не выпадет вообще (
    );
    – вероятность того, что в 5 испытаниях орёл выпадет ровно раз;
    – вероятность того, что в 5 испытаниях орёл выпадет ровно раза;
    – … ровно раза;
    – … ровно раза;
    – … ровн=
    C
    n
    i
    p
    i
    q
    n
    i
    о раз.
    Таким образом, закон распределения числа выпавших орлов:
    Проверяем сумму вероятностей
    Задание:
    Многократно выполняют один и тот же набор экспериментов (подбрасывая монетку
    10 раз) снова и снова, то число решек, наблюдаемых во всех экспериментах, следует биномиальному распределению.
    Генерируем случайное число n раз и записываем результаты в списки. Если число равно 0,5 или больше, то считать его решкой, если нет — орлом. И повторим это много раз, в нашем примере 1000.
    Код Python:
    # Моделирование биномиального распределения

    57 import numpy as np import matplotlib.pyplot as plt from scipy.stats import binom import seaborn as sns
    # Входные данные
    # Число повторов trials = 1000
    # Бросков в каждом повторе n = 10
    # Вероятность успеха p = 0.5
    # Основная функция моделирования бросков монеты
    # heads - это список удачных исходов def run_binom(trials, n, p): heads = [] for i in range(trials): tosses = [np.random.random() for i in range(n)] #Данная функция создает массив указанной формы и заполняет его случайными числами с плавающей точкой из непрерывного равномерного распределения в интервале [0, 1). heads.append(len([i for i in tosses if i>=0.50])) return heads # Выполняем функцию. heads = run_binom(trials, n, p)
    # Строим гистограмму ax = plt.subplots(figsize=(14,7))#задаем размеры ax = sns.distplot(heads, bins=10, label='simulationresults')#bins - ширина столбцов гистограм ax.set_xlabel("Количество Орлов",fontsize=16) ax.set_ylabel("ЧАСТОТА",fontsize=16)
    # Plot the actual binomial distribution as a sanity check from scipy.stats #import binom
    #Рисуем теоретические значения биномиального распределения используя #библиотеку scipy.stats x = range(0,11) ax.plot(x, binom.pmf(x, n, p), 'ro', label='actual binomial distribution') #добавляем красные(r) круги(o) биноминальное распределение на рисунок ax.vlines(x, 0, binom.pmf(x, n, p), colors='r', lw=5, alpha=0.5) #добавляем красные линиии биноминальное распределение на рисунок plt.legend() #отображаем легенду plt.show() #отображаем рисунок

    58
    На графике ниже показано моделируемое распределение синим цветом и биномиальное распределение — красным. Вывод: биномиальное распределение — достаточно хорошее приближение к реальности. Поэтому вместо того, чтобы тратить время на подбрасывание монеты и записывать результаты, мы можем просто использовать биномиальное распределение!
    Задание.
    Стрелок производит 4 выстрела по мишени. Вероятность попадания в мишень при каждом выстреле равна 0,3. За каждое попадание стрелку засчитывается 10 очков. Найти закон распределения числа засчитанных очков.
    Введем сначала дискретную случайную величину X = (Количество попаданий). Она распределена по биномиальному закону с параметрами n = 4 (число выстрелов), p = 0,3
    (вероятность попадания при одном выстреле) и может принимать значения 0, 1, 2, 3 и 4.

    59 0
    4 0
    (
    0)
    0, 7 0, 3 0, 2401 4
    1 3
    1
    (
    1)
    0, 7 0, 3 0, 4116 4
    2 2
    2
    (
    2)
    0, 7 0, 3 0, 2646 4
    3 1
    3
    (
    3)
    0, 7 0, 3 0, 0756 4
    4 0
    4
    (
    4)
    0, 7 0, 3 0, 0081 4
    P X
    C
    P X
    C
    P X
    C
    P X
    C
    P X
    C
    =
    =


    =
    = =


    =
    =
    =


    =
    =
    =


    =
    =
    =


    =
    Закон распределения X имеет вид:
    X
    i
    0 1
    2 3
    4
    P(Y=i)
    0,2401 0,4116 0,2646 0,0756 0,0081
    Код Python
    # Моделирование биномиального распределения import numpy as np import matplotlib.pyplot as plt from scipy.stats import binom import seaborn as sns
    # Входные данные
    # Количество стрелков trials = 1
    # Количество попаданий n = 4
    # Вероятность ответа ДА на вопрос p = 0.3
    # Основная функция моделирования
    # heads - это список удачных исходов def run_binom(trials, n, p): heads = [] for i in range(trials):

    60 tosses = [np.random.random() for i in range(n)] #Данная функция создает массив указанной формы и заполняет его случайными числами с плавающей точкой из непрерывного равномерного распределения в интервале [0, 1). heads.append(len([i for i in tosses if i>=0.7])) return heads # Выполняем функцию. heads = run_binom(trials, n, p)
    # Строим гистограмму ax = plt.subplots(figsize=(14,7))#задаем размеры ax = sns.distplot(heads, bins=1, label='simulationresults')#bins - ширина столбцов гистограм ax.set_xlabel("Количество попаданий",fontsize=16) ax.set_ylabel("ЧАСТОТА",fontsize=16)
    # Plot the actual binomial distribution as a sanity check from scipy.stats #import binom
    #Рисуем теоретические значения биномиального распределения используя #библиотеку scipy.stats x = range(0,11) ax.plot(x, binom.pmf(x, n, p), 'ro', label='actual binomial distribution') #добавляем красные(r) круги(o) биноминальное распределение на рисунок ax.vlines(x, 0, binom.pmf(x, n, p), colors='r', lw=5, alpha=0.5) #добавляем красные линиии биноминальное распределение на рисунок plt.legend() #отображаем легенду plt.show() #отображаем рисунок

    61
    На графике ниже показано моделируемое распределение синим цветом и биномиальное распределение — красным.
    Задача
    # Моделирование биномиального распределения import numpy as np import matplotlib.pyplot as plt from scipy.stats import binom import seaborn as sns
    # Входные данные

    62 tosses = [np.random.random() for i in range(n)] #Данная функция создает массив указанной формы и заполняет его случайными числами с плавающей точкой из непрерывного равномерного распределения в интервале [0, 1). heads.append(len([i for i in tosses if i>=0.8])) return heads # Выполняем функцию. heads = run_binom(trials, n, p)
    # Строим гистограмму ax = plt.subplots(figsize=(14,7))#задаем размеры ax = sns.distplot(heads, bins=1, label='simulationresults')#bins - ширина столбцов гистограм ax.set_xlabel("Количество обанкротившихся банка ",fontsize=16) ax.set_ylabel("ЧАСТОТА",fontsize=16)
    # Plot the actual binomial distribution as a sanity check from scipy.stats #import binom
    #Рисуем теоретические значения биномиального распределения используя
    #библиотеку scipy.stats x = range(0,11)

    63

    64
    В городе 4 коммерческих банка. У каждого риск банкротства в течение года составляет
    20%. Составьте ряд распределения числа банков, которые могут обанкротиться в течение следующего года.
    РЕШЕНИЕ. Пусть X – дискретная случайная величина, равная числу банков, которые могут обанкротиться в течение следующего года. Она может принимать значения 0, 1, 2, 3 и 4. X распределена по биномиальному закону с параметрами n = 4 , p = 20% = 0, 2 0
    4 0
    (
    0)
    0,8 0, 2 0, 4096 4
    1 3
    1
    (
    1)
    0,8 0, 2 0, 4096 4
    2 2
    2
    (
    2)
    0,8 0, 2 0,1536 4
    3 1
    3
    (
    3)
    0,8 0, 2 0, 0256 4
    4 0
    4
    (
    4)
    0,8 0, 2 0, 0016 4
    P X
    C
    P X
    C
    P X
    C
    P X
    C
    P X
    C
    =
    =


    =
    = =


    =
    =
    =


    =
    =
    =


    =
    =
    =


    =
    Закон распределения X имеет вид:
    X
    i
    0 1
    2 3
    4
    P(Y=i)
    0,4096 0,4096 0,1536 0,0256 0,0016
    Вывод:
    В ходе данной лабораторной работы мы изучили, что такое биноминальное распределение, а также смоделировали его в Python, решив две задачи на данную тему и вывив на экран гистограммы, характеризующие биноминальное распределение, при этом для построения графика биноминального распределения на гистограмме, мы воспользовались библиотекой scipy.stats, а именно функцией binom.

    65
    Лабораторная работа №15.Распределе́ние Пуассо́на
    Распределе́ние Пуассо́на — распределение дискретного типа случайной величины, представляющей собой число событий, произошедших за фиксированное время, при условии, что данные события происходят с некоторой фиксированной средней интенсивностью и независимо друг от друга.
    На практике в случае, когда n (количество испытаний) велико, а p (вероятность события) мало (обычно p <0.1; n <10) вместо формулы Бернулли применяют приближенную формулу Пуассона где λ - означает среднее значение наступления k событий при n испытаниях
    (математическое ожидание количества событий).
    Вероятность Рn(k) при данном n сначала увеличивается при увеличении k от 0 до некоторого значения m0, а затем уменьшается при изменении k от m0 до n. Поэтому k0, называют наивероятнейшим числом наступлений успеха в опытах.
    Примеры решения задач в Python
    1 Пример.
    Завод отправил в торговую сеть 500 изделий. Вероятность повреждения изделия в пути равна 0,003. Найти вероятность того, что при транспортировке будет повреждено: а) ни одного изделия, б) ровно три изделия, в) более трех изделий.
    Решение:
    По формуле Пуассона при n = 500, p = 0.003, λ = np = 500*0,003 = 1,5
    При а) k=0; б) k=3; в) k>3
    !
    k
    P
    e
    k
    k





    Среднеожидаемое количество повреждённых изделий:
    500 0,003 1,5
    np

    =
    =

    =
    а) k=0 0
    1,5 1,5 0
    1,5 0, 2231 0!
    P
    e
    e




    =


    66 б) k=3 3
    1,5 1,5 3
    1,5 0,1255 3!
    P
    e
    e




    =

    в) k>3 0
    1 2
    3 1,5 1,5 1,5 1,5 0
    1 2
    3 1,5 1,5 1,5 1,5
    (
    3)
    0,9344 0!
    1!
    2!
    3!
    (
    3)
    1
    (
    3)
    1 0,9344 0, 0656
    P k
    P
    P
    P
    P
    e
    e
    e
    e
    P k
    P k






    + +
    +
    =

    +

    +

    +



    = −

     −
    =
    Код в Python: import matplotlib.pyplot as plt from matplotlib import mlab import numpy as np import pylab def F (n): f=1 for i in range(n): f=f*(i+1) return f n = float(input("Введите, сколько всего изделий: ")) p = float(input("Введите вероятность повреждения: "))
    λ=n*p rlist=[] xmax = 3.0 dx = 1 for m in range (int(xmax/dx)+1) : pr=λ**m/F(m)*np.exp(-λ) rlist.append(pr) print("p(0) =",rlist[0]) print("p(3) =",rlist[3])

    67 print("p(1) =",rlist[1]) print("p(2) =",rlist[2]) print("Вероятность повреждения более трёх изделий=",1 - (rlist[0] + rlist[3] + rlist[2] + rlist[1])) plt.ylabel('Вероятность') pylab.plot ([0,1],[rlist[0],rlist[1]]) pylab.show()
    2 Пример

    68
    Завод отправил на базу 500 изделий. Вероятность повреждения изделия в пути 0,004. Найти вероятность того, что в пути повреждено меньше трех изделий.
    Решение: будем рассматривать работу каждого элемента как отдельное испытание.
    По формуле Пуассона при n = 500, k = 2, p = 0.004, λ = np = 500*0,004 = 2
    Обозначим через P500(2) вероятность отказа не менее четырех элементов за год.
    Переходя к противоположному событию, вычислим P500(2) как:
    Код в Python будет выглядеть так:

    69 import matplotlib.pyplot as plt from matplotlib import mlab import numpy as np import pylab def F (n): f=1 for i in range(n): f=f*(i+1) return f n = float(input("Введите, сколько всего предметов: ")) p = float(input("Введите вероятность поломки: "))
    λ=n*p rlist=[] xmax = 4.0 dx = 1 for m in range (int(xmax/dx)+1) : pr=λ**m/F(m)*np.exp(-λ) rlist.append(pr) print("p(0) =",rlist[0]) print("p(1) =",rlist[1]) print("p(2) =",rlist[2]) print("Вероятность того, что приедет две разбитые бутылки =",(rlist[0] + rlist[1] + rlist[2])) plt.ylabel('Вероятность') pylab.plot ([0,1,2],[rlist[0],rlist[1],rlist[2]]) pylab.show()
    1   2   3   4


    написать администратору сайта