始める無料で始める

ECDF の計算

この演習では、1 次元配列のデータを受け取り、ECDF の x 値と y 値を返す関数を書きます。この関数は本コースおよび続編を通じて何度も使用します。ECDF は統計解析で最も重要なプロットの一つです。次の骨組みに従って、foo(x,y) のように自作の関数を書けます。

def foo(a,b):
    """ここに関数の役割を説明します"""
    # ここで計算を行う
    return x, y

上の関数 foo() は引数 ab を取り、戻り値として xy を返します。関数ヘッダー def foo(a,b): には、関数名とそのパラメータから成る関数シグネチャ foo(a,b) が含まれます。

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

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

コースを見る

演習の手順

  • シグネチャが ecdf(data) の関数を定義してください。関数定義の中で、
    • len() 関数を使ってデータ点の数 n を計算します。
    • \(x\) 値はソート済みのデータです。np.sort() 関数でソートを行います。
    • ECDF の \(y\) データは 1/n から 1 まで等間隔に増加します。これは np.arange() を使って作れます。ただし、np.arange() の終端値は含まれない点に注意してください。したがって、np.arange()1 から n+1 までとし、結果を n で割ってください。
    • 関数は xy を返します。

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

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

def ecdf(data):
    """Compute ECDF for a one-dimensional array of measurements."""
    # Number of data points: n
    ____ = ____(____)

    # x-data for the ECDF: x
    ____ = ____(____)

    # y-data for the ECDF: y
    ____ = ____(____, ____) / n

    return x, y
コードを編集して実行