Wolfram mathematica 在Mathematica中,如何定义任意概率分布?

Wolfram mathematica 在Mathematica中,如何定义任意概率分布?,wolfram-mathematica,Wolfram Mathematica,我想要一个积分为1的任意函数p[x],对于所有的x,0,如果你只是想要符合你标准的密度函数(PDF)的例子,这里有两个(不可数): p(x)=1如果0

我想要一个积分为1的任意函数p[x],对于所有的x,0,如果你只是想要符合你标准的密度函数(PDF)的例子,这里有两个(不可数):

p(x)=1如果0
我们甚至可以略作概括:

p(x) = 1/k if 0 < x < k
       0 otherwise

p(x) = 2x/k^2 if 0 < x < k
       0 otherwise
p(x)=1/k如果0
后者适用于k>=2。 我们甚至可以用另一个参数来推广,得到一类具有任意指数的函数

p(x) = (a+1)/k^(a+1)*x^a if 0 < x < k
       0 otherwise
p(x)=(a+1)/k^(a+1)*x^a如果0
这适用于所有a>1和k>a+1

对于更有趣的例子,我认为您需要给出更多的标准。 您提到了一个转换规则,所以可能希望在R1上取一个任意有界函数,并对其进行平移/缩放,使其始终在0和1之间,并积分为1。 这将有一个简单的答案,只要你能得到给定函数的最小值,最大值和积分。
继续编辑问题,询问您是否真的在寻找这个问题。

您可以使用
概率分布
以及未定义的
x
函数:

dist = ProbabilityDistribution[p[x], {x, -Infinity, Infinity}];
它现在知道了一些需要应用的规则:

  • 连续概率密度:单个值的概率为零

    In[26]:= Probability[x == 0, x \[Distributed] dist]
    
    Out[26]= 0
    
  • 有一个值的概率

    In[28]:= Probability[x > 0 || x <= 0, x \[Distributed] dist]
    
    Out[28]= 1
    
  • 正无穷远处的CDF

    In[30]:= CDF[dist][\[Infinity]]
    
    Out[30]= 1
    
  • PDF

    In[32]:= PDF[dist][x]
    
    Out[32]= p[x]
    
  • 但是,它并不假设分布的PDF是标准化的:

    In[33]:= Integrate[PDF[dist][x], {x, -Infinity, Infinity}]
    
    Out[33]= Integrate[p[x], {x, -Infinity, Infinity}]
    
  • 可以设定后者,定义p的UpValue:

    p /: Integrate[p[x], {x, -Infinity, Infinity}] = 1;
    
  • 现在它可以集成PDF:

    In[4]:= Integrate[PDF[dist][x], {x, -Infinity, Infinity}]
    
    Out[4]= 1
    

您知道您的第二个要求,即
0您所说的任意性是什么意思?一种“随机函数”?任意的,我没有给它下定义。不透明。你怎么能使用你没有定义的东西?请问这个功能是做什么用的?通过积分到1,是在[0,1]上还是在R上?我希望我能告诉Mathematica,我有一个积分到1/R的不透明函数p,它可以利用这个事实来简化一个涉及p的更复杂的积分。
p /: Integrate[p[x], {x, -Infinity, Infinity}] = 1;
In[4]:= Integrate[PDF[dist][x], {x, -Infinity, Infinity}]

Out[4]= 1