利用百分位点函数ppf计算置信区间上下限

百分位点函数(Percent Point Function,PPF),也称为逆分布函数或分位数函数,是概率分布函数的逆运算。它的作用是根据给定的累积概率值,计算随机变量的值,使得该值以下的累积概率等于给定的概率。

在统计和概率论中,百分位点函数对于估计分布的特定百分位值以及在假设检验中确定拒绝域的边界非常有用。

不同的概率分布(例如正态分布、t分布、F分布等)都有自己的百分位点函数。在Python的SciPy库中,您可以使用诸如scipy.stats.norm.ppf(正态分布的百分位点函数)或scipy.stats.t.ppf(t分布的百分位点函数)等函数来执行这些计算。

以下是一些常见的百分位点函数的示例:

 正态分布的百分位点函数示例:

import scipy.stats as stats# 指定概率值
probability = 0.95# 计算对应的随机变量值
x = stats.norm.ppf(probability)# 输出计算结果
print("正态分布的百分位点:", x)

t分布的百分位点函数示例:

import scipy.stats as stats# 指定概率值和自由度
probability = 0.95
degrees_of_freedom = 10# 计算对应的随机变量值
x = stats.t.ppf(probability, df=degrees_of_freedom)# 输出计算结果
print("t分布的百分位点:", x)

使用正态分布的百分位点函数stats.norm.ppf计算置信区间的上下限

import scipy.stats as stats# 指定概率值(例如,95% 置信水平对应的概率)
alpha = 0.05# 指定样本数据和样本大小
# data = [32, 34, 36, 35, 33, 31, 32, 33, 30, 34]
data = [34,56,39,71,84,92,44,67,98,49,55,73,50,62,75,44,88,53,61,25,36,66,77,35]
sample_size = len(data)# 执行D'Agostino's K-squared检验
stat, p_value = stats.normaltest(data)
# 输出结果
print("K-squared正态检验统计量:", stat)
print("K-squared正态检验P-value:", p_value)
# 判断是否符合正态分布的零假设
alpha = 0.05  # 显著性水平
if p_value < alpha:print("拒绝零假设,数据不符合正态分布。")
else:print("p_value>0.05无法拒绝零假设,数据符合正态分布。")# 计算样本均值和标准误差(标准差除以样本大小的平方根)
sample_mean = sum(data) / sample_size
sample_std = (sum([(x - sample_mean) ** 2 for x in data]) / (sample_size - 1)) ** 0.5
standard_error = sample_std / (sample_size ** 0.5)# 使用百分位点函数计算置信区间的上下限
confidence_interval_lower = stats.norm.ppf(alpha / 2, loc=sample_mean, scale=standard_error)
confidence_interval_upper = stats.norm.ppf(1 - alpha / 2, loc=sample_mean, scale=standard_error)# 输出置信区间的上下限
print("置信区间的下限:", confidence_interval_lower)
print("置信区间的上限:", confidence_interval_upper)

使用的是T分布的百分位点函数scipy.stats.t.ppf来计算置信区间的上下限

import scipy.stats as stats
import numpy as np# 指定概率值(例如,95% 置信水平对应的概率)
alpha = 0.05# 指定样本数据
data = np.array([32, 34, 36, 35, 33, 31, 32, 33, 30, 34])# 计算样本均值和标准误差
sample_mean = np.mean(data)
sample_std = np.std(data, ddof=1)  # 使用ddof=1进行自由度校正
sample_size = len(data)
standard_error = sample_std / np.sqrt(sample_size)# 计算T分布的置信区间的上下限
t_critical = stats.t.ppf(1 - alpha / 2, df=sample_size - 1)  # 自由度为样本大小减一
confidence_interval_lower = sample_mean - t_critical * standard_error
confidence_interval_upper = sample_mean + t_critical * standard_error# 输出T分布置信区间的上下限
print("T分布置信区间的下限:", confidence_interval_lower)
print("T分布置信区间的上限:", confidence_interval_upper)

让我们通过一个示例来演示如何检查数据是否符合T分布

