实验性贝叶斯浮游有孔虫校准,蟒蛇。
bayfox的Python项目详细描述
贝福克斯
实验性贝叶斯浮游有孔虫校准,Python。
请注意,此包当前正在开发中。它会吃掉你的宠物仓鼠。
快速示例
首先,加载密钥包和示例数据集:
import numpy as np
import bayfox as bfox
example_file = bfox.get_example_data('VM21-30.csv')
d = np.genfromtxt(example_file, delimiter=',', names=True, missing_values='NA')
此数据(来自Koutavas and Joanides 2012) 有三列给出了{em1}$g.ruber(白色)的岩芯深度、沉积年龄(日历年bp)和δ18o(‰;vpdb)。 核心点位于赤道东太平洋。
我们可以用predict_seatemp()
:
prediction = bfox.predict_seatemp(d['d18O_ruber'], d18osw=0.239, prior_mean=24.9, prior_std=7.81)
我们用于prior的值大致基于我们在g.ruber沉积物中看到的sst的范围。
核心在现代,虽然先前的标准差是现代的两倍
记录。让我们使用场地附近现代海水的δ18o(‰;vsmow)。为了简单起见,我们假设它是常数。
我们还没有纠正全球冰量变化的代理,所以这些数字将被关闭。理想情况下我们会
预测前对δ18oc序列的校正。见
^{
若要从预测中查看实际数字,请直接解析prediction.ensemble
,或使用prediction.percentile()
获取
5%,50%和95%的百分比。你也可以用bfox.predictplot(prediction)
绘制你的预测图。
这使用了集合贝叶斯校准模型,该模型在年度SST上进行校准。我们可以考虑一下 可变性:
prediction = bfox.predict_seatemp(d['d18O_ruber'], d18osw=0.239, prior_mean=24.9, prior_std=7.81,
foram='G. ruber')
它使用了我们在年度SST上校准的分层模型。我们还可以通过以下方法估计特定季节效应:
prediction = bfox.predict_seatemp(d['d18O_ruber'], d18osw=0.239, prior_mean=24.9, prior_std=7.81,
foram='G. ruber', seasonal_seatemp=True)
这使用了我们在季节性sst上校准的层次模型。如果使用此选项,请确保指定有孔虫。
您还可以使用类似的选项,使用predict_d18oc()
函数预测浮游方解石的δ18o。
安装
要使用pip安装bayfox,请运行:
pip install bayfox
要使用conda安装bayfox,请运行:
conda install -c sbmalev bayfox
bayfox与python 2不兼容。
支持和发展
- 请随时报告错误和问题,或查看github(https://github.com/brews/bayfox)上的源代码。
许可证
bayfox在开源gplv3(https://www.gnu.org/licenses)下可用。