gpt4 book ai didi

wolfram-mathematica - 数学 : NExpectation vs Expectation - inconsistent results

转载 作者:行者123 更新时间:2023-12-04 08:18:36 25 4
gpt4 key购买 nike

以下代码为 NExpectation 返回不同的值和 Expectation .
如果我为 NormalDistribution[] 尝试相同的方法我收到 NExpectation 的收敛错误(但最终结果仍然是 0 所有这些)。
导致问题的原因是什么?

U[x_] := If[x >= 0, Sqrt[x], -Sqrt[-x]]

N[Expectation[U[x], x \[Distributed] NormalDistribution[1, 1]]]

NExpectation[U[x], x \[Distributed] NormalDistribution[1, 1]]

输出:
    -0.104154
0.796449

最佳答案

我认为它实际上可能是一个 Integrate漏洞。

让我们定义你的

U[x_] := If[x >= 0, Sqrt[x], -Sqrt[-x]]

和等价物
V[x_] := Piecewise[{{Sqrt[x], x >= 0}, {-Sqrt[-x], x < 0}}]

等价于实数
FullSimplify[U[x] - V[x], x \[Element] Reals] (* Returns 0 *)

对于两者 UV ,解析 Expectation命令使用 Method选项 "Integrate"这可以通过运行看到
Table[Expectation[U[x], x \[Distributed] NormalDistribution[1, 1], 
Method -> m], {m, {"Integrate", "Moment", "Sum", "Quantile"}}]

因此,它真正在做的是积分
Integrate[U[x] PDF[NormalDistribution[1, 1], x], {x, -Infinity, Infinity}]

返回
(Sqrt[Pi] (BesselI[-(1/4), 1/4] - 3 BesselI[1/4, 1/4] + 
BesselI[3/4, 1/4] - BesselI[5/4, 1/4]))/(4 Sqrt[2] E^(1/4))
V的积分
Integrate[V[x] PDF[NormalDistribution[1, 1], x], {x, -Infinity, Infinity}]

给出相同的答案,但乘以因子 1 + I .这显然是一个错误。

数值积分使用 UV返回 0.796449 的预期值:
NIntegrate[U[x] PDF[NormalDistribution[1, 1], x], {x, -Infinity, Infinity}]

这大概是正确的解决方案。

编辑:原因 kguler's answer所有版本返回相同的值是因为 u[x_?NumericQ]定义阻止了解析积分的执行,因此 Expectation未评估并恢复使用 NExpectation当被问及它的数值时..

编辑 2:
把问题再分解一点,你会发现
In[1]:= N@Integrate[E^(-(1/2) (-1 + x)^2) Sqrt[x] , {x, 0, Infinity}]
NIntegrate[E^(-(1/2) (-1 + x)^2) Sqrt[x] , {x, 0, Infinity}]

Out[1]= 0. - 0.261075 I
Out[2]= 2.25748

In[3]:= N@Integrate[Sqrt[-x] E^(-(1/2) (-1 + x)^2) , {x, -Infinity, 0}]
NIntegrate[Sqrt[-x] E^(-(1/2) (-1 + x)^2) , {x, -Infinity, 0}]

Out[3]= 0.261075
Out[4]= 0.261075

在这两个范围内,被积函数都是实数,呈指数衰减的非振荡。不需要任何想象/复杂的结果。

最后请注意,上述结果适用于 Mathematica 8.0.3 版。
在版本 7 中,积分返回 1F1 超几何函数,解析结果与数值结果匹配。所以这个错误(目前也存在于 Wolfram|Alpha 中)是一个回归。

关于wolfram-mathematica - 数学 : NExpectation vs Expectation - inconsistent results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com