注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一粒浮尘

飘渺虚无

 
 
 

日志

 
 

笔记:CosmoMC中的GetDist中的一段代码,寻找置信区间  

2015-01-18 23:41:33|  分类: cosmology |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
宇宙学这个圈子里使用最多的程序之一便是大名鼎鼎的CosmoMC了。不过这个程序包现在已经变得过于庞大,以至于修改起来十分麻烦(一个小插曲,前两天跟一个同学语音讨论一些问题,他说CosmoMC的作者招了一帮劳力,专门来写和维护代码。。。我忽然意识到为吗现在的版本代码写得如此清晰了。。。AL本人写的早期版本看起来实在是累人!)。
我最近也在做一些拟合的工作,但是不太愿意去修改CosmoMC,除了程序过于复杂之外,也对Fortran有点不是那么喜欢,总感觉乱乱的。于是乎我自己动手写了一个做MC的程序,效率上其实还远胜CosmoMC,这得益于我使用的算法(EMCEE)实在是强大,而CosmoMC还是以经典的Metropolis-Hanstings为主。说到这里,不得不提另外另个主要的算法:MultiNest和Hamiltian MC,MN在计算贝叶斯因子方面十分NB,而HMC,借鉴了哈密顿运动方程的思想,使得MC采样时的随机行走的acceptence大为提高(这是MH的一个诟病)。
现在问题来了,手上有高效率的MC程序了,跑完模拟以后,就是对这些采样进行处理,提取参数的分布信息了。CosmoMC提供了一个程序GetDist,可以很方便地做这件事情。但是最近发现,GetDist其中的一些核心算法,尤其是在寻找置信区间这一块,跟我想的不太一样。
今天仔细看了如下一段代码,发现CosmoMC/GetDist里对置信区间的定义是这样的:比如现在需要确定68%的置信区
间,那么区间的上下界分别是这样确定的
上限:样本中满足(X>Upper)的样本(数目)之和为总样本的(1-68%)/2
下限:样本中满足(X<Lower)的样本(数目)之和为总样本的(1-68%)/2
笔记:CosmoMC中的GetDist中的一段代码,寻找置信区间 - Dreamer - Do Things Right
 (这是两个截图,中间有重叠的地方)
笔记:CosmoMC中的GetDist中的一段代码,寻找置信区间 - Dreamer - Do Things Right
 这其中没有提及最佳拟合位置或者拟合值,也就是后验概率最大的那个位置。
我的理解是,应该首先找出最佳拟合的位置,然后上下限的位置,比如这里的68%的置信区间,应该是满足这样一个条件的:从下限到最佳拟合值的位置对概率密度函数积分,得到34%的概率,从最佳拟合的位置往上限积分,也得到这个数34%。于是我就有点纠结了。。。
  评论这张
 
阅读(326)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017