置信区间是指由 样本统计量 所构造的总体参数的估计区间
这句话也就是说 ( 这里统计量一般指均值 ) 利用样本均值来估计总体均值的可靠程度, 这个"可靠程度"用"置信区间"来表示, 置信区间(是一个系数)取值范围为: 0<置信区间<1; 这个置信区间就是用来描述真实的均值发生在某范围的概率
当样本量越大, 则越可靠.

置信区间计算公式:

ci = mean±stdN(ppf)( (1-α)/2 )
公式参数说明:
ci: 表示置信区间
mean: 表示样本均值
std: 表示样本标准差
N(ppf): 表示正态分布的百分点函数
α : 是显著性水平
α的取值跟样本量有关

样本量个数 α取值
0~99 0.1
100~500 0.05
501~1000 0.01
约2000 0.001

其中;百分点函数ppf是累积分布函数cdf的反函数

常用的几个置信区间的计算可以不用上述公式,而使用更简单的公式

置信水平是指特定个体对待特定命题真实性相信的程度
通常使用 90%,95% 和 99% 作为置信区间的置信水平。这三个置信水平的临界值分别为 1.64,1.98 和 2.32。
se是样本标准误, n是样本个数
se = mean/pow(n,0.5)

置信区间算法:
ci = mean-se1.64 置信水平为0.9
ci = mean-se
1.98 置信水平为0.95
ci = mean-se*2.32 置信水平为0.99

举例来说,如果在一次大选中某人的支持率为55%,而置信水平(也称为可信区间)0.95以上的置信区间是(50%,60%),那么他的真实支持率有百分之九十五的机率落在百分之五十和百分之六十之间,因此他的真实支持率不足一半的可能性小于百分之2.5。 如例子中一样,置信水平一般用百分比表示,因此置信水平0.95上的置信空间也可以表达为:95%置信区间。置信区间的两端被称为置信极限。对一个给定情形的估计来说,显著性水平越高,所对应的置信区间就会越大。

但是; 重点来了, 在python里可以直接调用函数求出置信区间

置信水平 = 可信区间 = 可信度 ;他们是同一个说法(其中可信度是为了方便理解,在案例中我用于替代置信水平的)

置信区间宽度 = 置信区间上极限 - 置信区间下极限
结论是:置信区间宽度越小,预测模型越精确;但是置信区间宽度小了,可信度也就越小了

"""  置信区间  """df = len(data) - 1alpha=    # 是设定的可信区间, 可以理解为可信度; 数值是百分数,取值范围(0,1)ci = stats.t.interval(alpha, df, loc=np.mean(data), scale=stats.sem(data)) # ci是置信区间

案例: 对给出的样本数据分析(所用文件是csv格式的,无法导入)

import os
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
from scipy import stats
import numpy as npos.chdir(r"D:\python金融")
data = pd.read_csv("house_price_gr.csv",encoding='gbk') # 文件有中文,encoding= 'gbk'matplotlib.rcParams['axes.unicode_minus']=False#解决保存图像时负号'-'显示为方块的问题
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体# print(data.shape[0]) # 查看样本数量# 绘制直方图 plt.hist(样本数据,bins=柱子个数) ; 默认x轴是样本数值, y轴是样本数值的个数
# plt.hist(data.rate,bins=40)
# plt.show()# 查看均值,标准差,百分位数等
print(data.rate.describe())alpha = 0.99
alpha_list = [] # 可信度列表
ci_width_list = [] # 置信区间宽度列表
ci_upper_limit = [] # 置信区间上极限
ci_lower_limit = [] # 置信区间下极限
for i in range(20): print("alpha={}".format(alpha))# 均值的99%可信区间的置信区间"""  置信区间  """df = len(data.rate) - 1ci = stats.t.interval(alpha, df, loc=np.mean(data.rate), scale=stats.sem(data.rate))# ci = stats.t.interval(alpha=0.99,df=len(data.rate)-1,loc=np.mean(data.rate),scale=stats.sem(data.rate))# 算出置信区间的宽度ci_element = cici_lower_limit.append(ci_element[0])ci_upper_limit.append(ci_element[1])# ci_element.append(ci)ci_width = ci_element[1] - ci_element[0] # 定义置信区间宽度ci_width_list.append(ci_width)print(ci_width)  # 输出置信区间宽度alpha_list.append(alpha) # 添加到列表中alpha = alpha - 0.05print("置信区间={}".format(ci))print("  "*100)print(ci_width_list)
print(alpha_list)
x=alpha_list # 设置可信度为x轴
# y=ci_width_listplt.plot(x,ci_lower_limit,linestyle="dashdot",label="置信区间下极限")
plt.plot(x,ci_width_list,linestyle="dashdot",label = "置信区间宽度")
plt.plot(x,ci_upper_limit,linestyle="dashdot",label= "置信区间上极限")
plt.xlabel("可信度/百分数") # 可信度指的是可信区间, 为了方面理解,用可信度代替可信区间
plt.ylabel("置信区间/单位为变量的单位")
plt.title("可信度--置信区间宽度 图")
plt.legend() # 显示标签
"""
可信度与置信区间图说明:
例如:可信度=0.90,置信区间宽度=0.05, 置信区间上限=0.07,置信区间下限=0.02
则说明:发生在区间(0.02,0.07)这个范围内的可能性为0.90通过图像得出: 置信区间宽度越越小,预测模型越精确;但是置信区间宽度小了,可信度也就越小了
"""
plt.show()


