Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对数logistic和Burr分布的随机数生成_R_Random_Netlogo_Distribution - Fatal编程技术网

对数logistic和Burr分布的随机数生成

对数logistic和Burr分布的随机数生成,r,random,netlogo,distribution,R,Random,Netlogo,Distribution,我试图从真实数据生成分布。我使用R包tdistrplus来获得分布的参数。R包的分布为:帕累托分布、对数正态分布、对数逻辑分布和布尔分布。但是,我在NetLogo中找不到这些发行版。我需要为它们编写一个函数。我已经在其他论坛上找到了帕累托分布和对数正态分布: ;; Pareto distribution (Pareto from R package: tdistrplus) to-report random-pareto [alpha mm] report mm / ( random-float

我试图从真实数据生成分布。我使用R包tdistrplus来获得分布的参数。R包的分布为:帕累托分布、对数正态分布、对数逻辑分布和布尔分布。但是,我在NetLogo中找不到这些发行版。我需要为它们编写一个函数。我已经在其他论坛上找到了帕累托分布和对数正态分布:

;; Pareto distribution (Pareto from R package: tdistrplus)
to-report random-pareto [alpha mm]
report mm / ( random-float 1 ^ (1 / alpha) )
end

;; lognormal distribution (lnorm from R package: tdistrplus)
to-report log-normal [mu sigma]
let beta ln (1 + ((sigma ^ 2) / (mu ^ 2)))
let x exp (random-normal (ln (mu) – (beta / 2)) sqrt beta)
report x
end
但是,我找不到对数logistic分布和Burr分布完整函数或随机数表达式,只有概率密度函数,我不知道如何从中表达X(Matchad找不到解决方案,或者我使用的方法不正确)

如有任何建议,我将不胜感激(我的博士论文需要基于真实数据进行模拟)


感谢您在高级

Wrt日志物流中,反向CDF方法应该可以很好地工作。依照公约

我很快研究了毛刺的取样——也可以通过反向CDF进行。跟随

更新

我的NetLogo很久以前就被使用过,所以让我们写一些公式,你可以重写代码

原木物流

CDF(x |α,β)=(x/α)β/(1+(x/α)β)

反向CDF表示样本
x
使用

x=CDF-1(r),其中
r
为随机均匀U(0,1)

因此,(x/α)β=q=r/(1-r),和 x=αq1/β

毛刺

CDF(x | c,k)=1-(1+xc)-k

反向CDF表示样本
x
使用

x=CDF-1(r),其中
r
为随机均匀U(0,1)

(1+xc)-k=r

(1+xc)=(1/r)1/k

x=((1/r)1/k-1)1/c


请检查我的数学,代码中所有的幂都是通过
exp
ln
表示的。约定是根据wiki而定的

您具体想要什么?从R?中的分布生成随机数据?我想通过使用真实数据拟合的分布来模拟需求变化,在NetLogo中对供应链进行建模。在R中,我使用包装tdistrplus获得了毛刺和原木物流分布的系数。我想在NetLogo中输入这些系数来模拟我的真实数据。但是,我不知道Burr和Log logistics在Netlogo中生成随机数据的功能,因为它们是内置的。例如,R的输出:burr(shape1=0.9283009,shape2=2.3864253,rate=1.0484444)log logistics(2.3224812=0.559 4916,scale=0.9898947)使用burr和log logistics Distributions在NetLogo中生成随机数据我没有使用NetLogo。你能用R做所有的事情吗?是的,这是可能的,但NetLogo更方便用户,更适合模拟。非常感谢你的帮助我还有一个问题。随机浮点需要一个输入,一个数字。我应该设置什么?我认为这很重要,因为有时我会在burr分布中不断得到一个错误,指出“不能取-0.008的对数。”@ValentasGruzauskas抱歉,很久以前曾经使用过NetLogo。应该是
随机浮点1
。感谢您的更正。你为我的模拟带来了巨大的附加值。谢谢:)谢谢你的帮助和解释,需要更新我的数学知识:)
to-report random-loglogistics [alpha beta]
    let r random-float 1
    let q r/(1-r)
    let x alpha exp (ln (q) / beta)
    report x
end
to-report random-burr [c k]
    let r random-float 1
    let q exp ( - ln(r) / k) - 1
    let x exp ( ln(q) / c )
    report x
end