我有一些数据:norm = the actual price
和norm2 = estimated price
。实际价格是某人提供出售物品的价格。我运行了蒙特卡罗模拟,得出了100个估计价格。然后,我将它们绘制在下面的直方图中。
橙子线表示实际(发行)价格,中间的点划线表示模型中100个估计价格的平均值,两边的两条线是1标准差线。
我知道,将有68%的机会,该产品将出售的价格之间的2个标准差线。因此,我可以说,在这种特殊情况下,购买这种产品将有超过68%的可能性获利(因为橙子线低于1标准差线)。
我想计算这个产品盈利的总体概率(即大于橙子线的所有值)。
R代码:
library(ggplot2)
library(tidyverse)
normalDist = data.frame(
norm = rnorm(1000, mean = 1, sd = 2),
norm2 = rnorm(1000, mean = 0.9, sd = 2)
)
mean = mean(normalDist$norm)
sd = sd(normalDist$norm)
norm2 = normalDist$norm2 %>% sample(1)
normalDist %>%
ggplot() +
geom_histogram(aes(x = norm), bins = 20, fill = "skyblue", color = "black") +
geom_vline(xintercept = c(norm2, mean, mean - sd, mean + sd),
linetype = c("solid", "dotdash", "longdash", "longdash"),
size = c(2, 1, 1, 1),
color = c("darkorange", "darkgreen", "darkred", "darkred")) +
theme_bw()
1条答案
按热度按时间w41d8nur1#
@GregorThomas(在评论中)显然是正确的,如果分布是正态的。然而,如果已知分布是正态分布(或任何特定的函数形式),那么进行模拟的意义何在?如果您的模拟更一般,并且生成的分布形式未知,只需计算表达式
norm2 > normalDist$norm
的平均值。下面是模拟中的分析概率和估计概率的示例:创建于2023-09-27带有reprex v2.0.2