生成 K-S 重复统计量
现在,您需要编写一个函数,从目标分布 f 中抽取 Kolmogorov–Smirnov 重复统计量。请按照函数签名 draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) 实现。这里,n 是数据点的数量,f 是用于从目标 CDF 生成样本的函数。例如,若要与指数分布进行检验,您可以将 np.random.exponential 作为 f 传入。该函数通常需要参数,必须以元组形式传入。所以,如果您想从均值为 x_mean 的指数分布取样,应使用关键字参数 args=(x_mean,)。关键字参数 size 和 n_reps 分别表示从目标分布取样的数量以及要生成的重复统计量个数。
本练习是课程的一部分
统计思维案例研习
练习说明
- 编写一个函数,签名为
draw_ks_reps(n, f, args=(), size=10000, n_reps=10000),完成以下任务。- 从目标分布
f生成size个样本。注意,要将args传给取样函数,应使用f(*args, size=size)的写法。将结果保存为x_f。 - 初始化重复统计量数组
reps,为一个包含n_reps个元素的空数组。 - 编写一个
for循环,重复执行n_reps次:- 从
f中抽取n个样本。同样,在函数调用中使用*args。将结果存入变量x_samp。 - 使用
dcst.ks_stat()(这是您在上一个练习中编写并存放在dcst模块中的函数)计算 K-S 统计量。将结果存入reps数组。
- 从
- 返回数组
reps。
- 从目标分布
交互式实操练习
通过完成这段示例代码来试试这个练习。
____ ____:
# Generate samples from target distribution
x_f = ____
# Initialize K-S replicates
reps = ____
# Draw replicates
for i in range(n_reps):
# Draw samples for comparison
x_samp = ____
# Compute K-S statistic
____[i] = ____
return reps