始める無料で始める

np.random モジュールとベルヌーイ試行

ベルヌーイ試行は、偏りのあるかもしれないコイン投げと考えることができます。具体的には、各コイン投げで表(成功)が出る確率が $p$、裏(失敗)が出る確率が \(1-p\) です。この演習では、n 回のベルヌーイ試行を行い、成功回数を返す関数 perform_bernoulli_trials(n, p) を作成します。各試行の成功確率は p です。各ベルヌーイ試行を実行するには、0 以上 1 未満の乱数を返す rng.random() 関数を使います。

この演習はコースの一部です

Pythonで学ぶ統計的思考(パート1)

コースを見る

演習の手順

  • 署名が perform_bernoulli_trials(n, p) の関数を定義します。
    • ベルヌーイ試行の成功(True)を数えるカウンター変数 n_success を 0 に初期化します。
    • for ループを書き、各イテレーションでベルヌーイ試行を 1 回行い、結果が True のときに成功数をインクリメントします。range(n) をループして n 回のイテレーションを行います。
      • ベルヌーイ試行を行うには、rng.random() を使って 0 以上 1 未満の乱数を選びます。選んだ数が p 未満であれば、n_success をインクリメントします(このときは += 1 演算子を使います)。RNG は変数 rng としてすでに生成・シード済みです。
    • 関数は成功回数 n_success を返します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def perform_bernoulli_trials(n, p):
    """Perform n Bernoulli trials with success probability p
    and return number of successes."""
    # Initialize number of successes: n_success
    n_success = ____

    # Perform trials
    for i in ____:
        # Choose random number between zero and one: random_number


        # If less than p, it's a success so add one to n_success
        if ____:
            ____

    return n_success
コードを編集して実行