ECDF の計算
この演習では、1 次元配列のデータを受け取り、ECDF の x 値と y 値を返す関数を書きます。この関数は本コースおよび続編を通じて何度も使用します。ECDF は統計解析で最も重要なプロットの一つです。次の骨組みに従って、foo(x,y) のように自作の関数を書けます。
def foo(a,b):
"""ここに関数の役割を説明します"""
# ここで計算を行う
return x, y
上の関数 foo() は引数 a と b を取り、戻り値として x と y を返します。関数ヘッダー 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で割ってください。 - 関数は
xとyを返します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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