利用norm.ppfnorm.interval分别计算正态置信区间[实例]

2023-10-03 22:36

本文主要是介绍利用norm.ppfnorm.interval分别计算正态置信区间[实例],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

scipy.stats.norm.ppf用于计算正态分布的累积分布函数CDF的逆函数,也称为百分位点函数。它的作用是根据给定的概率值,计算对应的随机变量值。
scipy.stats.norm.interval:用于计算正态分布的置信区间,可指定均值和标准差。
scipy.stats.t.interval:用于计算t分布的置信区间,可选择使用不同的置信水平和自由度。

import scipy.stats as stats
import numpy as np
# 指定概率值(例如,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("-------------------")
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无法拒绝零假设,数据符合正态分布。")
print("-------------------")# 计算样本均值和标准误差(标准差除以样本大小的平方根)
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)print("-------------------")# 计算均值和标准差
mean = np.mean(data)
std_dev = np.std(data, ddof=1)  # 使用ddof=1进行自由度校正
sample_size = len(data)
# 选择置信水平(例如,95%置信水平对应alpha=0.05)
alpha = 0.05
# 计算正态分布的置信区间
confidence_interval = stats.norm.interval(1 - alpha, loc=mean, scale=std_dev / np.sqrt(sample_size))
# 输出计算结果
print("norm.interval正态分布的置信区间:", confidence_interval)print("--------t分布结果是不是与上面的很接近?-----------")
# 计算t分布的置信区间
t_confidence_interval = stats.t.interval(1 - alpha, df=sample_size - 1, loc=mean, scale=std_dev / np.sqrt(sample_size))
# 输出计算结果
print("t分布的置信区间:", t_confidence_interval)# -------------------
# K-squared正态检验统计量: 1.12645322945576
# K-squared正态检验P-value: 0.5693689625161796
# p_value>0.05无法拒绝零假设,数据符合正态分布。
# -------------------
# 置信区间的下限: 51.79799091398577
# 置信区间的上限: 67.70200908601423
# -------------------
# norm.interval正态分布的置信区间: (51.79799091398577, 67.70200908601423)
# -------------------
# t分布的置信区间: (51.356996738889045, 68.14300326111095)
# [Finished in 5.5s]

这篇关于利用norm.ppfnorm.interval分别计算正态置信区间[实例]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou