gpt4 book ai didi

python - 用理论曲线绘制直方图 : Random realization

转载 作者:太空宇宙 更新时间:2023-11-03 12:05:38 25 4
gpt4 key购买 nike

我需要编写一个程序来生成柯西分布随机实现

具有空位置和单位比例。

我还需要在 -5 和 5 个区间之间制作直方图,以随机实现 1,000 个点,连同理论曲线确保它们具有相同的单位。

我计算了累积分布函数 对于柯西分布:

然后我编写了以下 python 代码:

from __future__ import division
import scipy
import random
import matplotlib.pyplot as plt
import numpy as np
import math as m


valuesX = []
for q in range(1000):
R = random.random()
x = m.tan(m.pi*(R-0.5)) #Cumulative Function
valuesX.append(x)

z = np.linspace(-10,10,1000)
y = 1/(m.pi*(1+z**2)) #Theoretical Cauchy

plt.plot(y,z)
plt.hist(valuesX, bins = 50, range = [-5,5], normed=True)

我的结果是:Histogram of random realization for the Cauchy distribution

我不知道这是否可以接受,因为我正在根据概率密度函数绘制离散值(随机实现)。我怎么能比较他们两个呢?因为我需要找到上图中的分数差,并确定两条曲线之间的全局均方根偏差作为随机实现大小的函数。

最佳答案

如果您有大量样本点,并且您的直方图 bin 足够窄,那么您已经完成的应该没问题。在这种情况下,plt.hist() 中的“normed=True”设置将为您提供每个区间中心概率密度的良好近似值。然后,抽样误差将由每个箱中样本数的平方根给出。

另一方面,如果样本数量较少,以至于每个直方图 bin 需要更宽才能包含多个样本,那么直方图和理论概率密度函数之间的比较就变得更加微妙.在这种情况下,需要允许每个 bin 表示概率密度在每个 bin 范围内的积分。

因此,对于覆盖范围 [a,b] 的 bin,需要计算以下积分:

enter image description here

当乘以样本总数时,这会得出给定区间内平均期望的样本数。

为方便起见,还可以将此公式重新排列为以下形式:

enter image description here

当 bin 很薄时(即 b 不比 a 大很多),它应该具有更好的数值精度。该公式还使对于非常薄的 bin 如何恢复概率密度本身的表达式变得更加清晰。

关于python - 用理论曲线绘制直方图 : Random realization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061832/

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