Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 同理,为什么两个随机变量的求和会产生难以捉摸的结果?_Python_Statistics_Sympy - Fatal编程技术网

Python 同理,为什么两个随机变量的求和会产生难以捉摸的结果?

Python 同理,为什么两个随机变量的求和会产生难以捉摸的结果?,python,statistics,sympy,Python,Statistics,Sympy,考虑到SymPy中2个高斯变量的总和: from sympy import * from sympy.stats import * init_printing() a = Normal('a', 0, Symbol('P', real=true)) b = Normal('b', 0, Symbol('Q', real=true)) ss = a + b pprint(simplify(density(ss))) 我希望结果是一个具有更多方差的高斯分布的PDF。相反,结果如下所示:

考虑到SymPy中2个高斯变量的总和:

from sympy import *
from sympy.stats import *

init_printing()

a = Normal('a', 0, Symbol('P', real=true))
b = Normal('b', 0, Symbol('Q', real=true))

ss = a + b

pprint(simplify(density(ss)))
我希望结果是一个具有更多方差的高斯分布的PDF。相反,结果如下所示:

    ⎧    ⎛               2  2                                                 
    ⎪    ⎜              z ⋅P                                                  
    ⎪    ⎜         ───────────────                                            
    ⎪    ⎜              ⎛  2     ⎞                                            
    ⎪    ⎜            4 ⎜ P     1⎟                                            
    ⎪    ⎜         4⋅Q ⋅⎜──── + ─⎟                                            
    ⎪    ⎜              ⎜   2   2⎟                                           2
    ⎪    ⎜              ⎝2⋅Q     ⎠    ⎛         z⋅P         ⎞               z 
    ⎪    ⎜  z⋅π⋅P⋅ℯ               ⋅erf⎜─────────────────────⎟          ───────
    ⎪    ⎜                            ⎜           __________⎟               ⎛ 
    ⎪    ⎜                            ⎜          ╱   2      ⎟             4 ⎜ 
    ⎪    ⎜                            ⎜   2     ╱   P     1 ⎟          4⋅Q ⋅⎜─
    ⎪    ⎜                            ⎜2⋅Q ⋅   ╱   ──── + ─ ⎟               ⎜ 
    ⎪    ⎜                            ⎜       ╱       2   2 ⎟               ⎝2
    ⎪    ⎜                            ⎝     ╲╱     2⋅Q      ⎠   z⋅π⋅P⋅ℯ       
    ⎪  Q⋅⎜- ───────────────────────────────────────────────── - ──────────────
    ⎪    ⎜                           __________                            ___
    ⎪    ⎜                          ╱   2                                 ╱   
    ⎪    ⎜                   2     ╱   P     1                     2     ╱   P
z ↦ ⎨    ⎜                2⋅Q ⋅   ╱   ──── + ─                  2⋅Q ⋅   ╱   ──
    ⎪    ⎜                       ╱       2   2                         ╱      
    ⎪    ⎝                     ╲╱     2⋅Q                            ╲╱     2⋅
    ⎪- ───────────────────────────────────────────────────────────────────────
    ⎪                                             3/2                         
    ⎪                                        2⋅z⋅π   ⋅P                       
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎪                                                                         
    ⎩                                                                         
... (426 lines in total)                                         

                         ⎞                                             ⎞
 ⎛      1          ⎞│   π⎟   │                 ⎛      1          ⎞│   π⎟
t⎜──────────────, ∞⎟│ < ─⎟ ∨ │periodic_argument⎜──────────────, ∞⎟│ < ─⎟
 ⎜          2      ⎟│   2⎟   │                 ⎜          2      ⎟│   2⎟
 ⎝polar_lift (P)   ⎠│    ⎠   │                 ⎝polar_lift (P)   ⎠│    ⎠
⎧    ⎛               2  2                                                 
⎪    ⎜              Z⋅P
⎪    ⎜         ───────────────                                            
⎪    ⎜              ⎛  2.⎞                                            
⎪    ⎜            4.⎜ P1⎟                                            
⎪    ⎜         4.⋅Q⋅⎜──── + ─⎟                                            
⎪    ⎜              ⎜   2   2⎟                                           2.
⎪    ⎜              ⎝2.⋅Q⎠    ⎛         Z⋅P⎞               Z
⎪    ⎜  Z⋅π⋅P⋅ℯ               ⋅erf⎜─────────────────────⎟          ───────
⎪    ⎜                            ⎜           __________⎟               ⎛ 
⎪    ⎜                            ⎜          ╱   2.⎟             4.⎜ 
⎪    ⎜                            ⎜   2.╱   P1⎟          4.⋅Q⋅⎜─
⎪    ⎜                            ⎜2.⋅Q⋅   ╱   ──── + ─ ⎟               ⎜ 
⎪    ⎜                            ⎜       ╱       2   2 ⎟               ⎝2.
⎪    ⎜                            ⎝     ╲╱     2.⋅Q⎠   Z⋅π⋅P⋅ℯ       
⎪  Q⋅⎜- ───────────────────────────────────────────────── - ──────────────
⎪    ⎜                           __________                            ___
⎪    ⎜                          ╱   2.╱   
⎪    ⎜                   2.╱   第12页╱   P
Z↦ ⎨    ⎜                2.⋅Q⋅   ╱   ──── + ─                  2.⋅Q⋅   ╱   ──
⎪    ⎜                       ╱       2   2                         ╱      
⎪    ⎝                     ╲╱     2.⋅Q╲╱     2.⋅
⎪- ───────────────────────────────────────────────────────────────────────
⎪                                             3/2                         
⎪                                        2.⋅Z⋅π   ⋅P
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎪                                                                         
⎩                                                                         
... (共426行)
⎞                                             ⎞
⎛      1.⎞│   π⎟   │                 ⎛      1.⎞│   π⎟
T⎜──────────────, ∞⎟│ < ─⎟ ∨ │周期自变量⎜──────────────, ∞⎟│ < ─⎟
⎜          2.⎟│   2.⎟   │                 ⎜          2.⎟│   2.⎟
⎝极轴升力(P)⎠│    ⎠   │                 ⎝极轴升力(P)⎠│    ⎠

为什么SymPy给出了这样一个奇怪的结果?我应该怎么做才能得到简洁的形式?

将第二个参数(标准偏差,“sigma”)声明为正:

a = Normal('a', 0, Symbol('P', positive=True))
b = Normal('b', 0, Symbol('Q', positive=True))
那么结果正如预期的那样:

               2     
             -z      
         ─────────── 
            2      2 
         2⋅P  + 2⋅Q  
     √2⋅ℯ            
z ↦ ─────────────────
            _________
           ╱  2    2 
    2⋅√π⋅╲╱  P  + Q  
在引擎盖下,SymPy使用Meijer G函数计算一个不恰当的积分,这涉及到将计算提升到某个黎曼曲面,而p或Q为负数可能导致另一个分支;因此,答案很复杂。从数学上讲,这对计算应该没有多大影响,因为sigma是指数的平方;但这关系到算法的成功

如果SymPy只知道独立法线是如何被添加的,那么所有这些都是没有意义的,但事实并非如此;所有这些计算都是通过直接积分完成的,这通常会扩大已实现积分方法的限制

备注:

  • 您已经使用了
    true
    (Symphy truth对象),但符号创建方法需要Python的
    true
  • 最好避免将Symphy import*中的
    与Symphy.stats import*
    中的
    合并,因为这会导致命名冲突:
    E
    是Symphy中的Euler数,是Symphy.stats中预期值的表示法
    谢谢!这是一个很大的疏忽。