使用R语言计算矩形分布(均匀分布)并绘制图形

news2025/6/26 15:00:43

理论部分

矩形分布(均匀分布),是指在某一区间内,随机变量取任何值的概率都是相同的。这种分布的概率密度函数在一个特定的区间内是一个常数,因此其图形呈现出一个矩形的形状,故得名为“矩形分布”。在概率论和统计学中,这是一种非常重要的概率分布方式,具有广泛的应用。在实际应用中,当某一随机变量在一区间内取值的可能性没有偏向时,就可以采用矩形分布(均匀分布)来描述这种随机性,比如实验室技术报告中计算B类不确定度。

矩形分布定义及PDF函数
X i X_{i} Xi独立时,可根据一系列的测量值分析,为 X i X_{i} Xi设定 P D F g x ( ξ ) PDFgx(\xi) PDFgx(ξ),当某些测量值 X i X_{i} Xi相互独立时,对它们的每一个设定PDF,而其余的 X i X_{i} Xi设定联合PDF。

某量X的可获信息
对于某量X,仅知其下限为 a a a,上限为 b b b, a < b a<b a<b

X所设定的分布
矩形分布: R ( a , b ) R(a,b) R(a,b)

矩形分布的PDF函数
g x ( ξ ) = { 1 b − 1 , a ≤ ξ ≤ b 0 , 其他 gx(\xi)= \begin{cases} \frac{1}{b-1}, a \leq \xi \leq b \\ 0, 其他 \end{cases} gx(ξ)={b11,aξb0,其他

使用R语言计算并验证

矩形分布图形绘制

library(ggplot2)  

a <- 0  # 矩形分布下限  
b <- 1  # 矩形分布上限
height <- 1 / (b - a)  # 矩形分布高度,即1除以区间的宽度  

x <- seq(a - 0.2, b + 0.2, length.out = 300)  # 扩展x范围以显示分布之外的区域  
# y值表示矩形分布的概率密度函数  
y <- ifelse(x >= a & x <= b, height, 0) 
df <- data.frame(x = x, y = y)  

ggplot(df, aes(x = x, y = y)) +  
  geom_line(colour = "blue", linewidth = 1.0) +  
  geom_vline(xintercept = c(a, b), linetype = 2, colour = "gray") +  
  labs(x = "x", y = "Density", title = "Uniform Distribution PDF") +  
  theme_minimal()

在这里插入图片描述
使用渐近单样本Kolmogorov-Smirnov检验检查数据是否为均匀分布
使用 runif() 函数生成均匀分布随机数后进行检验

set.seed(123) # 设置随机种子 
data <- runif(100, min = 0, max = 1) # 生成100个[0,1]区间内的均匀分布随机数  
# 使用Kolmogorov-Smirnov检验检查数据是否均匀分布  
# 比较数据与标准的均匀分布U(0,1)  
ks_test_result <- ks.test(data, "punif", 0, 1)  
print(ks_test_result)

输出

	Asymptotic one-sample Kolmogorov-Smirnov test

data:  data
D = 0.052204, p-value = 0.9481
alternative hypothesis: two-sided

使用 rnorm() 函数生成正态分布随机数后进行检验

set.seed(123) # 设置随机种子 
data <- rnorm(1000, mean = 0, sd = 1) # 生成1000个均值为0、标准差为1的正态分布随机数  
# 使用Kolmogorov-Smirnov检验检查数据是否均匀分布  
# 比较数据与标准的均匀分布U(0,1)  
ks_test_result <- ks.test(data, "punif", 0, 1)  
print(ks_test_result)

输出

	Asymptotic one-sample Kolmogorov-Smirnov test

data:  data
D = 0.49514, p-value < 2.2e-16
alternative hypothesis: two-sided

以上的备择假设(拒绝原假设时接受的假设)使用的是双侧检验,意味着不考虑数据偏离原假设的方向,只关心偏离的大小。
通过观察两组输出的D值(两者之间的差异度)和P值(观察到的统计量出现概率,假设原假设是真实的。如果p值大于显著性水平(需查表),则不能拒绝原假设。),即不能拒绝数据来自矩形分布的原假设,因为p值远大于常用的显著性水平,而第二组输出显示p值极小,可以拒绝数据来自矩形分布的原假设。

使用Q_Q图验证数据是否属于矩形分布
使用正态分布数据演示

set.seed(123)
data <- rnorm(1000, mean = 0, sd = 1)  # 生成1000个均值为0、标准差为1的正态分布随机数

a <- min(data)
b<- max(data)

# 生成理论上的均匀分布分位数  
uniform_quantiles <- qunif(ppoints(length(data)), a, b)  
# 绘制QQ图  
qqnorm(data)  
qqline(uniform_quantiles, col="red")  
# 如果数据点大致沿着红线分布,则可能服从均匀分布

输出图像(可明显看出差别)
在这里插入图片描述

使用矩形分布数据演示(服从状态明显)

set.seed(123)
data <- runif(1000, min = 0.34, max = 0.46) # 生成1000个矩形分布随机数据 
  
# 定义均匀分布的上限a和下限b 
a <- 0.34  
b <- 0.46  

# 生成理论上的均匀分布分位数  
uniform_quantiles <- qunif(ppoints(length(data)), a, b)  
# 绘制QQ图  
qqnorm(data)  
qqline(uniform_quantiles, col="red")  
# 如果数据点大致沿着红线分布,则可能服从均匀分布

在这里插入图片描述

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

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

相关文章

智能边缘自动化:HDMI接口钡铼ARM工业电脑实践案例

一款具备HDMI接口的高性能ARM工业计算机应运而生&#xff0c;为实现在工业4.0时代的关键数据实时处理与可视化管理提供了强有力的硬件支撑。这款计算机依托其独特的边缘计算能力&#xff0c;完美解决了工业环境中大规模数据传输至云端的高延迟问题&#xff0c;成功实现了OT&…

酷开科技在大数据及人工智能推动下,成功将酷开系统与AI融合

随着科技的不断发展&#xff0c;以及大数据这个概念的出现&#xff0c;让看似冷冰冰的数字开始具备了温度&#xff0c;开始让数字产生了温暖的价值&#xff0c;也让各个行业看到了大数据的作用。酷开科技生态的核心场景是家庭、是客厅&#xff0c;无论是以酷开科技为代表的OTT&…

电压继电器SRMUVS-220VAC-2H2D 导轨安装 JOSEF约瑟

系列型号&#xff1a; SRMUVS-58VAC-2H欠电压监视继电器&#xff1b;SRMUVS-100VAC-2H欠电压监视继电器&#xff1b; SRMUVS-110VAC-2H欠电压监视继电器&#xff1b;SRMUVS-220VAC-2H欠电压监视继电器&#xff1b; SRMUVS-58VAC-2H2D欠电压监视继电器&#xff1b;SRMUVS-100…

找不到vcruntime140.dll怎么办,vcruntime140.dll丢失的多种解决方法

在我们日常频繁地与电脑打交道、依赖其处理各种工作、学习乃至娱乐任务的过程中&#xff0c;偶尔会遭遇一些令人困扰的技术问题。其中一种颇为常见的情况便是&#xff0c;当您正全神贯注于某个重要应用的操作&#xff0c;或是满怀期待地试图启动一款新安装的游戏时&#xff0c;…

蓝桥杯刷题 二分-[2145]求阶乘(C++)

问题描述 满足 N! 的末尾恰好有 K 个 0 的最小的 N 是多少? 如果这样的 N 不存在输出 −1。 输入格式 一个整数 K。 输出格式 一个整数代表答案。 样例输入 2 样例输出 10 评测用例规模与约定 对于 30% 的数据&#xff0c;1 ≤ K ≤ 10的6次方 对于 100% 的数据&…

ES6对于Class类的基本语法详解(2024-04-10)

目录 1、传统ES5写法 2、ES6 的class语法 3、ES5与ES6行为对比 4、类的constructor() 方法 5、类的实例 new 6、类的对象属性&#xff08;新写法&#xff09; 7、类的取值函数&#xff08;getter&#xff09;和存值函数&#xff08;setter&#xff09; 8、Class类的表达…

用vue3写一个AI聊天室

效果图如下&#xff1a; 1、页面布局&#xff1a; <template><div class"body" style"background-color: rgb(244, 245, 248); height: 730px"><div class"container"><div class"right"><div class"…

SpringBoot3 + uniapp 对接 阿里云0SS 实现上传图片视频到 0SS 以及 0SS 里删除图片视频的操作(最新)

SpringBoot3 uniapp 对接 阿里云0SS 实现上传图片视频到 0SS 以及 0SS 里删除图片视频的操作 最终效果图uniapp 的源码UpLoadFile.vuedeleteOssFile.jshttp.js SpringBoot3 的源码FileUploadController.javaAliOssUtil.java 最终效果图 uniapp 的源码 UpLoadFile.vue <tem…

Netty出坑记

NIO&#xff1a; 一个线程处理多个请求 BIO&#xff1a; 阻塞 netty 编码解码 TFO&#xff1a; 校验cookie合法性&#xff0c;不合法 TCP流程 设计QQ&#xff1a; 登录过程&#xff0c;client TCP协议向server发送信息&#xff0c;HTTP协议下载信息 发消息&#xff1a;clie…

Win10系统VScode远程连接VirtualBox安装的Ubuntu20.04.5

1.打开虚拟机&#xff0c;在中端中输入命令: sudo apt-get install openssh-server 安装ssh 我这里已经安装完成&#xff0c;故显示是这样 2.输入命令&#xff1a;sudo systemctl start ssh 启动远程连接 注意&#xff0c;如果使用VirtualBox安装的虚拟机&#xff0c;需要启用…

故障诊断 | Matlab实现基于小波包结合鹈鹕算法优化卷积神经网络DWT-POA-CNN实现电缆故障诊断算法

故障诊断 | Matlab实现基于小波包结合鹈鹕算法优化卷积神经网络DWT-POA-CNN实现电缆故障诊断算法 目录 故障诊断 | Matlab实现基于小波包结合鹈鹕算法优化卷积神经网络DWT-POA-CNN实现电缆故障诊断算法分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现基于小波…

【Qt 学习笔记】QWidget的geometry属性及window frame的影响

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ QWidget的geometry属性 文章编号&#xff1a;Qt 学习笔记 / 16 文章目…

Flutter Your project requires a newer version of the Kotlin Gradle plugin

在开发Flutter项目的时候,遇到这个问题Flutter Your project requires a newer version of the Kotlin Gradle plugin 解决方案分两步: 1、在android/build.gradle里配置最新版本的kotlin 根据提示的kotlin官方网站搜到了Kotlin的最新版本是1.9.23,如下图所示: 同时在Ko…

【现代C++】默认函数和删除函数

现代C中的默认函数和删除函数特性允许开发者更精确地控制类的行为&#xff0c;特别是关于对象拷贝、赋值、析构和构造的行为。这些特性可以帮助开发者避免不必要的对象拷贝&#xff0c;防止资源泄露&#xff0c;以及避免一些常见的编程错误。 1. 默认函数&#xff08;Defaulte…

docker 安装canal

一、新建文件夹 新建文件夹logs, 新建文件canal.properties instance.properties docker.compose.yml canal.propertie 修改如下&#xff1a; 修改instance.properties内容如下 1.1 canal.properties ################################################# ######### …

ES6 关于Class类的继承 extends(2024-04-10)

1、简介 类Class 可以通过extends关键字实现继承&#xff0c;让子类继承父类的属性和方法。extends 的写法比 ES5 的原型链继承&#xff0c;要清晰和方便很多。 class Foo {constructor(x, y) {this.x x;this.y y;console.log(父类构造函数)}toString() {return ( this.x …

42-软件部署实战(下):IAM系统安全加固、水平扩缩容实战

IAM应用安全性加固 iam-apiserver、iam-authz-server、MariaDB、Redis和MongoDB这些服务&#xff0c;都提供了绑定监听网卡的功能。将服务绑定到内网网卡上。 我们也可以通过iptables来实现类似的功能&#xff0c;通过将安全问题统一收敛到iptables规则&#xff0c;可以使我…

基于GAN的图像补全实战

数据与代码地址见文末 论文地址:http://iizuka.cs.tsukuba.ac.jp/projects/completion/data/completion_sig2017.pdf 1.概述 图像补全,即补全图像中的覆盖和缺失部分, 网络整体结构如下图所示,整体网络结构还是采取GAN,对于生成器,网络结构采取Unet的形式,首先使用卷积…

Asp .Net Core 系列:集成 Refit 和 RestEase 声明式 HTTP 客户端库

背景 .NET 中 有没有类似 Java 中 Feign 这样的框架&#xff1f;经过查找和实验&#xff0c;发现 在 .NET 平台上&#xff0c;虽然没有直接的 Feign 框架的端口&#xff0c;但是有一些类似的框架和库&#xff0c;它们提供了类似的功能和设计理念。下面是一些在 .NET 中用于声明…

web安全学习笔记(9)

记一下第十三课的内容。 准备工作&#xff1a;在根目录下创建template目录&#xff0c;将login.html放入其中&#xff0c;在该目录下新建一个reg.html。在根目录下创建一个function.php 一、函数声明与传参 PHP中的函数定义和其他语言基本上是相同的。我们编辑function.php …