Math 从Fisher分布中提取随机值
在我的研究中,我正在生成离散平面,用于表示岩石中的裂缝。断裂面的方向由其倾角和倾角方向确定。知道了这一点,我也知道每个平面的法向量的分量 到目前为止,我一直在独立于正态分布绘制倾角和倾角方向。这是可以的,但我想添加从Fisher分布中提取的功能 描述了fisher分布 基本上,我希望能够指定平均倾角和倾角方向(或平均向量)以及“fisher常数”或分散因子k,并从该方向分布中随机抽取值。 附加信息:看起来“冯·米塞斯·费舍尔分布”要么与我所说的“费舍尔分布”相同,要么有某种关联。有关Von Mises Fisher分布的一些信息: 正如你所看到的,我做了一些调查,但我承认我不完全理解数学。我觉得我很接近,但我还没完全明白。。。非常感谢您的帮助Math 从Fisher分布中提取随机值,math,statistics,geometry,fortran,computational-geometry,Math,Statistics,Geometry,Fortran,Computational Geometry,在我的研究中,我正在生成离散平面,用于表示岩石中的裂缝。断裂面的方向由其倾角和倾角方向确定。知道了这一点,我也知道每个平面的法向量的分量 到目前为止,我一直在独立于正态分布绘制倾角和倾角方向。这是可以的,但我想添加从Fisher分布中提取的功能 描述了fisher分布 基本上,我希望能够指定平均倾角和倾角方向(或平均向量)以及“fisher常数”或分散因子k,并从该方向分布中随机抽取值。 附加信息:看起来“冯·米塞斯·费舍尔分布”要么与我所说的“费舍尔分布”相同,要么有某种关联。有关Von M
如果有帮助的话,我的程序是用FORTRAN编写的。我想你可以手工计算
- 积分Fisher分布的密度函数,得到累积分布函数 F(θ)=exp(K cos(θ))/(exp(K)-exp(-K))
- 下一步是求逆累积分布函数F^(-1)(y)。此功能实现 F(θ)=yf^(-1)(y)=θ
- 我想你会得到以下信息 F^(-1)(y)=arccos(对数((exp(k)-exp(-k))*y)/k)
- 绘制y1、y2、y3、y4。。。从区间[0,1]上的均匀分布
- 现在,数字F^(-1)(y1)、F^(-1)(y2)、F^(-1)(y3)、F^(-1)(y4)将根据Fisher分布进行分布
- 积分Fisher分布的密度函数,得到累积分布函数 F(θ)=exp(K cos(θ))/(exp(K)-exp(-K))
- 下一步是求逆累积分布函数F^(-1)(y)。此功能实现 F(θ)=yf^(-1)(y)=θ
- 我想你会得到以下信息 F^(-1)(y)=arccos(对数((exp(k)-exp(-k))*y)/k)
- 绘制y1、y2、y3、y4。。。从区间[0,1]上的均匀分布
- 现在,数字F^(-1)(y1)、F^(-1)(y2)、F^(-1)(y3)、F^(-1)(y4)将根据Fisher分布进行分布
lambda = exp (-2.0 * kappa)
term1 = get_uniform_random () * (1.0 - lambda) + lambda
CoLat = 2.0 * asin ( sqrt ( -log (term1) / (2.0 * kappa) ) )
Long = 2.0 * PI * get_uniform_random ()
该算法在N.I.Fisher、T.Lewis和B.J.Embleton的“球面数据的统计分析”第59页。我强烈推荐那本书--它将帮助你理解数学 以下将产生以北极为中心的随机Fisher分布位置。如果希望它们随机居中,则可以在球体上生成其他均匀随机位置,并将这些位置旋转到这些位置的中心。如果您不确定这些步骤,请参阅上述书籍。此Fortran代码片段使用随机数生成器,生成从0到1的均匀偏差
lambda = exp (-2.0 * kappa)
term1 = get_uniform_random () * (1.0 - lambda) + lambda
CoLat = 2.0 * asin ( sqrt ( -log (term1) / (2.0 * kappa) ) )
Long = 2.0 * PI * get_uniform_random ()
许多关于取样的问题已经出现在网站上。短版本:反转CDF或拒绝。现有问题:。这些都不是用Fortran语言编写的,但数学计算总是一样的。请看一下这两个关于方向数据的参考。《圆形数据的统计分析》,剑桥大学出版社,1993年。ISBN 0-521-35018-2美国新泽西州费希尔市,路易斯安那州,恩布尔顿市。《球面数据的统计分析》,剑桥大学出版社,1993年。ISBN 0-521-45699-1我想有一件事我不明白:在我提供的链接中,分布是以θ为单位的。所以基本上分布是一维的,所以我不太明白它在3D中是如何工作的?例如,我可以模拟一些θ值,但这会指定一个围绕平均向量的环,而不是一个实际点。对不起,问题的Fortran部分在哪里?这似乎是一个“为我做家庭作业”(虽然家庭作业可能比我们这里的平均作业更有趣)类型的问题。顺便说一句,Fisher分布特别是三维的,但von Mises Fisher分布被推广到任意数量的维度。许多关于抽样的问题已经在网站上了。短版本:反转CDF或拒绝。现有问题:。这些都不是用Fortran语言编写的,但数学计算总是一样的。请看一下这两个关于方向数据的参考。《圆形数据的统计分析》,剑桥大学出版社,1993年。ISBN 0-521-35018-2美国新泽西州费希尔市,路易斯安那州,恩布尔顿市。《球面数据的统计分析》,剑桥大学出版社,1993年。ISBN 0-521-45699-1我想有一件事我不明白:在我提供的链接中,分布是以θ为单位的。所以基本上分布是一维的,所以我不太明白它在3D中是如何工作的?例如,我可以模拟一些θ值,但这会指定一个围绕平均向量的环,而不是一个实际点。对不起,问题的Fortran部分在哪里?这