【问题标题】:Poission/Normal and Beta distribution in Python - Help understanding the statisticsPython 中的泊松/正态分布和 Beta 分布 - 帮助理解统计数据
【发布时间】:2018-10-13 18:33:06
【问题描述】:

我对这个 python 代码有一些疑问。我需要帮助来理解输出答案。我在 python 中有一个简单的代码,用于生成泊松分布、正态分布和 beta 分布,我希望帮助理解得出的数字。

在发布我的代码之前,让我们考虑一个简单的场景:每分钟有一定数量的汽车进入城市,平均到达率为 63,sigma 为 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()

这是代码的结果:

Poisson

Normal

Beta

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

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

问题3和4:我已经在代码里面问过了。

谢谢

【问题讨论】:

  • 这更适合Statistics SE。虽然这里的人很可能也有一些统计知识,但毫无疑问,您可以在那里获得更多信息,因为该站点主要处理编程问题,例如代码无法按预期工作/根本不工作。
  • 我希望这不是您要求我们为您完成的家庭作业。关于代码中的问题,您可以通过对这些 numpy 方法进行 Google 搜索轻松找出数字的含义。此外,您已将第一个分布标记为 Poisson,但您使用的是正态分布来随机抽取数字。与普通标签相同,您使用的是 t 分布。
  • @Scratch'N'Purr 抱歉,我发错了,这是我的真实代码 ;) 但是对于一个特定于编程的问题:如何更改图表下方的线条?
  • @Giroud2 您想绘制分布的 pdf,就像您在正态分布图中绘制它的方式一样?

标签: python numpy math statistics


【解决方案1】:

就像一般评论一样,您在提问之前似乎没有“完成作业”。大多数人建议在提出问题之前对主题进行一些研究和熟悉,并认为这对您以及对您的问题感到困惑的人来说更好。话虽如此,让我们来看看你的问题,然后,请拿起一本关于概率和统计的介绍性书籍 - 或者只是谷歌它,然后开始阅读。

"Question 1: What does these numbers tell based on the scenario?"

A1:这个问题太不清楚了,不可能回答,只能说“是”。

"Question 2: Is it possible to change the X lines(-0,15 to 175 on poission), 
(-3 to 4 on normal) and 
(0.55 to 0.85 on beta)?"

A2:当然……您可以将这些值更改为您喜欢的任何值,但这对您的工作有何推动作用?换句话说,你想要做什么?

QUESTION 3: WHAT IS THIS NUMBER 3830? 

A3:嗯……你真的把自己暴露在了这里,因为你已经证明你不是 RTFM。 numpy 有很多可用的文档,实际上here's a reference that answers your Q33830 是从具有您指定的均值和方差的分布中抽取的样本数。

QUESTION 4: AND WHAT ARE THESE NUMBERS? 

A4: 真的和#3一样的答案,只是在这种情况下,分布被称为"Student's t",而numpy reference provides the answer:数字是分布的degrees of freedom,以及要抽取的样本数从那个分布。

【讨论】:

  • 谢谢老板。我会对此做笔记
【解决方案2】:

如果您想绘制 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()

结果:

【讨论】:

  • 谢谢伙计!真的很感激。
猜你喜欢
  • 2023-03-13
  • 2014-11-22
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
相关资源
最近更新 更多