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 自动化和简化数据事件管理来增强数据处理能力…

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的堆内存,改变图片的图…

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…

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

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

(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、…

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…

C++进阶(五)二叉搜索树

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、二叉搜索树概念二、二叉搜索树操作三、二叉搜索树的实现四、二叉搜索树的应用五、二叉搜索…

mac上搭建 hadoop 伪集群

1. hadoop介绍 Hadoop是Apache基金会开发的一个开源的分布式计算平台,主要用于处理和分析大数据。Hadoop的核心设计理念是将计算任务分布到多个节点上,以实现高度可扩展性和容错性。它主要由以下几个部分组成: HDFS (Hadoop Distributed Fi…

PyTorch各种损失函数解析:深度学习模型优化的关键(1)

目录 详解pytorch中各种Loss functions binary_cross_entropy 用途 用法 参数 数学理论 示例代码 binary_cross_entropy_with_logits 用途 用法 参数 数学理论 示例代码 poisson_nll_loss 用途 用法 参数 数学理论 示例代码 cosine_embedding_loss 用途 …

揭秘程序栈:你的代码在幕后是怎么运行的?

计算机科学中,许多概念和原理可能会让开发者感到头疼,比如程序栈。这个看似晦涩的概念,实对我们理解程序运行至关重要。本文将以通俗易懂的方式,带你深入理解程序栈的工作原理和优化策略。 一、为什么需要栈? 栈是一…

Diffusion Models

DDPM x 0 ∼ q ( x 0 ) x_0 \sim q(x_0) x0​∼q(x0​)是真实数据分布,扩散模型学习一个分布 p θ ( x 0 ) p_\theta(x_0) pθ​(x0​)去逼近真实数据分布。 p θ ( x 0 ) : ∫ p θ ( x 0 : T ) d x 1 : T (1) p_\theta(x_0) : \int p_\theta(x_{0:T})dx_{1:T} \…

chatgpt的实用技巧四temperature 格式

四、temperature 格式 GPT3.5 temperature 的范围为:0-0.7; GPT4.0 temperature 的范围为:0-1; 当 temperature 为 0 时候,结果可稳定。 当 temperature 为 0.7/1 时候,结果发散具备创力。 数值越大&a…

设计模式的学习笔记

设计模式的学习笔记 一. 设计模式相关内容介绍 1 设计模式概述 1.1 软件设计模式的产生背景 设计模式最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任 Christopher Alexander 在…