[python skill]利用python计算T分布下的置信区间
上篇博文中的置信区间计算代码在使用过程中并不准确,本人没并没有搞清楚原因 - - 求大神解答:
import numpy as np from scipy import stats X1=np.array([14.65,14.95,8.49,9.51,10.23,2.75]) Xmean=X1.mean() Xstd=X1.std(ddof=1) interval=stats.t.interval(0.95,len(X1-1),Xmean,Xstd) print("置信区间为:",interval)
在计算一个文献中出现的数据时出现了问题:
↑为python代码输出结果
↑为R输出结果
↑正确结果。
并没有找到其他现成的包里面的命令用于直接计算T分布下的置信区间,通过查阅资料找到自定义函数实现置信区间的计算:
def ci_t (data,confidence=0.95): sample_mean = np.mean(data) sample_std = np.std(data,ddof=1) sample_size = len(data) alpha = 1 - confidence t_score = scipy.stats.t.isf(alpha / 2, df = (sample_size-1) ) ME = t_score * sample_std / np.sqrt(sample_size) lower_limit = sample_mean - ME upper_limit = sample_mean + ME print( str(confidence*100)+ '%% Confidence Interval: ( %.2f, %.2f)' % (lower_limit, upper_limit)) return lower_limit, upper_limit
input:
ci_t(X1)
output:
95.0% Confidence Interval:(5.38, 14.82)
结果正确~
thats all thank you~
代码引用自:https://www.jianshu.com/p/6cfce4cc2f7f
感谢。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开发与发布【Python包】的详细步骤
1.设定一个名称 Python包或模块的名称通常需要遵循以下条件: 所有字母小写 在pypi上没有同名的包(即使您不想公开提供您的包,您可能希望稍后将其私下指定为依赖项)1 仅使用-符号或不使用符号(注意不能使用_) 1译者注:由于作者已将名为funniest的包上传,所以我们在设定名字时不能设置为funniest 2.创建框架 funniest的初始目录结构应该是这样的: 最高级的目录是我们软件配置管理仓库的根目录,比如funniest.git,同样叫funniest的子目录是实际的python模块。我们在__init__.py中写入一个joke()函数: 主设置配置文件setup.py应该包含一次对setuptools.setup()的调用: 现在我们可以在本地安装这个包. 我们还可以使用符号链接安装包,以便对系统上包的其他用户立即提供对源文件的更改: 在我们系统中使用相同Python的其他任何地方,接着做: 3.在PyPi上发布 setup.py文件也是我们在PyPI上注册包名称和上传源代码的主要入口点。输入下面的代码来“注册”你的包(这将会保存包的名称,上传包的元数据,并创建p...
- 下一篇
python操作csv
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81285438 '''def build_excel(self): workbook = xlwt.Workbook(encoding='ascii') # 创建表 worksheet = workbook.add_sheet('My Worksheet') # 往表写内容 行 ,列 worksheet.write(1, 3, label='Row 0, Column 0 Value') workbook.save('Excel_Workbook.xlsx') csvFile = open("test42.cs v", 'w', newline='') try: writer = csv.writer(csvFile) writer.writerow(('id', '标题', '发布时间','视频时长', '播放次数', '评论数', '喜欢数', '分享数', '上传用户', '下载地址' )) for i in range(10...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果