Agri521'Blog分享 http://blog.sciencenet.cn/u/agri521 研究方向:作物模型、统计计算

博文

蒙特卡洛应用的一个小例子

已有 13491 次阅读 2010-7-7 14:08 |个人分类:统计计算|系统分类:科研笔记| R语言, 蒙特卡洛

在2006年,看到一篇文献中介绍,使用蒙特卡洛方法与模型结合进行品种(株型)设计。我就开始注意这种方法。今天我使用一个小例子说明一下这种方 法究竟是个什么东东。

蒙特卡洛方法也称为随机模拟方法或统 计试验方法,它的基本思想是,为了判别预测对象的未来发展,首先建立一个概率模型或随机过程,使它的参数等于问题的解,然后通过对模型,或过程的观察抽样 试验,来计算所求参数的统计特征, 最后给出所求解的近似值。

摘自 应用蒙特卡洛方法对黑龙江创业农场水稻单产变化的预测, 生物数学学报, 2003

我们使用蒙特卡洛方法估算一下油田的可采储量。

第一步:分析影响因子,获取估算模型。

第二步:分析估算模型参数的分布类型及取值范围。

第三步:借助工具,实现随机抽样,对模型求解。

在这里我们使用的是R语言,你也可以使用SAS语言,Matlab等,也可以使用Excel或蒙特卡洛专用软件。

##加载软件包
require(Runuran)

##含油面积 A 均匀分布
A <- runif(5000,min=1500,max=3000)
##水饱和度Swi 均匀分布
Swi <- runif(5000,min=0.15,max=0.25)
##原油体积系数Boi 均匀分布
Boi <- runif(5000,min=1.1,max=1.3)
##孔隙度(%)phi 三角分布
phi <- urtriang(n=5000,a=0.13,m=0.20,b=0.26,lb=0.13,ub=0.26)
##采收率RF 三角分布
RF <- urtriang(n=5000,a=0.3,b=0.45,m=0.4,lb=0.3,ub=0.45)
##油层厚度h 三角分布
h <- urtriang(n=5000,a=50,b=130,m=100,lb=50,ub=130)
## 容积法估算可采储量
Np <- 7758*A*h*phi*(1-Swi)*RF/Boi

第四步:对模型结果进行统计分析

注:在R语言中,我找到三个三角分布随机数生成函数,分别在软件包CircStats、Runuran和mc2d中。
require(CircStats)
rtri(n,r)
require(Runuran)
urtriang(n=,a=,b=,m=,lb=a,ub=b)
require(mc2d)
triangular(n,min=,mod=,max=)
install.packages(“mc2d”)

本例选自:刘清志,马二领。用Excel实现油气可采储量估算的蒙特卡洛模拟分析,技术经济,2009,28(9):63-87



https://blog.sciencenet.cn/blog-81938-341900.html


下一篇:AquaCrop和ETo Calculator 简体中文版
收藏 IP: .*| 热度|

1 黄富强

发表评论 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-1 23:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部