【问题标题】:Normal distribution in OracleOracle 中的正态分布
【发布时间】:2015-10-12 12:36:40
【问题描述】:

我想在 PL/SQL - Oracle 中生成正态分布。我知道我们可以通过 dbms_random 生成这种分布,但我想指定正态函数的参数(区间、均值、标准差)。

有没有一种简单的方法来生成这个分布,或者我应该编写自己的函数?

谢谢

【问题讨论】:

标签: sql oracle random plsql normal-distribution


【解决方案1】:

如果您想从任意正态分布生成数字,只有两个参数有意义,即均值和标准差。除非您想生成截断分布,否则我不确定您要指定什么“间隔”。

给定一个来自标准正态分布的数字(平均值为 0,标准差为 1,这是 dbms_random.normal 返回的值),将其转换为任意正态分布非常简单。只需乘以您想要的标准偏差并添加您想要的平均值。如果你想通过截断特别高或特别低的值来使分布不正常,你也可以这样做。

【讨论】:

  • 确实,我们的目标是产生一个截断的分布。感谢您的帮助,它为我节省了很多时间,
  • 请注意,有两种截断方法,它们会产生完全不同的结果。一种是将超出截断限制的任何值置于该限制,从而导致该值出现峰值。另一种方法是不断重试,直到你得到限制内的东西,这会将截断部分的质量分布在整个限制内部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 2011-06-07
  • 1970-01-01
相关资源
最近更新 更多