首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制R中的后验分布

绘制R中的后验分布
EN

Stack Overflow用户
提问于 2017-07-29 15:33:09
回答 1查看 10K关注 0票数 0

我想计算一个具有共轭先验的后验密度图

我有已知参数的数据(mean =30,sd =10)

我有两个先验,一个是正态分布,参数已知(均值=10,sd=5),另一个是t分布,均值和标准差相同,但自由度为4

我想要一个带有先验,数据和后验密度图的图表。

你能帮我解决这个问题的r代码吗?

另外,到目前为止,我的opinion..Here代码中的后验概率密度函数是错误的

代码语言:javascript
复制
x=seq(from=-90, to=90, by= 1)
data=dnorm(x,mean=30,sd =10)
prior = dnorm(x,mean=10,sd =5)
posterior = dnorm(x,mean=10,sd =5)*dnorm(x,mean=30,sd =10) # prior* data  #Prior*data

plot(x,data , type="l", col="blue")
lines(x,prior, type="l", col="red")
lines(x,posterior , type="l", col="green")
EN

回答 1

Stack Overflow用户

发布于 2017-07-29 17:50:17

您需要将这两个分布相加,而不是相乘。我在下面附加一个示例,它在两个分布之间使用相同的权重:

代码语言:javascript
复制
x <- seq(from = -90, to = 90, by = 1)
data <- dnorm(x, mean = 30, sd = 10)
prior <- dnorm(x, mean = 10, sd = 5)
posterior <- 0.5 * dnorm(x, mean = 10, sd = 5) + 0.5 * dnorm(x, mean = 30, sd = 10)

plot(x, prior, type = "l", col = "red")
lines(x, posterior, type = "l", col = "green")
lines(x, data , type = "l", col = "blue")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45386676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档