Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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中的泊松/正态分布和Beta分布-帮助理解统计信息_Python_Numpy_Math_Statistics - Fatal编程技术网

Python中的泊松/正态分布和Beta分布-帮助理解统计信息

Python中的泊松/正态分布和Beta分布-帮助理解统计信息,python,numpy,math,statistics,Python,Numpy,Math,Statistics,我对这段python代码有一些疑问。我需要帮助理解输出答案。我有一个简单的python代码,用于生成泊松分布、正态分布和beta分布,我想帮助您理解这些数据 在发布我的代码之前,让我们考虑一个简单的场景:每分钟都有一定数量的汽车进入城市,平均到达量为63,西格玛为25 好的,这是我的代码: import scipy as sp import numpy as np import matplotlib.pyplot as plt mu, sigma = 64, 24 #normal dist

我对这段python代码有一些疑问。我需要帮助理解输出答案。我有一个简单的python代码,用于生成泊松分布、正态分布和beta分布,我想帮助您理解这些数据

在发布我的代码之前,让我们考虑一个简单的场景:每分钟都有一定数量的汽车进入城市,平均到达量为63,西格玛为25

好的,这是我的代码:

import scipy as sp
import numpy as np
import matplotlib.pyplot as plt

mu, sigma = 64, 24


#normal distribution
s = np.random.normal(mu, sigma, 1000)

count, bins, ignored = plt.hist(s, 30, normed=True)

plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
         np.exp( - (bins -mu )**2 / (2 * sigma**2)),
    linewidth=2, color='r')
plt.show()



#Poisson distribution

s = np.random.poisson(5, 10000)

import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(s, 14, normed=True)
plt.show()


#Beta distribution

s = np.random.beta(mu, sigma, 1000)


count, bins, ignored = plt.hist(s, 30, normed=True)
plt.show()
以下是代码的结果:

问题1:根据情景,这些数字说明了什么

问题2:是否可以更改X线(泊松为-0,15至175)、正常为-3至4以及(贝塔为0.55至0.85)

问题3和4:我已经在代码内部提出了问题


谢谢你

作为一般性的评论,你在提问之前似乎没有“做好功课”。大多数人建议在提问之前对主题进行一点学习和熟悉,并认为这对你和那些对你的问题感到困惑的人来说是更好的。这就是说,让我们来看看你的问题,然后,请拿起一本介绍概率和统计学的书——或者只是谷歌一下,然后开始阅读

"Question 1: What does these numbers tell based on the scenario?"
A1:这个问题太不清楚了,除了说“是”之外,不可能回答

当然。。。您可以将这些值更改为任何您喜欢的值,但这如何促进您在这里的努力?换句话说,你想做什么

QUESTION 3: WHAT IS THIS NUMBER 3830? 
A3:嗯。。。你在这里真的展示了你自己,因为你已经证明你没有RTFM
numpy
有很多可用的文档,事实上:
3830
是指根据指定的均值和方差从分布中提取的样本数

QUESTION 4: AND WHAT ARE THESE NUMBERS? 

A4:答案与#3完全相同,只是在这种情况下,才调用分布,并且:数字是分布的
自由度
,以及从该分布中提取的样本数。

如果要绘制pdf(泊松将是pmf,因为它是离散分布),然后我建议使用您已经在使用的
scipy

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm, poisson, beta

mu, sigma = 64, 24

# normal
s = np.random.normal(mu, sigma, 1000)
x = np.linspace(norm.ppf(0.001, mu, sigma), norm.ppf(0.999, mu, sigma), 300)
plt.hist(s, 30, normed=True)
plt.plot(x, norm.pdf(x, mu, sigma), 'r', lw=2)
plt.title("Normal with mu=64, sigma=24")
plt.show()

# poisson
s = np.random.poisson(5, 10000)
x = np.arange(poisson.ppf(0.001, 5), poisson.ppf(0.999, 5))
plt.hist(s, 14, normed=True)
plt.plot(x, poisson.pmf(x, 5), 'r')
plt.title("Poisson with mu=5")
plt.show()

# beta
s = np.random.beta(mu, sigma, 1000)
x = np.linspace(beta.ppf(0.001, mu, sigma), beta.ppf(0.999, mu, sigma), 300)
plt.hist(s, 30, normed=True)
plt.plot(x, beta.pdf(x, mu, sigma), 'r')
plt.title("Beta with mu=64, sigma=24")
plt.show()
结果:


这将更适合于。虽然这里的人很可能也有一些统计方面的知识,但毫无疑问,你可以在那里获得更多信息,因为这个网站主要处理编程问题,例如代码完全没有按预期工作。我希望这不是你要求我们为你做的家庭作业。关于代码中的问题,通过在这些numpy方法上进行谷歌搜索,您可以很容易地找出这些数字的含义。另外,您已经将第一个分布标记为泊松分布,但是您正在使用正态分布随机抽取数字。和普通标签一样,您使用的是t分布。@Scratch'N'Purr很抱歉我贴错了,这是我的真实代码;)但是对于一个特定于编程的问题:如何更改图表下方的线条?@Giroud2您想绘制分布的pdf,就像您在正态分布图中绘制一样?谢谢老板。我会记下这个谢谢,伙计!非常感谢。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm, poisson, beta

mu, sigma = 64, 24

# normal
s = np.random.normal(mu, sigma, 1000)
x = np.linspace(norm.ppf(0.001, mu, sigma), norm.ppf(0.999, mu, sigma), 300)
plt.hist(s, 30, normed=True)
plt.plot(x, norm.pdf(x, mu, sigma), 'r', lw=2)
plt.title("Normal with mu=64, sigma=24")
plt.show()

# poisson
s = np.random.poisson(5, 10000)
x = np.arange(poisson.ppf(0.001, 5), poisson.ppf(0.999, 5))
plt.hist(s, 14, normed=True)
plt.plot(x, poisson.pmf(x, 5), 'r')
plt.title("Poisson with mu=5")
plt.show()

# beta
s = np.random.beta(mu, sigma, 1000)
x = np.linspace(beta.ppf(0.001, mu, sigma), beta.ppf(0.999, mu, sigma), 300)
plt.hist(s, 30, normed=True)
plt.plot(x, beta.pdf(x, mu, sigma), 'r')
plt.title("Beta with mu=64, sigma=24")
plt.show()