#!/usr/bin/env python

# 二項分布見方(再生性がある)
# ベルヌーイ思考をｎ回行ったとき底成功回数が従う分布
# 何回成功したかを表す
# 例：試合の勝利数、大卒の人数、40歳以上の人数（それぞれn回の試行）

import math

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
# 成功確率: p
# 試行回数: n
# 期待値:E(x) = np
# 分散: Var(x) = bp(1 - p)
# 確率関数: f(x) = ( x to n ) p ** x * (1 - p) ** (n-x)
# * 確率変数Xがパラメターn, pの二項分布分布に従うとき X ~ B(n, p)と表現する
# 参考 https://bellcurve.jp/statistics/course/6979.html
import numpy as np
import sympy as sym
from scipy.special import comb

# コインを7回投げて表が3回出る確率

# 組み合わせ（通り） = 10c3
# (10 * 9 * 8 ) / 1 * 2 * 3
def main():

    # 確率
    p = 0.5
    print("確率", p)
    # 回数
    k = 3
    print("回数", k)
    # 試行回数
    r = 3
    print("試行回数", r)

    # 全通り = (10 * 9 * 8) / (1 * 2 * 3)
    n = 10
    combo = (n * (n - 1) * (n - 2)) / (1 * (1 + 1) * (1 + 2))
    print("全通り", combo)

    # a = comb(n, r)
    a = comb(7, 3, exact=True)
    print("全通り", a)

    # コインを10回投げて表が3回出る確率
    # P(X = 3) = 7c3 * p ** k * (1 - p ) ** (n-k)
    px = combo * p ** k * (1 - p) ** (n - k)
    print("コインを10回投げて表が3回出る確率", px)


if __name__ == "__main__":
    main()

#!/usr/bin/env python

# 二項分布見方(再生性がある)
# ベルヌーイ思考をｎ回行ったとき底成功回数が従う分布
# 何回成功したかを表す
# 例：試合の勝利数、大卒の人数、40歳以上の人数（それぞれn回の試行）

import math

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
# 成功確率: p
# 試行回数: n
# 期待値:E(x) = np
# 分散: Var(x) = bp(1 - p)
# 確率関数: f(x) = ( x to n ) p ** x * (1 - p) ** (n-x)
# * 確率変数Xがパラメターn, pの二項分布分布に従うとき X ~ B(n, p)と表現する
# 参考 https://bellcurve.jp/statistics/course/6979.html
import numpy as np
import sympy as sym
from scipy.special import comb

# コインを7回投げて表が3回出る確率

# 組み合わせ（通り） = 10c3
# (10 * 9 * 8 ) / 1 * 2 * 3
def main():

    # 確率
    p = 0.5
    print("確率", p)
    # 回数
    k = 3
    print("回数", k)
    # 試行回数
    r = 3
    print("試行回数", r)

    # 全通り = (10 * 9 * 8) / (1 * 2 * 3)
    n = 10
    combo = (n * (n - 1) * (n - 2)) / (1 * (1 + 1) * (1 + 2))
    print("全通り", combo)

    # a = comb(n, r)
    a = comb(7, 3, exact=True)
    print("全通り", a)

    # コインを10回投げて表が3回出る確率
    # P(X = 3) = 7c3 * p ** k * (1 - p ) ** (n-k)
    px = combo * p ** k * (1 - p) ** (n - k)
    print("コインを10回投げて表が3回出る確率", px)


if __name__ == "__main__":
    main()

#!/usr/bin/env python # 二項分布見方(再生性がある) # ベルヌーイ思考をｎ回行ったとき底成功回数が従う分布 # 何回成功したかを表す # 例：試合の勝利数、大卒の人数、40歳以上の人数（それぞれn回の試行） # 成功確率: p # 試行回数: n # 期待値:E(x) = np # 分散: Var(x) = bp(1 - p) # 確率関数: f(x) = ( x to n ) p ** x * (1 - p) ** (n-x) # * 確率変数Xがパラメターn, pの二項分布分布に従うとき X ~ B(n, p)と表現する # 参考 https://bellcurve.jp/statistics/course/6979.html # コインを7回投げて表が3回出る確率 # 組み合わせ（通り） = 10c3 # (10 * 9 * 8 ) / 1 * 2 * 3 # 確率 # 回数 # 試行回数 # 全通り = (10 * 9 * 8) / (1 * 2 * 3) # a = comb(n, r) # コインを10回投げて表が3回出る確率 # P(X = 3) = 7c3 * p ** k * (1 - p ) ** (n-k)