道具表()和;dnorm()
有人能解释为什么以下两个图产生不同的结果:道具表()和;dnorm(),r,R,有人能解释为什么以下两个图产生不同的结果: prop.table(table(S))[其中'S'是随机变量…在本例中表示轮盘赌结果] dnorm([在S范围内的值列表]、平均值、标准差) 以下是我的代码片段: 随机变量的频率图 绘图(属性表),xlab=“净利润”,ylab=“概率”,type=“h”) 基数概率密度不是概率。它是某事物每单位的概率 你的样本S只能被2整除,因为结果是-1或1。当你制表时,你会注意到这一点。然后prop.table返回这些值的比例或概率(-2,0,2,4,6,…)
绘图(属性表),xlab=“净利润”,ylab=“概率”,type=“h”)
基数概率密度不是概率。它是某事物每单位的概率
你的样本S只能被2整除,因为结果是-1或1。当你制表时,你会注意到这一点。然后prop.table
返回这些值的比例或概率(-2,0,2,4,6,…)。这些是离散值,不是连续值
dnorm
返回给定正态分布的密度。因此,如果您想使用dnorm
模拟概率,则需要将其乘以每单位。在本例中,2-直方图条的宽度
pdf2 = data.frame(profit = base, probability = dnorm(base,avg,sd) * 2)
lines(pdf2, col="blue", lwd=2)
如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易为您提供帮助。但我认为你可能会混淆预期/观察到的概率,混淆离散和连续随机变量,这两个问题实际上都是统计学问题,而不是编程问题。关于统计数据的问题应该在上而不是堆栈溢出。连续分布的密度(由dnorm计算)不是比例或概率,因此您不会期望它们与离散分布的比例匹配。@Flick先生,感谢您为我指出了一个适当的platform@GeorgeSavva,你是说dnorm给了我这个值的“概率密度”吗?这不是真正的概率?那么,为了得到概率,我应该怎么做<代码>pnorm(x+Δx,平均值,sd)-pnorm(x,平均值,sd)
密度不是概率。你必须把密度乘以某个值。要使其等于属性表中的概率
,请找到S(您的样本)的箱子宽度。在你的情况下,它是2。所以prob=density*2。谢谢你的解释。特别是关于箱子尺寸的:D
set.seed(1)
plays <- 1000
B <- 10000
#Monte Carlo Sim for Roulette Wheel
S <- replicate(B,{ # S because Random Variable
sum(sample(c(-1,1), plays, replace = TRUE, prob = c(18/38,20/38)))
# -1 -> Casino loose bet ; 1 -> Casino win bet
})
avg = mean(S); sd = sd(S)
# Frequency Plot of Random Variable of R. Wheel outcome
plot(prop.table(table(S)), xlab = "Net Profit", ylab = "Probability", type = "h")
base <- seq(min(S),max(S),length = B)
pdf = data.frame(profit = base, probability = dnorm(base,avg,sd))
lines(pdf)
pdf2 = data.frame(profit = base, probability = dnorm(base,avg,sd) * 2)
lines(pdf2, col="blue", lwd=2)