【问题标题】:Using the 1st random number to chose the initial state, X0, at random使用第一个随机数随机选择初始状态 X0
【发布时间】:2018-04-06 23:16:32
【问题描述】:

我有这个概率问题:

在任何一天,埃里克要么是快乐的 (C),要么是马马虎虎的 (S),要么是闷闷不乐的 (G)。

如果他今天很高兴,那么他明天会是 C、S 或 G,概率分别为 0.5、0.3、0.2。

如果他今天感觉一般,那么明天他将是 C、S 或 G,概率为 0.3、0.4、0.3。

如果他今天闷闷不乐,那么他明天会是 C、S 或 G,概率为 0.2、0.2、0.6。

我在 R 中生成了 50,000 个独立的伪随机数(统一),并打印了前 40 个。现在,我如何使用第一个随机数随机选择初始状态 X0(1/3 概率为 每个州)?我知道这相当于生成一个离散随机变量,但我仍然感到困惑。

【问题讨论】:

  • 你生成的50000个随机数的范围是多少?

标签: random probability uniform


【解决方案1】:

我假设您的随机数是 0 到 1 范围内的浮点数。如果是这样,很容易得到一个 0 到 n - 1 范围内的整数:只需将每个数字除以 1/n 并发言(即整数部分)。

如果 1 是输入的可能值,您将从 floor(1/(1/n)) 得到 n。如果这是一个问题,只需将其丢弃并生成另一个随机数。

【讨论】:

    【解决方案2】:

    我知道这相当于生成一个离散随机变量,但我还是一头雾水。

    不完全

    您可以直接从 U(0,1) 生成状态,而无需进行离散采样。请将状态更改为您想在代码中使用的任何内容(整数?某些因素?)

    initial_state <- function(r) {
        state <- "G"
        if (r < 1.0/3.0) {
            state <- "C"
        }
        else {
            if (r < 2.0/3.0)
                state <- "S"
        }
        state
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 2012-10-22
      • 1970-01-01
      相关资源
      最近更新 更多