小编Sah*_*l M的帖子

将数据点拟合为累积分布

我正在尝试将伽玛分布拟合到我的数据点,我可以使用下面的代码来实现.

import scipy.stats as ss
import numpy as np
dataPoints = np.arange(0,1000,0.2)
fit_alpha,fit_loc,fit_beta = ss.rv_continuous.fit(ss.gamma, dataPoints, floc=0)
Run Code Online (Sandbox Code Playgroud)

我想使用许多这样的小伽马分布来重建更大的分布(较大的分布与问题无关,只能证明我为什么要尝试拟合cdf而不是pdf).

为了实现这一点,我希望将累积分布(而不是pdf)与我的较小分布数据相匹配.- 更确切地说,我想将数据仅适用于累积分布的一部分.

例如,我只想拟合数据,直到累积概率函数(具有一定的比例和形状)达到0.6.

fit()为此目的使用的任何想法?

python numpy scipy cdf probability-density

23
推荐指数
1
解决办法
5227
查看次数

使用python scipy将伽马分布拟合到数据中

我想在我的数据中使用伽玛分布,我使用它

import scipy.stats as ss
import scipy as sp
import numpy as np
import os
import matplotlib.pyplot as plt

alpha = []
beta = []
loc = []

data = np.loadtxt(data)
fit_alpha, fit_loc, fit_beta = ss.gamma.fit(data, floc=0, fscale=1)
Run Code Online (Sandbox Code Playgroud)

我希望将伽玛分布中的一个参数保留为变量(比如形状),并修复其中一个参数(比方说scale=1).但是,如果我将loc变量保持为零,我无法将比例固定为一.这有什么解决方法吗?我是否可以仅使用形状和比例来参数化伽玛分布?

python statistics gamma-distribution scipy

5
推荐指数
1
解决办法
5350
查看次数

在数学模式下将变量写为下标

我正在尝试绘制一些数据,使用 for 循环绘制分布。现在我想根据循环计数器将这些分布标记为数学符号中的下标。这就是我目前所处的位置。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab

mean = [10,12,16,22,25]
variance = [3,6,8,10,12]
x = np.linspace(0,40,1000)
for i in range(4):
    sigma = np.sqrt(variance[i])
    y = mlab.normpdf(x,mean[i],sigma)
    plt.plot(x,y,label=$v_i$) # where i is the variable i want to use to label. I should also be able to use elements from an array, say array[i] for the same.
    plt.xlabel("X")
    plt.ylabel("P(X)")
plt.legend()
plt.axvline(x=15, ymin=0, ymax=1,ls='--',c='black')    
plt.show()
Run Code Online (Sandbox Code Playgroud)

这不起作用,我无法将变量保留在数学符号的 $ $ 符号之间,因为它被解释为文本。有没有办法将变量放在 $ $ 符号中?

python matplotlib legend mathematical-expressions

4
推荐指数
1
解决办法
6155
查看次数

使用scipy和matplotlib绘制分位数,中位数和传播

我是matplotlib的新手,我想创建一个情节,其中包含以下信息:

  1. 连接大约200个可变长度向量的中位数的行(输入)
  2. 连接这些矢量的相应分位数的线.
  3. 连接相应展开的线(最大和最小点).

所以基本上,它有点像一个连续的盒子情节.

谢谢!

python matplotlib scipy quantile boxplot

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