我在正在做一个模型的敏感度分析。现在学用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
 不管怎么调试都是一样,希望大侠帮忙