全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
9073 2
2007-09-03

我在正在做一个模型的敏感度分析。现在学用R里面新出的一个叫sensitivity的package。

我选择了fast function做SA。结果发现我的模型只run了一遍就停止了,而且得出来的sensitivity indices都是一样的值。不知道是哪里处了问题。

是不是fast程序所分析的模型里不能带有"rnorm", "mean", 或"for"呢?

以下是我的模型和结果。请各位高人看一看~~拜谢~~再谢

a<-function(x){
n=200000

x1<-0.00101
x5<-(1:n)

v1=0.1
v2=999
v3=0.9

cv1=0.2
cv2=0.1
cv3=0.05

for (i in 1:n){
v51<-rnorm(1,mean=(1+x[,1])*v1,sd=(1+x[,1])*v1*cv1)##0.1
v52<-rnorm(1,mean=(1+x[,2])*v2,sd=(1+x[,2])*v2*cv2)##999
v53<-rnorm(1,mean=(1+x[,3])*v3,sd=(1+x[,3])*v3*cv3)##0.9

x5<-x1*v51/(v51+v52+v53)}

x5a<-sum(x5)

y<-x5a/n}

然后我用:
sa<-fast(model=a,factors=3,n=1000)

结果是:
> sa
FOURIER AMPLITUDE SENSITIVITY TEST
Call:
fast.saltelli99(model = model, factors = factors, n = n, M = M, omega = omega, q = q, q.arg = q.arg)
Model runs: 1
Estimations of the indices:
first order total order
X1 2.350666e-05 0.3850583
X2 2.350666e-05 0.3850583
X3 2.350666e-05 0.3850583

不管怎么调试都是一样,希望大侠帮忙

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-4-18 10:49:00
不是吧,2007-9-3就开始做敏感分析啦,我现在才知道。~~~~(&gt;_&lt;)~~~~ ,我还不知道怎么计算呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-28 21:56:42

这个包里面fast function 用的是 fast99

# Test case : the non-monotonicIshigami function

x <- fast99(model = ishigami.fun,factors = 3, n = 1000,

q = "qunif", q.arg =list(min = -pi, max = pi))

print(x)

plot(x)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群