【问题标题】:Generating Pareto observations using the inverse cumulative distribution使用逆累积分布生成 Pareto 观测值
【发布时间】:2018-03-26 13:43:09
【问题描述】:

我目前正在处理一项任务,在该任务中,您必须使用帕累托分布的逆累积函数生成帕累托观测值。我以前从未设法真正反转统计函数,而且我似乎无法正确地做到这一点。我理解公式 X=F^1(U),其中 X 是帕累托分布随机变量,U 是标准均匀随机变量,对于生成观察很重要,但我不知道如何计算反函数。

我希望对如何解决这个问题有所了解。

【问题讨论】:

  • 我投票结束这个问题,因为它与编程无关。

标签: distribution inverse uniform-distribution


【解决方案1】:
  • 写下 F(X) 的公式。
  • 在公式右侧写上“= U”。
  • 使用代数将方程左侧的单个值 X 分离出来,即求解 X 作为 U 的函数。

得到的方程是反演公式。现在通过插入几个 U 值进行“健全性检查”:0 获得最小值,1 获得最大值,0.5 获得中值。

示例:A Uniform(a, b) 对于 a ≤ x ≤ b 具有 CDF F(x) = (x - a) / (b - a),并且具有最小值 a、最大值 b 和中值 (a + b) / 2。

  • F(X) = (X - a) / (b - a)
  • (X - a) / (b - a) = U
  • X - a = (b - a) U
  • X = a + (b - a) U

测试用例:

  • U = 0 => a + (b - a) 0 = a
  • U = 1 => a + (b - a) 1 = a + b - a = b
  • U = 0.5 => a + (b - a) / 2 = (2a + b - a) / 2 = (a + b) / 2

实现(在 Ruby 中,因为您没有指定语言):

def uniform(a, b)
  return a + (b - a) * rand        # rand with no arguments returns a U(0,1)
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多