置信区间(Confidence Interval, CI)

原文链接:https://blog.csdn.net/weixin_39679367/article/details/114631706

1. 基础数学知识

1.1. 什么是置信区间(Confidence Interval, CI)?

按照维基百科上说的是:在统计学上,置信区间是从已观测到的数据中统计出来的一个估计。它给出了未知参数可能落在的区域。

而通俗的讲,就是我们去估计一个参数(大部分情况是一个平均值或期望),但是估计一定会有误差,所以置信区间就告诉我们,这个平均值的误差范围。

比如 95% 置信区间,就是我们估计出来的平均值,会有 95% 的可能性落在这个区间。

1.2. 如何计算置信区间?

置信区间会用到标准误差,而标准误差会用到标准差,它们的计算如下:

总体标准差:
在这里插入图片描述
样本标准差:
在这里插入图片描述
标准误差:
在这里插入图片描述
在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
import scipy.stats as st
matplotlib.rcParams.update({'font.size': 12})

# generate dataset
data_points = 50
sample_points = 10000
Mu = (np.linspace(-5, 5, num=data_points)) ** 2
Sigma = np.ones(data_points) * 8
data = np.random.normal(loc=Mu, scale=Sigma, size=(100, data_points))

# predicted expect and calculate confidence interval
predicted_expect = np.mean(data, 0)
low_CI_bound, high_CI_bound = st.t.interval(0.95, data_points - 1,
                                            loc=np.mean(data, 0),
                                            scale=st.sem(data))

# plot confidence interval
x = np.linspace(0, data_points - 1, num=data_points)
plt.plot(predicted_expect, linewidth=3., label='estimated value')
plt.plot(Mu, color='r', label='grand truth')
plt.fill_between(x, low_CI_bound, high_CI_bound, alpha=0.5,
                label='confidence interval')
plt.legend()
plt.title('Confidence interval')
plt.show()

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在R语言中,比较bootstrap置信区间可以使用不同的方法。以下是两种常见的方法: 1. 基本置信区间(Basic Confidence Interval):基本置信区间是使用百分位数来估计的。它通过从bootstrap分布中选择与所需置信水平相对应的端点来计算。下面是一个示例代码: ```R # 使用boot包进行bootstrap library(boot) # 创建一个函数来计算统计量 statistic <- function(data, i) { # 从数据中进行有放回的抽样 sample <- sample(data, replace = TRUE) # 计算统计量 mean(sample) } # 生成一组数据 data <- c(1, 2, 3, 4, 5) # 进行bootstrap置信区间估计 boot_result <- boot(data, statistic, R = 1000) # 计算基本置信区间 basic_ci <- quantile(boot_result$t, c(0.025, 0.975)) # 输出结果 print(basic_ci) ``` 2. BCa置信区间(Bias-Corrected and Accelerated Confidence Interval):BCa置信区间也使用百分位数来估计,但会根据偏差和偏度进行调整。下面是一个示例代码: ```R # 使用boot包进行bootstrap library(boot) # 创建一个函数来计算统计量 statistic <- function(data, i) { # 从数据中进行有放回的抽样 sample <- sample(data, replace = TRUE) # 计算统计量 mean(sample) } # 生成一组数据 data <- c(1, 2, 3, 4, 5) # 进行bootstrap置信区间估计 boot_result <- boot(data, statistic, R = 1000) # 计算BCa置信区间 bca_ci <- boot.ci(boot_result, type = "bca") # 输出结果 print(bca_ci) ``` 这两种方法都可以用来比较bootstrap置信区间,具体使用哪种方法取决于你的需求和数据特征。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值