我正在尝试将伽玛分布拟合到我的数据点,我可以使用下面的代码来实现.
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()为此目的使用的任何想法?
我想在我的数据中使用伽玛分布,我使用它
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变量保持为零,我无法将比例固定为一.这有什么解决方法吗?我是否可以仅使用形状和比例来参数化伽玛分布?
我正在尝试绘制一些数据,使用 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)
这不起作用,我无法将变量保留在数学符号的 $ $ 符号之间,因为它被解释为文本。有没有办法将变量放在 $ $ 符号中?
我是matplotlib的新手,我想创建一个情节,其中包含以下信息:
所以基本上,它有点像一个连续的盒子情节.
谢谢!
python ×4
scipy ×3
matplotlib ×2
boxplot ×1
cdf ×1
legend ×1
numpy ×1
quantile ×1
statistics ×1