Weibull 不超过图(轴“x”)

Posted

技术标签:

【中文标题】Weibull 不超过图(轴“x”)【英文标题】:Weibull Non-exceedance plot (axis 'x') 【发布时间】:2021-06-16 16:18:15 【问题描述】:

我正在研究 Weibull 分布。我已经估计了我的数据的参数,并且得到了概率图。如以下代码所示,在概率图上,我“粘贴”了我获得的参数值。

但是,还有其他方法可以将它们附加到情节上吗?

另一个问题是:我怎样才能得到一个具有轴'x'上不超过的概率和轴'y'上的变量,而这反过来,我包括带有三个参数的 weibull 调整。我正在寻找的情节是这样的(或类似的)。

Weibull Non-exceedance curve

下面是我写的python代码:

from matplotlib import pyplot as plt
import pandas as pd
import numpy as np
plt.style.use('classic')
%matplotlib inline
import seaborn as sns
from scipy.stats import exponweib, probplot as pp, weibull_min
import probscale
from probscale.viz import probplot as pp_scale, plot_pos
import statsmodels.distributions
from scipy.optimize import fmin
import statsmodels.api as sm

datos = pd.read_csv('01_ATN_ACCE_his_1985_2005.csv')
Hs = datos['Hs']
plt.hist(Hs, density = True, alpha = 0.5, bins=45)
shape, loc, scale = weibull_min.fit(Hs)
x = np.linspace(Hs.min(), Hs.max(), 500)
plt.plot(x, weibull_min(shape, loc, scale).pdf(x))
plt.xlabel("Hs (m)")
plt.ylabel("%")
plt.title("Ajuste Weibull sobre Hs")
fig, ax= plt.subplots(figsize=(12,6))
pp(Hs, dist = weibull_min(shape, loc, scale), fit=True, plot=ax, rvalue=True)
plt.text(0.5,7,'A=', fontsize=14)
plt.text(0.7,7,'0:.2f'.format(scale), fontsize=14)
plt.text(0.5, 6.5, 'B=', fontsize=14)
plt.text(0.7,6.5,'0:.2f'.format(loc), fontsize=14)
plt.text(0.5, 6, 'C=', fontsize=14)
plt.text(0.7,6,'0:.2f'.format(shape), fontsize=14)
ax.get_children()[2].set_fontsize(14) 
ax.get_children()[2].set_position((0.5,5.5))

【问题讨论】:

【参考方案1】:

如果无法访问您的数据集,就无法复制您的脚本。

您附加的图像在 x 轴上有概率,在 y 轴上有速度。这几乎看起来像一个 x 轴和 y 轴交换的probability plot。

我建议您绘制概率图格式(y 轴上的概率),因为这在多个软件应用程序中更为常见且可用。

在 Python 中,您可以考虑使用 reliability 来拟合您的概率分布并生成您的概率图。虽然 可靠性 是为可靠性工程设计的,但“故障”实际上可以是任何东西,因此您的速度数据会很好(如果拟合 Weibull 分布,它是非负的)。

【讨论】:

以上是关于Weibull 不超过图(轴“x”)的主要内容,如果未能解决你的问题,请参考以下文章

R 中的 Weibull 参数估计,同时考虑 X(时间)和 Y(累积观察)

echarts柱状图横(x)轴文字显示不全,一招解决

xpath的轴进行查找

echarts图表x轴文字显示不全问题及柱状图颜色调整

如何删除x轴标签上的组信息

熊猫时间序列图设置 x 轴主要和次要刻度和标签