统计学之常见的分布介绍

统计学中常见的分布有:

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 数据…

spring boot 同一方法中如何使用多数据源

1、我使用的是mybatis-plus&#xff0c;思路是重写mp的Iservice借口的方法&#xff0c;比如list、insert、update这些方法 2、以list方法为例&#xff0c;这里我重写了list方法&#xff0c;然后在list方法增加DataSource注解&#xff0c;这样就可以了。 Service public class …

斯坦福 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;以及日常管理等环节越来越依赖于计算机和服务&#…

[GN] 使用vue3+vite+ts+prettier+eslint

学习目标&#xff1a; 做到代码格式等统一&#xff0c;此时&#xff0c;esint和prettier就要登场了。 学习内容&#xff1a; eslint是代码检测工具&#xff0c;可以检测出你代码中潜在的问题&#xff0c;比如使用了某个变量却忘记了定义。 prettier是代码格式化工具&#xff…

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

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

AS,android SDK

android sdk中包含什么&#xff1f; Android平台工具&#xff08;Android Platform Tools&#xff09;&#xff1a; 这包括 adb&#xff08;Android Debug Bridge&#xff09;等工具&#xff0c;用于在计算机和 Android 设备之间进行通信、调试和数据传输。 Android命令行工具…

【ES6 Map数据结构】建议日常开发操作数组时使用 new Map

Map数据结构 new Map使用属性及方法:1. size属性2. set(key,value)3. get(key)4. has(key)5. delete(key)6. clear()7. 遍历方法&#xff1a; keys()、values()、entries()、forEach()(1). keys()(2). values()(3). entries()(4). forEach() 8. toString()9. valueOf 算法使用 …

使用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;是一种将对象和数…

GBASE南大通用CommandBuilder 属性

DataAdapter 属性 获取或设置一个用于自动生成 SQL 语句的GBASE南大通用DataAdapter 对象。  语法 [Visual Basic] Public Property DataAdapter As GBASE南大通用DataAdapter Get Set [C#] public GBaseDataAdapter DataAdapter { get; set; }  属性 一个 GBase…

244.【2023年华为OD机试真题(C卷)】密码解密(JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

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

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

Vue3实现带点击外部关闭对应弹出框(可共用一个变量)

首先&#xff0c;假设您在单文件组件(SFC)中使用了Vue3&#xff0c;并且有两个div元素分别通过v-if和v-else来切换显示一个带有.elpopver类的弹出组件。在这种情况下&#xff0c;每个弹出组件应当拥有独立的状态管理&#xff08;例如&#xff1a;各自的isOpen变量&#xff09;。…

QFile:文件的打开与关闭

QFile file("注释.txt");if(file.open(QIODevice::WriteOnly)){qDebug()<<"打开成功";}else{qDebug()<<"打开失败";}if(file.open(QIODevice::WriteOnly)){qDebug()<<"打开成功";}else{qDebug()<<"打开失…

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

计算机视觉&#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…

HashTable, HashMap, ConcurrentHashMap 之间的区别

1. 线程安全性 HashTable&#xff1a;HashTable是线程安全的&#xff0c;所有操作都是同步的&#xff08;synchronized关键字&#xff09;。这意味着多个线程可以同时访问HashTable&#xff0c;并且不会导致数据不一致的问题。然而&#xff0c;由于同步的开销比较大&#xff0…