Parcela Weibull

El diagrama de Weibull es una técnica gráfica para determinar si el conjunto de datos proviene de una población que lógicamente se ajusta a una distribución de Weibull de 2 parámetros. Antes de discutir el diagrama de Weibull en detalle, primero debemos conocer la distribución de Weibull.

Distribución Weibull:

La fórmula para la distribución de densidad de probabilidad para la distribución de Weibull es:

f(x) = \frac{\gamma} {\alpha} (\frac{x-\mu} {\alpha})^{(\gamma - 1)}\exp{(-((x-\mu)/\alpha)^{\gamma})} \hspace{.3in}  x \ge \mu; \gamma, \alpha > 0

donde, Y (gamma) es el parámetro de forma, u (mu) se llama parámetro de ubicación y ∝ (alfa) se llama parámetro de escala. El caso en el que u=0 y ∝ =1 se denomina distribución estándar de Weibull.

Distribución de Weibull de dos parámetros:

La distribución Weibull de dos parámetros es el caso especial de la distribución Weibull en la que u=0. En este caso, la ecuación para la distribución estándar de Weibull se reduce a:

f(x) = \gamma x^{(\gamma - 1)}\exp(-(x^{\gamma})) \hspace{.3in} x \ge 0; \gamma > 0

La fórmula para la función de distribución acumulativa de la distribución de Weibull es:

F(x)=1−e^{−(xγ)} \hspace{.1in}x\ge 0;γ>0

diagrama de Weibull

El diagrama de Weibull tiene escalas especiales de ejes que si el conjunto de datos está en la distribución de Weibull, entonces los puntos estarán en una línea casi recta. El ajuste de mínimos cuadrados de la línea da la forma y el parámetro de escala de la distribución de Weibull considerando que el parámetro de ubicación es 0.

La distribución de Weibull también tiene la propiedad de que un parámetro de escala supera el 63,2% de los puntos independientemente del valor del parámetro de forma. En este gráfico, dibujamos una línea horizontal en el 63,2 % del eje y. El componente del eje x del punto donde se cruza con la línea ajustada por mínimos cuadrados se denomina parámetro de escala.

El diagrama de Weibull está formado por los siguientes dos ejes:

  • Eje vertical: probabilidad acumulada de Weibull en términos de porcentaje
  • Eje Horizontal: Tiempos de falla ordenados (en escala Log10).

La escala vertical se obtiene mediante la fórmula:

ln(-ln(1-p)); \hspace{.3in} p = \frac{i-0.3}{n+0.4}

Donde, i es el rango de la observación.

El diagrama de Weibull se usa para responder las siguientes preguntas:

  • ¿La distribución siguió una distribución de Weibull de 2 parámetros?
  • ¿Cuál es la mejor estimación para el parámetro de forma de la distribución de Weibull de 2 parámetros?
  • ¿Cuál es la mejor estimación para el parámetro de escala de la distribución de Weibull de 2 parámetros?

Aplicaciones:

El diagrama de Weibull se usa generalmente en las siguientes áreas:

  • En análisis de fallas e ingeniería de confiabilidad.
  • Análisis de garantía
  • Estimación del tiempo de vida de diferentes aleaciones e implantes.

Implementación

  • En esta implementación, también usaremos la biblioteca Weibull , así como algunos paquetes comunes de ciencia de datos (Numpy, Pandas y Seaborn). Todas estas bibliotecas están preinstaladas en Colab y se pueden instalar en el entorno local con pip install .
  • Para este código, utilizaremos un conjunto de datos de resistencia a la tracción de VANGEL. El conjunto de datos se puede descargar desde aquí .

Python3

# code
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as ss
import numpy as np
import seaborn as sns
import weibull
 
# generate standard weibull distribution of different Shape parameter
gamma_1  = np.random.weibull(a=1,size=1000)
gamma_half  = np.random.weibull(a=0.5,size=1000)
gamma_5 = np.random.weibull(a=5,size=1000)
gamma_10  = np.random.weibull(a=10,size=1000)
 
# plot different Weibull distribution
sns.set_style('darkgrid')
fig, ax  = plt.subplots(2,2)
sns.histplot(gamma_1,kde=True,ax= ax[0,0] )
ax[0,0].set_title('Gamma = 1 ')
sns.histplot(gamma_half,kde=True, ax= ax[0,1], legend='Y=0.5')
ax[0,1].set_ylim([0,200])
ax[0,1].set_title('Gamma = 0.5 ')
sns.histplot(gamma_5,kde=True, ax= ax[1,0], legend='Y=5')
ax[1,0].set_title('Gamma = 5 ')
sns.histplot(gamma_10,kde=True, ax= ax[1,1], legend='Y=10')
ax[1,1].set_title('Gamma = 10 ')
plt.show()
 
# load dataset
specimen_strength = pd.read_csv('tensile strength.txt', header=None)
specimen_strength.head()
 
# perform weibull analysis
analysis=weibull.Analysis(specimen_strength[0])
 
# Here, we can fit using two method, mle (maximum likelihood)
# and lr (linear regression). Generally mle is better fit
analysis.fit(method='lr')
 
# print shape parameter (Beta) and scale parameter (eta)
print(f'shape Parameter: {analysis.beta: .02f}')
print(f'Scale Parameter: {analysis.eta: .02f}')
 
# print values of different parameters confidence interval
analysis.stats
 
# generate Weibull probplot
analysis.probplot()

Distribución estándar de Weibull @ valor diferente del parámetro de forma

    0
-----------------
0    25.722681
1    24.319706
2    31.007387
3    25.240414
4    35.406261
shape Parameter:  3.55
Scale Parameter:  31.87
r_squared                     0.96102
p_value                   7.32837e-71
fit method          linear regression
confidence                        0.9
beta lower limit               3.1598
beta nominal                  3.55485
beta upper limit               3.9993
eta lower limit                30.284
eta nominal                   31.8747
eta upper limit               33.5488
mean life                     28.7029
median life                   28.7521
b10 life                      16.9246
dtype: object

Diagrama de probabilidad de Weibull

  • Del gráfico anterior, podemos inferir que los datos siguen de cerca la distribución de Weibull con el valor dado del parámetro de forma y escala.

Referencias:

Publicación traducida automáticamente

Artículo escrito por pawangfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *