『確率分布』をPythonでの実装を交えながら超わかりやすく解説

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ส.ค. 2024

ความคิดเห็น • 8

  • @user-fr2hs3we1s
    @user-fr2hs3we1s 2 ปีที่แล้ว +1

    自分で書いたコードがグラフになる、って楽しいですね。
    100本ノックでグラフ作成を実装したとき、
    自分の手を動かして記述したものがきちんと動いたことに、達成感がありました。
    今回の動画も何度も見直しして、自分のものにしたいです。
    Pythonでできることをご紹介いただきありがとうございます。
    「偶然」の統計学は知らなかったので、図書館で予約しました。

  • @user-cn5qk8ey8g
    @user-cn5qk8ey8g 2 ปีที่แล้ว +3

    今回も勉強させて頂きました。
    今回のコードの一部。自分用のメモですが少しでも他の方にお役に立てるならばと。
    #モジュールのインポート
    import numpy as np
    import pandas as pd
    !pip install japanize-matplotlib
    import matplotlib.pyplot as plt
    import japanize_matplotlib
    import seaborn as sns
    sns.set()
    plt.show()
    from scipy.stats import binom #統計的な計算を行う。二項分布
    import math
    #グラフプロット用の独自関数
    def plotBinomial(N,p):#N 試行回数(ガチャ引く回数)、p:(当たる)確率
    xs = []
    ys = []
    for x in range(N +1 ):
    xs.append(x)
    ys.append(binom.pmf(x,N,p))
    fig = plt.figure(figsize = (8,5))
    graph = fig.add_subplot(1,1,1)
    graph.bar(xs,ys)
    #確率を計算する独自関数
    def calcProbability(k,N,p):# k:試行回数中の発生回数。N:試行回数。p:確率
    pro = sum(binom.pmf(k,N,p))*100 # 二項分布の確率計算
    pro = round(pro,2) # roundで四捨五入。
    return pro
    #Aさん。
    p = 0.1 #1回当たるもので
    N = 10 #試行回数10回で
    k = [2] #2回当たりました。
    calcProbability(k,N,p)
    print("Aさんのような事象が起こる確率",calcProbability(k,N,p),"%です。" )
    #Bさん。
    p = 0.1 #当たる確率10%で
    N = 50 #試行回数50回で
    k = [1] #1回当たりました。
    calcProbability(k,N,p)
    print("Bさんのような事象が起こる確率",calcProbability(k,N,p),"%です。" )
    #Cさん。
    p = 0.1 #当たる確率10%で
    N = 100 #試行回数100回で
    k = [1] #1回当たりました。
    calcProbability(k,N,p)
    print("Cさんのような事象が起こる確率",calcProbability(k,N,p),"%です。" )

  • @tomoyaokano1081
    @tomoyaokano1081 2 ปีที่แล้ว

    品質保証が欲しがりそうです工程能力や製品のすんぱうのバラツキをエクセルでやっていたが。

  • @user-ef3kh2if5m
    @user-ef3kh2if5m 2 ปีที่แล้ว +1

    松風という男がPythonで競馬予想AI開発して大儲けしてるのいるんだが…
    回収率の高い券種を知りたい😲

  • @pikaichi1541
    @pikaichi1541 2 ปีที่แล้ว +2

    初歩的な質問で申し訳ないのですが、
    for文でrange(N+1)になっている意味がちょっと分からないので、
    教えていただけませんか?

    • @due1967
      @due1967 2 ปีที่แล้ว

      例えば10回の試行をする場合、その当たりも数は
      0回、1回、…9回、10回
      となり、確率変数が11個できるのでN+1になってます。
      あってるかな🤭

    • @marx_d_24
      @marx_d_24 2 ปีที่แล้ว

      range(N)にしてしまうとNになったタイミングでfor文のループから外れてしまいます。
      つまりN回目の事象にはfor文の中身が計算されないことになります。
      N回目の事象を計算するためにrange(N+1)にしています。

      for i in range(10):
      print(i)
      →最後に10は表示されない

    • @pikaichi1541
      @pikaichi1541 2 ปีที่แล้ว

      ありがとうございました。
      お陰さまで理解出来ました。