python统计分析——样本均值的分布(上)

参考资料:用python动手学统计学

1、导入库

import numpy as np
import pandas as pd
import scipy as sp
from scipy import statsfrom matplotlib import pyplot as plt
import seaborn as sns

2、设置总体

        本次研究总体是均值为4、标准差为0.8的正态总体。

pop=stats.norm(loc=4,scale=0.8)   # stats.norm()表示正态分布,其中loc参数表示均值,scale参数表示标准差

3、样本均值分布

        这里需要明确:一次抽样完成,只能获得一个样本(无论样本容量是10还是100,样本都是一个),从而可以获得这个样本的均值。如果试验或抽样重复3次,则可以获得3个样本,对应有3个样本均值。

        现实中无法帆布进行条件完全相同的抽样,但借助程序模拟可以轻松实验。在模拟的过程中,也可以研究样本的统计量的分布情况。

3.1 现在模拟抽样10000次,将会获得10000个样本均值。具体如下:

# 专本一个大小为10000的数组来存放样本均值
sample_mean_array=np.zeros(10000)
# 设置随机种子用于复现统计结果
np.random.seed(1)
# 利用for循环对总体进行抽样,设置样本容量为10,抽取一万个样本并存储样本均值(注意样本和样本容量的区别)
for i in range(0,10000):# 对样本进行抽样sample=pop.rvs(size=10)# 计算样本均值并存至smple_mean_array中sample_mean_array[i]=np.mean(sample)

上段代码中,注意pop.rvs(size=10)和stats.norm.rvs(loc=4,scale=0.8,size=10)是等价的。

stats.norm.rvs()的用法参考:python统计分析——生成正态分布随机数-CSDN博客

3.2 检验样本均值的均值和标准差

我们知道根据正态分布的样本均值服从均值为μ,标准差为σ/sqrt(n)的正态分布。

# 计算样本均值的均值和样本均值的标准差
print('样本均值的均值实际值',np.mean(sample_mean_array))
print('样本均值的均值理论值','4')
print('样本均值的标准差实际值',np.std(sample_mean_array,ddof=1))
print('样本均值的标准差理论值',0.8/np.sqrt(10))

结果如下:

可以看到样本均值分布的实际值与理论值非常接近,随着样本量,以及抽样次数的增加,实际值会无限接近于理论值。

4、绘制样本均值分布的直方图

sns.set()
# 绘制直方图,并显示核密度曲线
sns.histplot(sample_mean_array,kde=True)

可以看到直方图和核密度曲线都十分趋近于正态分布。

5、验证样本容量与样本均值分布间的关系

5.1 设置样本容量从10变化至100010

# 准备公差是100,范围是10-100010的样本容量
size_array=np.arange(start=10,stop=100100,step=100)
# 准备存放样本均值的容器
sample_mean_array_size=np.zeros(len(size_array))

5.2 利用程序模拟,在改变样本容量的同时反复计算样本均值。

# 设置随机种子,确保结果的可复现
np.random.seed(1)
# 按不同的样本容量进行抽样,并将样本均值存至sample_mean_array_size
for i in range(0,len(size_array)):sample=pop.rvs(size=size_array[i])sample_mean_array_size[i]=np.mean(sample)

5.3 作图显示样本容量与样本均值之间的关系

plt.plot(size_array,sample_mean_array_size)
plt.xlabel('sample size')
plt.ylabel('sample mean')

由图可知样本容量越大,样本均值就越接近总体均值4。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 MinIO 和 PostgreSQL 简化数据事件

本教程将教您如何使用 Docker 和 Docker Compose 在 MinIO 和 PostgreSQL 之间设置和管理数据事件,也称为存储桶或对象事件。 您可能已经在利用 MinIO 事件与外部服务进行通信,现在您将通过使用 PostgreSQL 自动化和简化数据事件管理来增强数据处理能力…

栈(Stack):计算机科学中的基础数据结构

