统计学之常见的分布介绍

news2024/9/24 21:27:02

统计学中常见的分布有:

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 plt

mean = 0
std = 1

data = np.random.normal(mean, std, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

二项分布:

 
import numpy as np
import matplotlib.pyplot as plt

n = 10
p = 0.5

data = 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 plt

lam = 3

data = np.random.poisson(lam, 1000)
plt.hist(data, bins=20, density=True)
plt.show()

均匀分布:

import numpy as np
import matplotlib.pyplot as plt

a = 0
b = 10

data = np.random.uniform(a, b, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

指数分布:

import numpy as np
import matplotlib.pyplot as plt

lam = 0.5

data = np.random.exponential(1/lam, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

伽马分布:

import numpy as np
import matplotlib.pyplot as plt

shape = 2
scale = 2

data = np.random.gamma(shape, scale, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

F分布:

import numpy as np
import matplotlib.pyplot as plt

df1 = 5
df2 = 3

data = np.random.f(df1, df2, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

t分布:

import numpy as np
import matplotlib.pyplot as plt

df = 10

data = np.random.standard_t(df, 1000)
plt.hist(data, bins=30, density=True)
plt.show()

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

正态分布(Normal Distribution):

  1. Shapiro-Wilk正态性检验:
from scipy import stats

data = [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 stats

data = [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 stats

successes = 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 stats

observed_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 stats

data = [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 stats

data = [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 stats

data = [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 stats

data1 = [1, 2, 3, 4, 5]  # 样本数据1
data2 = [2, 4, 6, 8, 10]  # 样本数据2

result = stats.f_oneway(data1, data2)
alpha = 0.05  # 显著性水平

if result.pvalue > alpha:
    print("样本数据的方差相等")
else:
    print("样本数据的方差不相等")

t分布(t-Distribution):

  1. 均值比较(单样本t检验):
from scipy import stats

data = [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.coloradmin.cn/o/1387913.html

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

相关文章

最新情侣飞行棋源码完全解析+搭建教程:让爱情在游戏中升温!

游戏玩法 摇筛子自动走棋&#xff1a;再也不用手动掷骰子&#xff0c;轻轻一点&#xff0c;棋子自动前进。让游戏更加轻松愉快。任务挑战&#xff1a;每个格子都藏有不同的任务。这些任务既有趣又挑战性&#xff0c;需要你们共同思考、协作完成。当然&#xff0c;你们也可以选…

纯c实现顺序表 数据结构大全

我们已经知道数组是连续的内存地址&#xff0c;顺序表是由数组为基础的一种数据结构&#xff0c;拥有比数组更多的功能&#xff0c;在概念上属于线性结构&#xff0c;跟链表不同的是&#xff0c;顺序表在物理结构上也是线性的 什么是数据结构&#xff1f; 当我们想要使⽤⼤量使…

交友脱单盲盒源码,纸条广场,支持单独抽取/连抽/同城

源码介绍 交友脱单盲盒源码&#xff0c;纸条广场&#xff0c;单独抽取/连抽/同城。 盲 盒交友脱单系统源码包含了学校、爱好、城市、地区、星座等 等信息&#xff0c;具有首页轮转广告和页面美化功能。 首页提供了两款 连抽和高质量底部连抽的选项&#xff0c;并且可以在后台…

❤ React报错问题分析

❤ React报错问题分析 ❤️ You passed a second argument to root.render(…) but it only accepts one argument. You passed a second argument to root.render(…) but it only accepts one argument. react-dom.development.js:86 Warning: You passed a second argumen…

transfomer中Decoder和Encoder的base_layer的源码实现

简介 Encoder和Decoder共同组成transfomer,分别对应图中左右浅绿色框内的部分. Encoder&#xff1a; 目的&#xff1a;将输入的特征图转换为一系列自注意力的输出。 工作原理&#xff1a;首先&#xff0c;通过卷积神经网络&#xff08;CNN&#xff09;提取输入图像的特征。然…

java如何修改windows计算机本地日期和时间?

本文教程&#xff0c;主要介绍&#xff0c;在java中如何修改windows计算机本地日期和时间。 目录 一、程序代码 二、运行结果 一、程序代码 package com;import java.io.IOException;/**** Roc-xb*/ public class ChangeSystemDate {public static void main(String[] args)…

MySQL面试题 | 10.精选MySQL面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

WinForms TreeView 控件:保持节点选中状态即使失去焦点

WinForms TreeView 控件&#xff1a;保持节点选中状态即使失去焦点 在 Windows 窗体&#xff08;WinForms&#xff09;应用程序中&#xff0c;TreeView 控件是一种非常有用的界面元素&#xff0c;允许用户以层次结构的方式浏览信息。然而&#xff0c;一个常见的用户界面问题是&…

关于浮点数的四舍五入问题

最近有关注到&#xff0c;在C/C中&#xff0c;对于浮点数的四舍五入&#xff0c;与实际的有一些出入&#xff0c;我打算今天总结一下&#xff0c;并解释一下这是为啥&#xff0c; 好了&#xff0c;下面进入正题&#xff0c;都是干货哦&#xff0c;认真看完&#xff0c;留下你的…

非常好用的Mac清理工具CleanMyMac X 4.14.7 如何取消您对CleanMyMac X的年度订购

CleanMyMac X 4.14.7是Mac平台上的一款非常著名同时非常好用的Mac清理工具。全方位扫描您的Mac系统&#xff0c;让垃圾无处藏身&#xff0c;您只需要轻松单击2次鼠标左键即可清理数G的垃圾&#xff0c;就这么简单。瞬间提升您Mac速度。 CleanMyMac X 4.14.7下载地址&#xff1a…

Linux Mii management/mdio子系统分析之三 mii_bus注册、注销及其驱动开发流程

&#xff08;转载&#xff09;原文链接&#xff1a;https://blog.csdn.net/u014044624/article/details/123303174 本篇是mii management/mdio模块分析的第三篇文章&#xff0c;本章我们主要介绍mii-bus的注册与注销接口。在前面的介绍中也已经说过&#xff0c;我们可以将mii-b…

如何增加服务器的高并发

随着互联网的快速发展和普及&#xff0c;越来越多的应用程序需要支持高并发的请求处理。在这种情况下增加服务器的高并发能力成为了一个热门的话题。下面简单的介绍如果提高服务器的高并发能力。 负载均衡 是把请求分发到多个服务器上&#xff0c;来实现请求的平衡和分担。负…

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…

如何配置mybatisplus基础环境?

1.在pom文件&#xff08;都加上吧&#xff0c;以防万一&#xff09; 2.若当初有mybatis的依赖&#xff0c;要删除 3.在Mapper接口加上"extends BaseMapper<实体类型>" 4.更改yml文件内容 别名扫描包&#xff1a;是指实体类型 5.添加"extends ServiceIm…

SQL语句详解四-DQL(数据查询语言-约束)

约束 概述&#xff1a;对表中的数据进行限定&#xff0c;保证数据的正确性&#xff0c;有效性和完整性。 约束分类 约束关键字约束意思primary key主键约束not null非空约束unique唯一约束foreign key外键约束 例子&#xff1a;sname varchar(40) not null, – 代表 sname 这…

【C语言】指针知识点笔记(2)

目录 一、野指针 二、assert断言 三、指针的使用和传址调用 四、数组名的理解 五、使用指针访问数组 一、野指针 二、assert断言 三、指针的使用和传址调用 四、数组名的理解 五、使用指针访问数组

Web 服务器渗透测试清单

Web 服务器渗透测试在三个重要类别下进行&#xff1a;身份、分析和报告漏洞&#xff0c;例如身份验证弱点、配置错误和协议关系漏洞。 1. “进行一系列有条不紊且可重复的测试”是测试网络服务器是否能够解决所有不同应用程序漏洞的最佳方法。 2.“收集尽可能多的信息”关于…

AtCoder Beginner Contest 336 G. 16 Integers(图计数 欧拉路径转欧拉回路 矩阵树定理 best定理)

题目 给16个非负整数&#xff0c;x[i∈(0,1)][j∈(0,1)][k∈(0,1)][l∈(0,1)] 求长为n3的01串的方案数&#xff0c;满足长度为4的ijkl&#xff08;2*2*2*2&#xff0c;16种情况&#xff09;串恰为x[i][j][k][l]个 答案对998244353取模 思路来源 https://www.cnblogs.com/tz…

多线程并发与并行

&#x1f4d1;前言 本文主要是【并发与并行】——并发与并行的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&…

03 顺序表

目录 线性表顺序表练习 线性表(Linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串。。。 线性表在逻辑上时线性结构&#xff0c;是连续的一条直线。但在物理结…