計算 ECDF
在這個練習中,你要撰寫一個函式,將 1D 陣列作為輸入,並回傳 ECDF 的 x 與 y 值。你會在本課程與其續集反覆使用這個函式。ECDF 是統計分析中最重要的圖之一。你可以依照下列骨架自行撰寫函式 foo(x,y):
def foo(a,b):
"""State what function does here"""
# Computation performed here
return x, y
上面的函式 foo() 接受兩個引數 a 與 b,並回傳兩個值 x 與 y。函式標頭 def foo(a,b): 包含了函式簽章 foo(a,b),也就是函式名稱與其參數所組成。
本練習屬於課程
Statistical Thinking in Python (Part 1)
練習說明
- 定義一個簽章為
ecdf(data)的函式。在函式內:- 使用
len()計算資料點數量n。 - x 值為排序後的資料。使用
np.sort()進行排序。 - ECDF 的 y 資料從
1/n到1,以等距遞增。你可以用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