import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt# 创建一个样本数据,假设它符合T分布
np.random.seed(0)
sample_data = np.random.standard_t(df=5, size=100)# 绘制直方图
plt.hist(sample_data, bins=20, density=True, alpha=0.6, color='b', label='Histogram')# 绘制T分布的概率密度函数(PDF)曲线
x = np.linspace(min(sample_data), max(sample_data), 100)
pdf = stats.t.pdf(x, df=5)
plt.plot(x, pdf, 'r-', lw=2, label='T-Distribution PDF')# 添加图例和标签
plt.legend()
plt.title('Histogram and PDF of Sample Data')
plt.xlabel('Value')
plt.ylabel('Probability Density')# 显示图形
plt.show()# 绘制Q-Q图
stats.probplot(sample_data, dist="t", sparams=(5,), plot=plt)
plt.title('Q-Q Plot against T-Distribution')# 显示Q-Q图
plt.show()# 进行正态性检验(Shapiro-Wilk检验)
shapiro_test_statistic, shapiro_p_value = stats.shapiro(sample_data)
print("Shapiro-Wilk检验统计量:", shapiro_test_statistic)
print("Shapiro-Wilk检验p值:", shapiro_p_value)

 概率密度函数值(Probability Density Function,PDF值)表示在概率分布中某个随机变量的取值处的概率密度。它衡量了在给定取值附近的数据点的密度或集中度,但不是直接的概率值。
在连续概率分布中,PDF值表示随机变量在某个特定取值处的相对概率密度,它的值越大表示在该点附近的数据点越密集,但并不代表具体的概率。概率密度函数的积分可以用来计算随机变量落在一个范围内的概率。
对于连续分布,如果我们要计算在某一范围内的概率,需要对PDF在该范围内的积分。数学上,PDF值通常满足以下两个性质:
PDF值不能为负数:在任何给定点,PDF值不能为负,因为它是表示密度的值。
总积分为1:整个分布的PDF积分等于1,因为它表示了所有可能的取值的密度分布。

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

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

相关文章

使用 cURL 发送 HTTP 请求: 深入探讨与示例

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

美丽的图论

**美丽的图论 ** Prf &#x1f609; 对于 n 个顶点上的树的数量 n^(n-2)&#xff0c;这是凯莱公式&#xff0c;用于计算 n 个顶点上的树的数量&#xff0c;被放置在一个由 4 个标记顶点组成的圆圈中。 使用 Figma 制作 在图论中&#xff0c;树只是一个没有环的图。 树在离散…

【MATLAB-基于直方图优化的图像去雾技术】

【MATLAB-基于直方图优化的图像去雾技术】 1 直方图均衡2 程序实现3 局部直方图处理 1 直方图均衡 直方图是图像的一种统计表达形式。对于一幅灰度图像来说&#xff0c;其灰度统计直方图可以反映该图像中不同灰度级出现的统计情况。一般而言&#xff0c;图像的视觉效果和其直方…

javaWeb学生信息管理

一、引言 学生信息管理系统是基于Java Web技术开发的一个全栈应用&#xff0c;用于管理学生的基本信息。本系统采用Eclipse作为开发工具&#xff0c;Navicat用于MySQL数据库管理&#xff0c;运行在JDK1.8、Tomcat9.0、MySQL8.0环境下。前端采用JavaScript、jQuery、Bootstrap4…

五款可替代163邮箱的电子邮件服务

在众多邮箱品牌中&#xff0c;163邮箱作为中国最早的邮箱服务提供商之一&#xff0c;其出海之路并不顺利。本文将探讨163邮箱出海的劣势&#xff0c;并介绍一些替代品&#xff0c;以帮助用户更好地选择适合自己的邮箱服务。 “163邮箱的替代品有哪些&#xff1f;外贸行业适合选…

Go_原子操作和锁

原子操作和锁 本文先探究并发问题&#xff0c;再探究锁和原子操作解决问题的方式&#xff0c;最后进行对比。 并发问题 首先&#xff0c;我们看一下程序 num该程序表面看上去一步就可以运行完成&#xff0c;但是实际上&#xff0c;在计算机中是分三步运行的&#xff0c;如下…

世界第一ERP厂商SAP,推出类ChatGPT产品—Joule

9月27日&#xff0c;世界排名第一ERP厂商SAP在官网宣布&#xff0c;推出生成式AI助手Joule&#xff0c;并将其集成在采购、供应链、销售、人力资源、营销、数据分析等产品矩阵中&#xff0c;帮助客户实现降本增效。 据悉&#xff0c;Joule是一款功能类似ChatGPT的产品&#xf…

国庆day2---select实现服务器并发

select.c&#xff1a; #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)#define IP "192.168.1.3" #define PORT 8888int main(int argc, const char *argv[]) {//创建报式套接字socketi…

S-Clustr(影子集群)僵尸网络@Мартин.

公告 项目地址:https://github.com/MartinxMax/S-Clustr/tree/V1.0.0 1.成功扩展3类嵌入式设备,组建庞大的"僵尸网络" |——C51[开发中] |——Arduino |——合宙AIR780e[开发中] 2.攻击者端与服务端之间通讯过程全程加密,防溯源分析 3.Generate一键自动生成Arduino…

