统计学之常见的分布介绍

统计学中常见的分布有:

1. 正态分布(Normal Distribution):也称为高斯分布,是最常见的分布之一,具有钟形曲线,对称且均值和标准差可以完全描述该分布。

2. 二项分布(Binomial Distribution):描述了重复进行一系列独立的二元试验,例如抛硬币或进行有限次数的成功与失败的实验。它的特征是具有确定的成功概率和试验次数。

3. 泊松分布(Poisson Distribution):适用于描述单位时间或空间内随机事件发生次数的概率分布。它主要用于计算罕见事件的概率,例如计算在某个时间段内发生的车祸的数量。

4. 均匀分布(Uniform Distribution):以一致的概率分布在一定范围内随机地选择数值。在一个区间内的每个值都有相等的概率。

5. 指数分布(Exponential Distribution):描述了时间或空间上连续事件的间隔时间。它经常用于建模随机事件的时间间隔。

6. 伽马分布(Gamma Distribution):是指数分布的推广,适用于描述连续时间事件的等候时间。

7. F分布(F-Distribution):应用于统计假设检验,例如比较两个样本方差的差异。

8. t分布(t-Distribution):常用于小样本量的假设检验,例如在小样本下进行均值的比较。

这只是一些统计学中常见的分布,实际上还有很多其他的分布,每个分布都有不同的应用和特点。

正态分布的特点是具有钟形曲线,对称且均值和标准差可以完全描述该分布。实际案例包括身高、体重、智商等连续数据的分布。

二项分布的特点是描述了重复进行一系列独立的二元试验,具有确定的成功概率和试验次数。实际案例包括抛硬币、掷骰子、进行有限次数的成功与失败的实验。

泊松分布的特点是适用于描述单位时间或空间内随机事件发生次数的概率分布。实际案例包括计算在某个时间段内发生的交通事故、电话呼叫、邮件到达等事件的数量。

均匀分布的特点是在一定范围内随机地选择数值,每个值都有相等的概率。实际案例包括抽奖活动、随机选择样本等。

指数分布的特点是描述了时间或空间上连续事件的间隔时间。实际案例包括计算连续时间内发生两次事件的间隔时间,例如两次用户登录网站的间隔时间。

伽马分布是指数分布的推广,适用于描述连续时间事件的等候时间。实际案例包括计算连续时间内多次事件的总等候时间,例如多次用户登录网站的总等候时间。

F分布主要应用于统计假设检验,例如比较两个样本方差的差异。实际案例包括在实验中比较两种不同处理的效果。

t分布常用于小样本量的假设检验,例如在小样本下进行均值的比较。实际案例包括小样本量的调查研究、实验设计中的差异检验。

以下是使用Python生成这几种分布的示例代码:

正态分布:

