python 置信区间

置信区间是指由 样本统计量 所构造的总体参数的估计区间。

这句话也就是说 ( 这里统计量一般指均值 ) 利用样本均值来估计总体均值的可靠程度, 这个"可靠程度"用"置信区间"来表示, 置信区间(是一个系数)取值范围为: 0

当样本量越大, 则越可靠.

置信区间计算公式:

ci = mean±stdN(ppf)( (1-α)/2 )

公式参数说明:

ci: 表示置信区间

mean: 表示样本均值

std: 表示样本标准差

N(ppf): 表示正态分布的百分点函数

α : 是显著性水平

α的取值跟样本量有关

其中,百分点函数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-se1.98 置信水平为0.95

ci = mean-se*2.32 置信水平为0.99

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

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

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

置信区间宽度 = 置信区间上极限 - 置信区间下极限

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

""" 置信区间 """

df = len(data) - 1

alpha= # 是设定的可信区间, 可以理解为可信度; 数值是百分数,取值范围(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 np

os.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) - 1

ci = 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 = ci

ci_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.05

print("置信区间={}".format(ci))

print(" "*100)

print(ci_width_list)

print(alpha_list)

x=alpha_list # 设置可信度为x轴

# y=ci_width_list

plt.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来计算

原文:https://blog.csdn.net/with_still_water/article/details/102511633

python 散点图 置信区间_python计算置信区间相关推荐

  1. python 散点图 分类_Python | 分类图

    python 散点图 分类 Visualizing different variables is also a part of basic plotting. Such variables can h ...

  2. python散点图解_python 画三维图像 曲面图和散点图的示例

    用python画图很多是根据z=f(x,y)来画图的,本博文将三个对应的坐标点输入画图: 散点图: import matplotlib.pyplot as plt from mpl_toolkits. ...

  3. python判断天数_Python计算两个日期相差天数的方法示例

    本文实例讲述了Python计算两个日期相差天数的方法.分享给大家供大家参考,具体如下: #!/usr/bin/python import time import sys def dateinput() ...

  4. python 画三角函数_Python计算三角函数之asin()方法的使用

    asin()方法返回x的反正弦,以弧度表示. 语法 以下是asin()方法语法: asin(x) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数 ...

  5. python笛卡尔_Python 计算笛卡尔积

    Python 计算笛卡尔积 计算多个集合的笛卡尔积,有规律可循,算法和代码也不难,但是很多语言都没有提供直接计算笛卡尔积的方法,需要自己写大段大段的代码计算笛卡尔积,python 提供了一种最简单的计 ...

  6. python概率游戏_Python计算斗牛游戏的概率

    Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). ...

  7. python 移动平均线_Python 计算EMA(指数移动平均线)

    总结 使用递归和循环两种方法来完成 python环境下循环相比于递归更快,更适应极端样本情况 递归 def _ema(arr,i=None): N = len(arr) α = 2/(N+1) #平滑 ...

  8. python皮尔森相关系数_Python计算皮尔逊 pearson相关系数

    pearson相关系数:用于判断数据是否线性相关的方法. 注意:不线性相关并不代表不相关,因为可能是非线性相关. Python计算pearson相关系数: 1. 使用numpy计算(corrcoef) ...

  9. python算方差_python计算均值方差

    用Python求均值与方差,可以自己写,也可以借助于numpy,不过到底哪个快一点呢? 我做了个实验,首先生成9百万个样本: nlist=range(0,9000000) nlist=[float(i ...

最新文章

  1. 递归/回溯:Combination Sum II数组之和
  2. 列出AD用户Lockout 位置
  3. 解决Couldn't resolve host 'mirrorlist.centos.org
  4. OpenCV中6种访问Mat元素的方法
  5. SpringBoot v2.2.6版本遇到的坑------Thymeleaf的sec:authorize标签无效
  6. 如何revert一个merged branch上所有的改动
  7. java二重循环计数_java的二重循环代码样例
  8. 【2016年第6期】中国科学院科学数据云建设与服务
  9. hdu 6395Sequence【矩阵快速幂】【分块】
  10. (Deep learning)深度卷积网络实战——第一部分
  11. Allegro导出STP文件
  12. Ubuntu20安装gcc6.3.0
  13. 详解研发健康体检信息管理系统分析
  14. python文本聚类dbscan_文本挖掘之文本聚类(DBSCAN)
  15. 服务器u盘一键安装系统,一键Ghost U盘版安装使用图文教程
  16. win10玩cf不能全屏解决方法
  17. Python打造一个互动交友聊天室,免费在线聊天
  18. 关于Ubuntu的16.04对应版本的ros安装和turtlebot安装
  19. Windows Server 2008 R2下安装卸载Oracle 11g
  20. 安利三个好用视频配音乐的软件

热门文章

  1. 梅西夺冠,一场精彩的比赛,一个时代的落幕
  2. java中的多态是什么_java中多态是什么意思?
  3. 《天影奇缘》1.29上线链游玩家|轻松挂机、晋升仙界
  4. IDEAL葵花宝典:java代码开发规范插件 FindBugs-IDEA
  5. PHP 开启 webp 支持
  6. 结构体 身高问题(深学思维)
  7. 周记20140216
  8. 陕西引汉济渭工地宿舍火灾已致13死24伤-陕西-引汉济渭-火灾
  9. 贷款违约预测学习笔记
  10. 量化投资中的因子逻辑与多因子选股的概念