前言 在计算机科学中,栈(Stack)是一种重要的数据结构,广泛用于各种程序和系统中。本文旨在向初学者介绍栈的概念、为什么需要它以及它的一些常见使用场景。 什么是栈? 栈是一种遵循后进先出(Last In, First…

Linux--磁盘与文件系统

目录 1.什么是文件系统 2.磁盘 2.1什么时磁盘 2.2磁盘的物理存储结构 2.3磁盘的逻辑抽象结构 3.磁盘文件系统(EXT2) inode Table(i结点表) Data Block inode Bitmap(inode位图) Block Bitmap(块位图) 在Linux如何删除文件 Group Descriptor Ta…

30分钟带你深入优化安卓Bitmap大图

30分钟带你源码深入了解Bitmap以及优化安卓大图 一、前言二、Bitmap入门1. 如何创建Bitmap?2. Bitmap的堆内存分布在哪里3. 图片文件越大,Bitmap堆内存会越大吗?4. 如何管理Bitmap的内存?5. 实战修改Bitmap的堆内存,改变图片的图…

24秋招,百度测试开发工程师三面

前言 大家好,我是chowley,今天来回顾一下,我当时参加百度秋招补录,测试开发工程师的第三面-leader面 到面试开始的时间,面试官打电话表示让我等十分钟,随后跳过自我介绍,直接开面 时间&#…

MySQL中锁的概述

按照锁的粒度来分可分为:全局锁(锁住当前数据库的所有数据表),表级锁(锁住对应的数据表),行级锁(每次锁住对应的行数据) 加全局锁:flush tables with read lo…

【PyTorch】PyTorch之Tensors操作篇

文章目录 前言一、Tensor创建1、TENSOR2、SPARSE_COO_TENSOR3、SPARSE_CSR_TENSOR4、ASARRAY5、AS_TENSOR6、FROM_NUMPY7、FROMBUFFER8、ZEROS和ZEROS_LIKE9、ONES和ONES_LIKE10、ARANGE11、LINSPACE12、LOGSPACE13、EYE14、EMPTY和EMPTY_LIKE15、FULL和FULL_LIKE 前言 介绍Te…

Docker 安装 PHP

Docker 安装 PHP 安装 PHP 镜像 方法一、docker pull php 查找 Docker Hub 上的 php 镜像: 可以通过 Sort by 查看其他版本的 php,默认是最新版本 php:latest。 此外,我们还可以用 docker search php 命令来查看可用版本: runoobrunoob:…

使用C#操作文件:一个实际案例——替换文件中的IP地址

标题: 使用C#操作文件:一个实际案例——替换文件中的IP地址 介绍: 欢迎阅读我的最新博客!今天,我们将探讨如何使用C#来处理一个实际的编程挑战:读取一个配置文件并替换其中的IP地址。这是一个非常常见的…

windows安装mysql5.7

看了如何学习mysql后,就开始本地安装mysql,开始学习了。 1.官网下载 官网地址: https://dev.mysql.com/downloads/mysql/ 选择5.7版本 点击 “No thanks, just start my download”开始下载 下载64位的压缩包版 解压下载好的.zip文件&#xf…

mysql主从报错:Last_IO_Error: Error connecting to source解决方法

目录 报错 处理方法 1.从库停止同步 2.主库修改my.cnf 生效配置default-authentication-pluginmysql_native_password 3.重启服务重新创建复制用户 4.重新同步 5.测试主从 报错 Last_IO_Error: Error connecting to source repl_user192.168.213.15:3306. This was atte…

Adobe全新AI驱动的Premiere Pro功能消除了枯燥的音频编辑任务

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Github Copilot 的使用方法和快捷键*

GitHub Copilot是一款由GitHub开发的人工智能代码助手,它可以根据上下文和提示生成代码片段和建议。以下是使用GitHub Copilot的基本方法和一些常用的快捷键: 安装和启用:在支持的编辑器(如Visual Studio Code)中安装G…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (12) | 视觉模型可视化与可解释性(Visualizing and Understanding)

前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017&#xf…

C# dataGridView 列的勾选框改变事件

dataGridView 增加一列 DataGridViewCheckBoxColumn 然后设置复选框值如下图: dataGridView增加两个事件 private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e){//提交改变,触发dataGridView1_CellValueChanged事件&…

Android Launcher3各启动场景源码分析

文章目录 一、概述二、开机启动Launcher2.1、开机启动Launcher流程图2.2、开机启动流程源码分析 三、短压Home键启动Launcher3.1、短压Home键启动Launcher流程图3.2、短压Home键启动Launcher源码分析 四、Launcher异常崩溃后的自启动4.1、Launcher异常崩溃后的自启动流程图4.2、…

【计算机网络】难点、易遗忘点总结

文章目录 1. 单工通信、半双工通信和全双工通信2. TCP的三次握手和四次挥手 1. 单工通信、半双工通信和全双工通信 主要区别在于信息传输的方向和时间安排。单工通信是指信息只能在一个方向上传输的通信方式。半双工通信允许信息在两个方向上传输,但在任何给定的时…

OpenGL DIR

Mesa简介-CSDN博客 Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source software implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics ha…

Linux 使用PS命令掌握进程管理

在Linux系统中,进程管理是系统管理员和开发人员必备的技能之一。而PS命令作为进程管理的重要工具,可以帮助我们查看和监控系统中运行的进程。本文将详细解析PS命令的使用方法和输出结果,帮助读者全面掌握进程管理的利器。 PS命令概述&#xf…

前端开发1:HTML

在现代互联网的世界中,网页是我们与世界沟通的窗口。而HTML(超文本标记语言)作为网页的基石,扮演着至关重要的角色。在本篇博客中,我将向你介绍HTML的基本概念、语法以及一些常用的HTML标签。 HTML是什么?…