zoukankan      html  css  js  c++  java
  • 02.中心极限定理验证

    """
    中心极限定理指的是给定一个任意分布的总体。
    我每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。 
    然后把这 m 组抽样分别求出平均值/和。 这些平均值/和的分布接近正态分布。
    """
    
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 1 给定任意分布的总体
    population = np.random.randint(0, 100, 100000)
    
    # 2 随机抽取m个样本,抽取n次
    def sample_choice(population, sample_num, sample_size):
        samples = []
        for i in range(sample_num):
            sample = []
            for j in range(sample_size):
                unit = np.random.choice(population)
                sample.append(unit)
            samples.append(sample)
    
        return samples
    
    # 3 计算样本均值
    def samples_mean(samples):
        sample_mean = []
        for i in range(len(samples)):
            sample_mean.append(np.mean(samples[i]))
        
        return sample_mean
    
    # 4 中心定理结果
    def central_limit_theorem():
        # 1.任意分布总体
        population = np.random.randint(0, 100, 100000)
        # 2.抽样
        samples = sample_choice(population, 1000, 50)
        # 3.求样本均值
        sample_mean = samples_mean(samples)
    
        plt.hist(sample_mean, bins=30)
        plt.show()
    
    
    if __name__ == "__main__":
        central_limit_theorem()
    
    
    
    
    
    
    
            
            

  • 相关阅读:
    DS博客作业03--树
    DS博客作业02--栈和队列tt
    DS博客作业02--线性表
    c博客06-结构体&文件
    C博客作业05--指针
    C语言博客作业04--数组
    C语言博客作业03--函数
    图书馆
    DS博客作业05——查找
    DS博客作业04——图
  • 原文地址:https://www.cnblogs.com/waterr/p/13947970.html
Copyright © 2011-2022 走看看