R中的重要性抽样
我是统计学的初学者,目前正在学习重要性抽样。我在这里搜索过类似的问题,但仍然无法解决我的问题 如果我需要评估目标分布的R中的重要性抽样,r,R,我是统计学的初学者,目前正在学习重要性抽样。我在这里搜索过类似的问题,但仍然无法解决我的问题 如果我需要评估目标分布的E(x) f(x)=2 * x * exp(-x^2), x>0 通过使用重要性抽样,我得到了一个建议分布 g(x)=exp(-x) 然后 我的R代码是这样的 x=rexp(1000) w=4*x^2 y=exp(-w) mean(y) 我做得对吗? 非常感谢你的帮助 它只是加权样本平均值 非加权样本平均值平均值(x)给出建议密度的期望值;而加权样本平均值平均值(w
E(x)
f(x)=2 * x * exp(-x^2), x>0
通过使用重要性抽样,我得到了一个建议分布
g(x)=exp(-x)
然后
我的R代码是这样的
x=rexp(1000)
w=4*x^2
y=exp(-w)
mean(y)
我做得对吗?
非常感谢你的帮助 它只是加权样本平均值
非加权样本平均值
平均值(x)
给出建议密度的期望值;而加权样本平均值平均值(w*x)
给出了目标密度的期望值。但是你用错了重量。我认为正确的方法是w它只是加权样本平均值
非加权样本平均值平均值(x)
给出建议密度的期望值;而加权样本平均值平均值(w*x)
给出了目标密度的期望值。但是你用错了重量。我认为正确的方法是w我认为您可能希望这样做:
x<-rexp(n=1000,r=1)
fx<-function(x){
return(x^2*exp(-(x^2)))
}
gx<-function(x){
return(exp(-x))
}
Ex=mean(x*fx(x)/gx(x))
x我想你可能想做这样的事情:
x<-rexp(n=1000,r=1)
fx<-function(x){
return(x^2*exp(-(x^2)))
}
gx<-function(x){
return(exp(-x))
}
Ex=mean(x*fx(x)/gx(x))
我想你首先需要理论上的建议。这个论坛是为那些知道需要算法步骤的人而设的。看起来你还没有完全做到。雪人认为你首先需要理论上的建议。这个论坛是为那些知道需要算法步骤的人而设的。你似乎不太清楚。是的,在这个例子中,x函数的选择会随着密度函数的使用而变化吗?如果是,我们如何确定?如果fx和gx是不同的函数,我们将如何选择x函数或均匀函数的变换?在本例中,x函数的选择是否随使用的密度函数而变化?如果是,我们如何确定?如果fx和gx是不同的函数,我们将如何选择x函数或一致函数的变换?
mean(w)
[1] 1.036482
mean(w * x) / mean(w)
[1] 0.9050671
x<-rexp(n=1000,r=1)
fx<-function(x){
return(x^2*exp(-(x^2)))
}
gx<-function(x){
return(exp(-x))
}
Ex=mean(x*fx(x)/gx(x))