相关疑难解决方法(0)

scipy.stats中的所有发行版都是什么样的?

可视化scipy.stats分布

直方图可制成scipy.stats正常随机变量看到分布的样子.

% matplotlib inline
import pandas as pd
import scipy.stats as stats
d = stats.norm()
rv = d.rvs(100000)
pd.Series(rv).hist(bins=32, normed=True)
Run Code Online (Sandbox Code Playgroud)

正态分布

其他发行版是什么样的?

python statistics distribution matplotlib scipy

33
推荐指数
2
解决办法
1万
查看次数

如何使用Mu和Sigma在Python中获得对数正态分布?

我一直在尝试使用Scipy获得对数正态分布的结果.我已经拥有Mu和Sigma,所以我不需要做任何其他准备工作.如果我需要更具体(并且我试图利用我对统计数据的有限知识),我会说我正在寻找累积函数(在Scipy下的cdf).问题是我无法弄清楚如何只用0-1的平均值和标准差来做到这一点(即返回的答案应该是0-1的答案).我也不确定dist的哪种方法,我应该用它来得到答案.我已经尝试阅读文档并查看SO,但相关问题(如此)似乎没有提供我正在寻找的答案.

这是我正在使用的代码示例.谢谢.

from scipy.stats import lognorm
stddev = 0.859455801705594
mean = 0.418749176686875
total = 37
dist = lognorm.cdf(total,mean,stddev)
Run Code Online (Sandbox Code Playgroud)

更新:

经过一些工作和一些研究后,我得到了更多.但我仍然得到了错误的答案.新代码如下.根据R和Excel,结果应该是.7434,但这显然不是正在发生的事情.我缺少一个逻辑缺陷吗?

dist = lognorm([1.744],loc=2.0785)
dist.cdf(25)  # yields=0.96374596, expected=0.7434
Run Code Online (Sandbox Code Playgroud)

更新2: 工作lognorm实现,产生正确的0.7434结果.

def lognorm(self,x,mu=0,sigma=1):
   a = (math.log(x) - mu)/math.sqrt(2*sigma**2)
   p = 0.5 + 0.5*math.erf(a)
   return p
lognorm(25,1.744,2.0785)
> 0.7434
Run Code Online (Sandbox Code Playgroud)

python statistics scipy

22
推荐指数
3
解决办法
3万
查看次数

标签 统计

python ×2

scipy ×2

statistics ×2

distribution ×1

matplotlib ×1