开始使用免费开始使用

生成 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,)。关键字参数 sizen_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
编辑并运行代码