通过图可以得出上述结论:
:置信区间宽度越小,预测模型越精确;但是置信区间宽度小了,可信度也就越小了

所有为了得到较高的可信度, 就必须得扩大置信区间宽度; 一般取可信度=0.95来计算

python 置信区间相关推荐

  1. python 散点图 置信区间_python计算置信区间

    python 置信区间 置信区间是指由 样本统计量 所构造的总体参数的估计区间. 这句话也就是说 ( 这里统计量一般指均值 ) 利用样本均值来估计总体均值的可靠程度, 这个"可靠程度&quo ...

  2. Python使用matplotlib可视化时间序列数据、并为时间序列曲线添加误差带、使用95%置信区间(Time Series Error Bands with confidence interval

    Python使用matplotlib可视化时间序列数据.并为时间序列曲线添加误差带.使用95%置信区间(Time Series with Error Bands with confidence int ...

  3. [python skill]利用python计算T分布下的置信区间

    上篇博文中的置信区间计算代码在使用过程中并不准确,本人没并没有搞清楚原因 - - 求大神解答: import numpy as np from scipy import statsX1=np.arra ...

  4. Python笔记-置信区间含义及运算

    基本概念 这里先要知道几个概念! 均值(平均值):一组数据的平均值,比如学生时代最喜欢的平均分: 方差:一组数据与平均值的偏离程度: 标准差(标准误差):方差开根号,反应数据的离散程度: 置信区间:统 ...

  5. python参数估计置信区间_python中分布参数的置信区间估计

    bootstrap可以用来估计样本中任何函数(np.mean,st.genextreme.fit,等等)的置信区间,并且有一个Python库:^{}.在 以下是作者相关问题question中的数据:i ...

  6. python成绩区间曲线图_Python重现论文图表之【包含置信区间的折线柱状图】

    什么叫[包含置信区间的折线柱状图]?因为图有点复杂,实在不知道应该叫什么名字好.. 图片 今天导师发来一张图片,就是下面这张,是一篇论文中的插图,他说这张图片画的挺漂亮,想让我用python模仿一下. ...

  7. 面向Python开发人员的综合置信区间全面理解

    面向Python开发人员的综合置信区间全面理解 置信区间是以范围表示并汇总统计中的不确定性的.换句话说,这是一系列我们确信自己真正价值所在的价值观.例如:我有95%的信心认为人口平均数在8.76到15 ...

  8. 5.参数估计——点估计与区间估计概念,置信区间的公式求法与Python实现求出结果

    1.点估计 什么是点估计 设总体X的分布形式已知,但它的一个或多个参数未知,借助于总体X的一个样本来估计总体未知参数的值的问题称为参数的点估计问题 注意: 点估计的问题就是要构造一个适当的统计量(估计 ...

  9. 计算AUC 95%的置信区间,python实现

    计算AUC 95%的置信区间,python实现 代码 def bootstrap_auc(clf, X_train, y_train, X_test, y_test, nsamples=1000):a ...

最新文章

  1. Ubuntu 16.04 安装 Docker - Dependency failed for Docker Application Container
  2. Powershell指令集_1
  3. pandas python2_Python数据分析之pandas学习(二)
  4. selinux禁用后系统无法正常启动的问题
  5. C# 之 Math取整
  6. 最全整理浏览器兼容性问题与解决方案(转)
  7. 渐进增强和优雅降级有什么区别
  8. 禁止普通账户将主机加入域控
  9. linux ifort编译命令,[转载][Linux] icc与ifort编译器
  10. Access导入SQL2005
  11. MplusAutomation包的使用 二
  12. IMEI修改(IMEI第十五位验证码的计算)
  13. 移动警务系统建设方案
  14. 盘点美颜api中的基本算法与开发难点
  15. NPV、IRR的计算
  16. Wondows Sever 2003密钥【收集】
  17. linux tig不支持中文,颠覆 Git 命令使用体验的神器 -- tig
  18. js股票K线图,比较专业的K线图插件
  19. lichee目录+android源码目录制作ROM
  20. 双机(51单片机)串行通信最基本的方法

热门文章

  1. PS基础——自由变换
  2. ISACA任命David Samuelson为首席执行官
  3. 寒假算法学习 I (9). 宇宙总统 (重载运算赋 >)
  4. 给apk 指定某区域一个GPS定位座标
  5. SIC-1EPRI/SIC-1E1-F 接口卡
  6. 远程桌面是服务器 但是不能把文件复制到服务器中
  7. 新手的第一块基于FPGA的设计-脉冲信号发生器---1
  8. 【有图有真像】基于STM32F407小型示波器
  9. 领域模型、贫血模型、充血模型概念总结
  10. HTML静态网页 图片热点、框架、表单