我有以下图表:

r - R中的指数分布模拟-LMLPHP

我被告知以下信息:

(1)顶点A到顶点X由λ=4的指数分布描述;

(2)顶点A到顶点Y用λ=2.5的指数分布描述;

(3) 顶点X到顶点Y与顶点Y到顶点X相同,并且用λ=10的指数分布描述;

(4) 顶点X到顶点B由λ=3的指数分布描述;最后,

(5) 顶点 Y 到顶点 B 由 lambda = 5 的指数分布描述。

让我们假设每次模拟我都在顶点之间走最快的路径。

我现在想知道从顶点 A 到顶点 B 所需的平均时间。

我的R代码如下:

# Generate/simulate 1000 random numbers for each of the internode paths.

            AtoX <- rexp(1000, 4)
            AtoY <- rexp(1000, 2.5)
            XtoY <- rexp(1000, 10)
            XtoB <- rexp(1000, 3)
            YtoB <- rexp(1000, 5)

    # Length of path from A to X to Y and A to Y to X.

            AYX = AtoY + XtoY
            AXY = AtoX + XtoY

    # Total time of paths from A to B.

            AXB = AtoX + XtoB
            AYB = AtoY + YtoB
            AXYB = AtoX + XtoY + YtoB
            AYXB = AtoY + XtoY + XtoB

    # Taking the fastest path of all paths.

            minAXB = min(AXB)
            minAYB = min(AYB)
            minAXYB = min(AXYB)
            minAYXB = min(AYXB)

    # Taking an average of the fastest paths.

            averageTravelTime =
              mean(minAXB + minAYB + minAXYB + minAYXB)

这看起来正确吗?如果人们可以花时间查看我的代码以解决此问题,我将不胜感激。

最佳答案

  • 这取决于解释,但我会说你需要分别模拟从 X 到 Y 和从 Y 到 X 的时间,尽管速率相同。如果一列火车双向行驶并且平均速度相同,这并不意味着从 X 和 Y 出发的两列火车将同时到达另一点。
  • 您没有使用
    AYX <- AtoY + XtoY
    AXY <- AtoX + XtoY
    

    所以它们是多余的。
  • 编写 minAXB <- min(AXB) 没有任何意义。您为每条边模拟 1000 次旅行时间,AXB 是路线 AXB 1000 次的向量,现在您选择的是整个时间最短的一次。
  • 类似地,averageTravelTime 没有意义,因为 minAXB + minAYB + minAXYB + minAYXB 只是一个数字,而不是一个向量。

  • 因此,我认为代码应该是
    set.seed(1)
    AtoX <- rexp(1000, 4)
    AtoY <- rexp(1000, 2.5)
    XtoY <- rexp(1000, 10)
    YtoX <- rexp(1000, 10) # added
    XtoB <- rexp(1000, 3)
    YtoB <- rexp(1000, 5)
    
    AXB <- AtoX + XtoB
    AYB <- AtoY + YtoB
    AXYB <- AtoX + XtoY + YtoB
    AYXB <- AtoY + YtoX + XtoB # changed XtoY to YtoX
    
    TravelTimes <- pmin(AXB, AYB, AXYB, AYXB)
    averageTravelTime <- mean(TravelTimes)
    

    请参阅 ?pmin 。对于每一天,它选择最快的旅行时间并返回一个长度为 1000 的向量。

    作为奖励,以下显示了哪条路线最快的次数
    table(apply(cbind(AXB, AYB, AXYB, AYXB), 1, which.min))
    #   1   2   3   4
    # 317 370 240  73
    

    关于r - R中的指数分布模拟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49382539/

    10-12 17:55