import numpy as np
import matplotlib.pyplot as pltmean = 0
std = 1data = np.random.normal(mean, std, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

二项分布:

 
import numpy as np
import matplotlib.pyplot as pltn = 10
p = 0.5data = np.random.binomial(n, p, 1000)
plt.hist(data, bins=n+1, range=[0, n], density=True)
plt.show()

泊松分布:

 
import numpy as np
import matplotlib.pyplot as pltlam = 3data = np.random.poisson(lam, 1000)
plt.hist(data, bins=20, density=True)
plt.show()

均匀分布:

import numpy as np
import matplotlib.pyplot as plta = 0
b = 10data = np.random.uniform(a, b, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

指数分布:

import numpy as np
import matplotlib.pyplot as pltlam = 0.5data = np.random.exponential(1/lam, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

伽马分布:

import numpy as np
import matplotlib.pyplot as pltshape = 2
scale = 2data = np.random.gamma(shape, scale, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

F分布:

import numpy as np
import matplotlib.pyplot as pltdf1 = 5
df2 = 3data = np.random.f(df1, df2, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

t分布:

import numpy as np
import matplotlib.pyplot as pltdf = 10data = np.random.standard_t(df, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

以下是针对每种分布的一些常见检验的代码示例:

正态分布(Normal Distribution):

  1. Shapiro-Wilk正态性检验:
from scipy import statsdata = [1, 2, 3, 4, 5]  # 样本数据
stat, p = stats.shapiro(data)
alpha = 0.05  # 显著性水平if p > alpha:print("样本数据符合正态分布")
else:print("样本数据不符合正态分布")

  1. Anderson-Darling正态性检验:
from scipy import statsdata = [1, 2, 3, 4, 5]  # 样本数据
result = stats.anderson(data, dist='norm')
alpha = 0.05  # 显著性水平if result.statistic < result.critical_values[2]:print("样本数据符合正态分布")
else:print("样本数据不符合正态分布")

二项分布(Binomial Distribution):

  1. 假设检验(使用二项分布的情况):
from scipy import statssuccesses = 10  # 成功次数
n_trials = 20  # 总试验次数
p = 0.5  # 成功概率result = stats.binom_test(successes, n_trials, p)
alpha = 0.05  # 显著性水平if result > alpha:print("样本数据符合二项分布")
else:print("样本数据不符合二项分布")

泊松分布(Poisson Distribution):

  1. Goodness-of-Fit拟合度检验(Kolmogorov-Smirnov检验):
from scipy import statsobserved_values = [10, 15, 12, 8]  # 观测到的频数
expected_values = [8, 12, 10, 15]  # 预期的频数result = stats.kstest(observed_values, "poisson", args=(expected_values,))
alpha = 0.05  # 显著性水平if result.pvalue > alpha:print("样本数据符合泊松分布")
else:print("样本数据不符合泊松分布")

均匀分布(Uniform Distribution):

  1. 假设检验(Kuiper检验):
from scipy import statsdata = [0.1, 0.3, 0.5, 0.7, 0.9]  # 样本数据
result = stats.kstest(data, 'uniform')
alpha = 0.05  # 显著性水平if result.pvalue > alpha:print("样本数据符合均匀分布")
else:print("样本数据不符合均匀分布")

指数分布(Exponential Distribution):

  1. 假设检验(Kolmogorov-Smirnov检验)
from scipy import statsdata = [0.1, 0.3, 0.5, 0.7, 0.9]  # 样本数据
result = stats.kstest(data, 'expon')
alpha = 0.05  # 显著性水平if result.pvalue > alpha:print("样本数据符合指数分布")
else:print("样本数据不符合指数分布")

伽马分布(Gamma Distribution):

  1. 假设检验(Kolmogorov-Smirnov检验):
from scipy import statsdata = [0.1, 0.3, 0.5, 0.7, 0.9]  # 样本数据
result = stats.kstest(data, 'gamma', args=(1,))
alpha = 0.05  # 显著性水平if result.pvalue > alpha:print("样本数据符合伽马分布")
else:print("样本数据不符合伽马分布")

F分布(F-Distribution):

  1. 方差比较(F检验):
from scipy import statsdata1 = [1, 2, 3, 4, 5]  # 样本数据1
data2 = [2, 4, 6, 8, 10]  # 样本数据2result = stats.f_oneway(data1, data2)
alpha = 0.05  # 显著性水平if result.pvalue > alpha:print("样本数据的方差相等")
else:print("样本数据的方差不相等")

t分布(t-Distribution):

  1. 均值比较(单样本t检验):
from scipy import statsdata = [1, 2, 3, 4, 5]  # 样本数据
result = stats.ttest_1samp(data, 0)
alpha = 0.05  # 显著性水平if result.pvalue > alpha:print("样本数据的均值为0")
else:print("样本数据的均值不为0")

这些代码示例只是简单的演示了如何使用Python中的SciPy库进行一些基本的分布检验。请注意,在实际应用中,需要根据具体的问题和数据类型选择适当的检验方法和参数设置,并根据需要进行进一步的数据处理和解释。

以下是使用Python绘制几种常见分布的密度曲线图的示例代码:

1. 正态分布(Normal Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt

mu = 0 # 均值
sigma = 1 # 标准差

x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
y = (1/(sigma * np.sqrt(2*np.pi))) * np.exp(-0.5*((x-mu)/sigma)**2)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Normal Distribution')
plt.show()
```

2. 二项分布(Binomial Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import binom

n = 10 # 试验次数
p = 0.5 # 成功概率

x = np.arange(0, n+1)
y = binom.pmf(x, n, p)

plt.stem(x, y)
plt.xlabel('x')
plt.ylabel('Probability Mass')
plt.title('Binomial Distribution')
plt.show()
```

3. 泊松分布(Poisson Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson

lambda_ = 3 # 平均发生率

x = np.arange(0, 10)
y = poisson.pmf(x, lambda_)

plt.stem(x, y)
plt.xlabel('x')
plt.ylabel('Probability Mass')
plt.title('Poisson Distribution')
plt.show()
```

4. 均匀分布(Uniform Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import uniform

a = 0 # 范围起点
b = 1 # 范围终点

x = np.linspace(a, b, 100)
y = uniform.pdf(x, a, b-a)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Uniform Distribution')
plt.show()
```

5. 指数分布(Exponential Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import expon

lambda_ = 1 # 指数分布参数

x = np.linspace(0, 5, 100)
y = expon.pdf(x, scale=1/lambda_)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Exponential Distribution')
plt.show()
```

6. 伽马分布(Gamma Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gamma

alpha = 2 # 形状参数
beta = 1 # 尺度参数

x = np.linspace(0, 5, 100)
y = gamma.pdf(x, alpha, scale=1/beta)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Gamma Distribution')
plt.show()
```

7. F分布(F-Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import f

dfn = 5 # 分子自由度
dfd = 10 # 分母自由度

x = np.linspace(0, 5, 100)
y = f.pdf(x, dfn, dfd)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('F-Distribution')
plt.show()
```

8. t分布(t-Distribution):

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import t

df = 5 # 自由度

x = np.linspace(-5, 5, 100)
y = t.pdf(x, df)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('t-Distribution')
plt.show()
```

以上代码使用了SciPy库中相应分布的概率密度函数(pdf)绘制曲线图,并使用Matplotlib库进行可视化。根据需要,可以调整参数和绘图范围来适应不同的情况。

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

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

相关文章

Unity3D学习之数据持久化——PlayerPrefs

文章目录 1. 概念2. 存储2.1 存到内存当中2.2 存到硬盘当中2.3 局限性2.4 相同键会覆盖 3.读取3.1 int型3.2 float型3.3 string型3.4 判断数据是否存在 4. 删除数据5. 存储位置6. 反射6.1 判断一个类型的对象是否可以让另一个类型为自己分配空间6.2 通过反射获得泛型类型 7 数据…

斯坦福 Stats60:21 世纪的统计学:第十五章到第十八章

第十五章&#xff1a;比较均值 原文&#xff1a;statsthinking21.github.io/statsthinking21-core-site/comparing-means.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 我们已经遇到了许多情况&#xff0c;我们想要询问样本均值的问题。在本章中&#xff0c;我们…

Keepalived 双机热备

本章主要内容&#xff1a; Keepalived 双机热备基础知识学会构建双机热备系统学会构建LVSHA 高可用群集 简介 在这个高度信息化的IT时代&#xff0c;企业的生产系统&#xff0c;业务运营&#xff0c;销售和支持&#xff0c;以及日常管理等环节越来越依赖于计算机和服务&#…

Shape-IoU——综合考量边框形状与尺度的度量

今天看到一篇文章主要是提出了一种更有效的IOU度量方法&#xff0c;论文地址在这里&#xff0c;如下所示&#xff1a; 摘要 边界盒回归损失作为检测器定位分支的重要组成部分&#xff0c;在目标检测任务中起着重要作用。现有的边界框回归方法通常考虑GT框和预测框之间的几何关…

使用ffmpeg进行视频截取

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable-version3 --enable-sta…

SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用

四、Database MetaData 与 SQL Express Language 的使用 MetaData对象用于描述表结构&#xff0c;SQL Express Language是DBAPI SQL的统一封装器。MetaData 与SQL Express 语句可以在Core层使用&#xff0c;ORM层基于MetaData, SQL Express基础上做了进一步抽象。本章将介绍在…

Python简单ORM实现:不使用元类的灵活数据操作与查询构建【第29篇—python:ORM】

文章目录 不使用元类的简单ORM实现Field类Compare类Model类Query类示例使用扩展查询功能支持 LIMIT 和 OFFSET支持 GROUP BY 和 HAVING 示例用法总结 不使用元类的简单ORM实现 在 Python 中&#xff0c;ORM&#xff08;Object-Relational Mapping&#xff09;是一种将对象和数…

基于uniapp的在线课程教学系统

介绍 项目背景&#xff1a; 随着互联网的快速发展&#xff0c;在线教育已经成为一种流行的学习方式。针对这一趋势&#xff0c;我们决定开发一个基于UniApp的在线课程教学系统。该系统旨在为学生提供方便快捷的在线学习体验&#xff0c;同时也为教师提供一个高效管理课程的平台…

《计算机视觉处理设计开发工程师》

计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说&#xff0c;计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标&#xff0c;计算机视觉结合了图像处理、机器学习、模…

做品牌,怎么挖掘用户深层需求?

品牌想要长久发展&#xff0c;就需要去挖掘用户深层需求&#xff0c;什么是用户深层需求&#xff0c;比如做美业的认为用户想要变美是深层次的需求&#xff0c;但其实由美貌带来的附加利益比如说更上镜、竞争优势更大等才属于深层需求&#xff0c;今天媒介盒子就来和大家聊聊&a…

compose 实验

cd /opt mkdir compose_nginx cd compose_nginx mkdir nginx cd nginx/ 此时顺便将nginx安装包拖进来 vim Dockerfile mkdir /opt/compose_nginx/wwwroot echo "<h1>this is test web</h1>" > /opt/compose_nginx/wwwroot/index.html docker netw…

【C语言知识】原码反码和补码

一&#xff0c;简介 总结进制转换&#xff0c;原码&#xff0c;反码和补码相关基础知识。 二&#xff0c;具体说明 2.1 十进制转二进制方法 14(D)转换为二进制为&#xff08;0000 1110 &#xff09; -21(D)转换为二进制为&#xff08;1001 0101&#xff09;&#xff0c;先…

二分查找与搜索树的高频问题(算法村第九关白银挑战)

基于二分查找的拓展问题 山峰数组的封顶索引 852. 山脉数组的峰顶索引 - 力扣&#xff08;LeetCode&#xff09; 给你由整数组成的山脉数组 arr &#xff0c;返回满足 arr[0] < arr[1] < ... arr[i - 1] < arr[i] > arr[i 1] > ... > arr[arr.length - 1…

git 提炼笔记

1、设置用户名和邮箱&#xff08;邮箱可以不是真的&#xff09; git config --global user.name test101 // 设置用户名为 test101git config --global user.email test101test101.cn // 设置邮箱为test101test101.cn2、查看用户名和邮箱 git config --global user.name git…

索引的数据结构(MySql高级)

索引的数据结构 为什么使用索引什么是索引索引的优缺点优点缺点 常见索引概念聚簇索引二级索引(辅助索引, 非聚簇索引)InnoDB的B树索引的注意事项 MyISAM 与 InnoDB 对比索引的代价 为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教…

基于SSM的网上购物商城设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Vue知识总结-下

VUE-组件间通信 组件的自定义事件 概述&#xff1a;是一种组件间通信的方式,适用于&#xff1a;子组件>父组件使用场景&#xff1a;A是父组件,B是子组件,B给A传递数据,那么需要在A组件中绑定自定义事件(事件的回调也在A中)使用步骤 绑定自定义事件&#xff1a; 第一种方式…

Python展示 RGB立方体的二维切面视图

代码实现 import numpy as np import matplotlib.pyplot as plt# 生成 24-bit 全彩 RGB 立方体 def generate_rgb_cube():# 初始化一个 256x256x256 的三维数组rgb_cube np.zeros((256, 256, 256, 3), dtypenp.uint8)# 填充立方体for r in range(256):for g in range(256):fo…

压缩编码之不同缩放参数对重建图像质量的影响的python实现——JPEG变换编码不同压缩率的模拟

原理 JPEG&#xff08;Joint Photographic Experts Group&#xff09;是一种常用的图像压缩标准&#xff0c;它通过采用离散余弦变换&#xff08;DCT&#xff09;和量化来实现图像的压缩。 离散余弦变换&#xff08;DCT&#xff09;&#xff1a; JPEG首先将图像分割成8x8的块…

LeetCode 160: 两个链表的相交节点 - 优雅解法

LeetCode 160: Intersection of Two Linked Lists 题目描述 给定两个单链表 headA 和 headB 的头节点&#xff0c;返回它们相交的节点。如果两个链表没有相交&#xff0c;返回 null。 示例: 输入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,6,1,8,4,5], sk…