【机器学习】熵和概率分布,图像生成中的量化评估IS与FID

详解机器学习中的熵、条件熵、相对熵、交叉熵 图像生成中常用的量化评估指标通常有Inception Score (IS)和Frchet Inception Distance (FID) Inception Score (IS) 与 Frchet Inception Distance (FID) GAN的量化评估方法——IS和FID&#xff0c;及其pytorch代码

Cheerleaders UVA - 11806

Cheerleaders - UVA 11806 - Virtual Judge 题目大意&#xff1a;有一个n*m的网格&#xff0c;要把其中k个格子涂黑&#xff0c;且满足最上、下一行、最左、右一列分别至少有一格黑&#xff0c;问方案数有多少 2<m,n<50&#xff1b;k<500 思路&#xff1a;因为合法…

hwk4:C++ 运算符重载

用mystring实在部分C运算符重载 mystring.h: #ifndef MYSTRING_H #define MYSTRING_H#include <iostream> #include <cstring>using namespace std;class myString { private:char *str; //记录c风格的字符串int size; //记录字符串的实际长…

计算机组成原理期末复习

第一章 上机前的准备&#xff1a;建立数学模型、确定计算方法和编制解题程序n位操作码有 2 n 2^n 2n种不同操作主储存器&#xff08;主存/内存&#xff09;包括存储体M、各种逻辑部件及控制电路。储存体有多个储存单元&#xff0c;储存单元有多个储存元件&#xff0c;每个存储…

《视觉 SLAM 十四讲》V2 第 4 讲 李群与李代数 【什么样的相机位姿 最符合 当前观测数据】

P71 文章目录 4.1 李群与李代数基础4.1.3 李代数的定义4.1.4 李代数 so(3)4.1.5 李代数 se(3) 4.2 指数与对数映射4.2.1 SO(3)上的指数映射罗德里格斯公式推导 4.2.2 SE(3) 上的指数映射SO(3),SE(3),so(3),se(3)的对应关系 4.3 李代数求导与扰动模型4.3.2 SO(3)上的李代数求导…

分布式并行训练(DP、DDP、DeepSpeed)

[pytorch distributed] 01 nn.DataParallel 数据并行初步 数据并行 vs. 模型并行 数据并行&#xff1a;模型拷贝&#xff08;per device&#xff09;&#xff0c;数据 split/chunk&#xff08;对batch切分&#xff09; 每个device上都拷贝一份完整模型&#xff0c;每个device分…

spark SQL 任务参数调优1

1.背景 要了解spark参数调优&#xff0c;首先需要清楚一部分背景资料Spark SQL的执行原理&#xff0c;方便理解各种参数对任务的具体影响。 一条SQL语句生成执行引擎可识别的程序&#xff0c;解析&#xff08;Parser&#xff09;、优化&#xff08;Optimizer&#xff09;、执行…

RabbitMQ核心总结

AMQP协议核心概念 RabbitMQ是基于AMQP协议的&#xff0c;通过使用通用协议就可以做到在不同语言之间传递。 server&#xff1a;又称broker&#xff0c;接受客户端连接&#xff0c;实现AMQP实体服务。 connection&#xff1a;连接和具体broker网络连接。 channel&#xff1a…

c++ std::move 和 std::forward

在C11标准之前&#xff0c;C中默认的传值类型均为Copy语义&#xff0c;即&#xff1a;不论是指针类型还是值类型&#xff0c;都将会在进行函数调用时被完整的复制一份。所以引入了move和forward 临时值&#xff08;右值&#xff09;简述 func("some temporary string&qu…

堆栈与堆(Stack vs Heap)有什么区别?

​编写有效的代码需要了解堆栈和堆内存&#xff0c;这使其成为学习编程的重要组成部分。不仅如此&#xff0c;新程序员或职场老手都应该完全熟悉堆栈内存和堆内存之间的区别&#xff0c;以便编写有效且优化的代码。 这篇博文将对这两种内存分配技术进行全面的比较。通过本文的…

Asp.net core api http请求是怎么找到对应方法并参数映射的

在ASP.NET Core中&#xff0c;HTTP请求是通过路由系统找到对应的方法&#xff0c;并将请求的参数映射到方法的参数上。具体的过程如下&#xff1a; 路由系统&#xff1a; ASP.NET Core中的路由系统负责处理传入的HTTP请求&#xff0c;并根据请求的路径和其他条件决定将请求发送…