Hướng dẫn weibull plot in python - biểu đồ weibull trong python

Bạn có thể. Cả vị trí và độ dốc phụ thuộc vào alpha và beta.

Nội phân Chính showShow

  • Phù hợp với phân phối Weibull hai tham số
  • Xác định PDF tùy chỉnh cho phân phối Weibull ba tham số
  • Phù hợp với phân phối Weibull ba tham số
  • Phân phối Weibull ba tham số phù hợp cho B
  • Chủ đề liên quan

Bạn có thể thấy điều này bằng cách giải quyết ví dụ cho y = 0,5 và để phân biệt để tìm độ dốc.

StackOverflow không thể hiển thị các công thức toán học (latex), do đó các công thức được đưa ra dưới dạng hình ảnh.

giá trị x cho y = 0,5:

Độ dốc tại x = 1:

Chỉnh sửa: Để hoàn thiện, đây là mã hiển thị các biểu đồ:

import matplotlib.pyplot as plt
import numpy as np

def f(a,b,g,x):
   return  1 - (1 - g) * np.exp(-((x/a)**b)) 

x = np.linspace(0, 3, 100)
plt.figure(figsize=[4,3])
for a in [0.5,1,1.5]:
   y = f(a,2,0,x)
   plt.plot(x,y)
plt.show()

Thống kê và công cụ học máy ™ sử dụng phân phối Weibull hai tham số với tham số tỷ lệ A và tham số hình B trong đối tượng phân phối xác suất

pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

6 và các hàm dành riêng cho phân phối như
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

7 và
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

8. Phân phối Weibull có thể lấy một tham số thứ ba. Phân phối Weibull ba tham số thêm một tham số vị trí bằng không trong trường hợp hai tham số. Nếu X có phân phối Weibull hai tham số, thì Y = X+C có phân phối Weibull ba tham số với tham số vị trí được thêm vào c.a and a shape parameter b in the probability distribution object
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

6 and distribution-specific functions such as
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

7 and
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

8. The Weibull distribution can take a third parameter. The three-parameter Weibull distribution adds a location parameter that is zero in the two-parameter case. If X has a two-parameter Weibull distribution, then Y=X+c has a three-parameter Weibull distribution with the added location parameter c.

Hàm mật độ xác suất (PDF) của phân phối Weibull ba tham số trở thành

f (x | a, b, c) = {ba (x- ca) b-1Exp (-(x-ca) b) if & nbsp; x> c, 0 if & nbsp; x≤c,

Trong đó A và B là giá trị dương và C là một giá trị thực.a and b are positive values, and c is a real value.

Nếu tham số tỷ lệ B nhỏ hơn 1, mật độ xác suất của phân phối Weibull tiếp cận vô cực khi X tiếp cận c. Tối đa của hàm khả năng là vô hạn. Phần mềm có thể tìm thấy các ước tính thỏa đáng trong một số trường hợp, nhưng mức tối đa toàn cầu bị thoái hóa khi Bb is less than 1, the probability density of the Weibull distribution approaches infinity as x approaches c. The maximum of the likelihood function is infinite. The software might find satisfactory estimates in some cases, but the global maximum is degenerate when b<1.

Ví dụ này cho thấy cách tìm các ước tính khả năng tối đa (MLES) cho phân phối Weibull ba tham số bằng cách sử dụng PDF được xác định tùy chỉnh và hàm

pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

9. Ngoài ra, ví dụ giải thích làm thế nào để tránh vấn đề PDF tiếp cận vô cực khi Bb<1.

Tải dữ liệu

Tải tập dữ liệu

figure
histogram(Weight,8,'Normalization','pdf')
hold on
x = linspace(0,6000);
plot(x,pdf(pd,x),'LineWidth',2)
hold off
0, chứa các phép đo xe hơi được thực hiện vào những năm 1970 và đầu những năm 1980.

Ví dụ này sử dụng các phép đo trọng lượng xe trong biến

figure
histogram(Weight,8,'Normalization','pdf')
hold on
x = linspace(0,6000);
plot(x,pdf(pd,x),'LineWidth',2)
hold off
1.

Phù hợp với phân phối Weibull hai tham số

Xác định PDF tùy chỉnh cho phân phối Weibull ba tham số

pd = fitdist(Weight,'Weibull')
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

Phù hợp với phân phối Weibull ba tham số

figure
histogram(Weight,8,'Normalization','pdf')
hold on
x = linspace(0,6000);
plot(x,pdf(pd,x),'LineWidth',2)
hold off

Phân phối Weibull ba tham số phù hợp cho B

pd = fitdist(Weight-1500,'Weibull')
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

figure
histogram(Weight-1500,8,'Normalization','pdf')
hold on
plot(x,pdf(pd,x),'LineWidth',2)
hold off

Chủ đề liên quan

Bạn có thể thấy điều này bằng cách giải quyết ví dụ cho y = 0,5 và để phân biệt để tìm độ dốc.c).

Xác định PDF tùy chỉnh cho phân phối Weibull ba tham số

Phù hợp với phân phối Weibull ba tham số

f_def = @(x,a,b,c) (x>c).*(b/a).*(((x-c)/a).^(b-1)).*exp(-((x-c)/a).^b);

Phân phối Weibull ba tham số phù hợp cho B

f = @(x,a,b,c) wblpdf(x-c,a,b);

Phù hợp với phân phối Weibull ba tham số

Phân phối Weibull ba tham số phù hợp cho B

try
    mle(Weight,'pdf',f,'Start',[1700 2 1500])
catch ME
    disp(ME)
end
pd = fitdist(Weight,'Weibull')
0

Chủ đề liên quanc that are higher than the minimum value of

figure
histogram(Weight,8,'Normalization','pdf')
hold on
x = linspace(0,6000);
plot(x,pdf(pd,x),'LineWidth',2)
hold off
1, which leads to a zero density for some points, and returns the error.

Bạn có thể thấy điều này bằng cách giải quyết ví dụ cho y = 0,5 và để phân biệt để tìm độ dốc.

StackOverflow không thể hiển thị các công thức toán học (latex), do đó các công thức được đưa ra dưới dạng hình ảnh.

pd = fitdist(Weight,'Weibull')
1

giá trị x cho y = 0,5:

pd = fitdist(Weight,'Weibull')
2

Độ dốc tại x = 1:

pd = fitdist(Weight,'Weibull')
3
pd = fitdist(Weight,'Weibull')
4

Vẽ đồ thị phù hợp với một biểu đồ.

pd = fitdist(Weight,'Weibull')
5

Biểu đồ phân phối được trang bị phù hợp với biểu đồ tốt.

Phân phối Weibull ba tham số phù hợp cho B

Nếu tham số tỷ lệ B nhỏ hơn 1, thì PDF của phân phối Weibull tiếp cận vô cùng gần giới hạn thấp hơn C (tham số vị trí). Bạn có thể tránh vấn đề này bằng cách chỉ định dữ liệu được kiểm duyệt khoảng thời gian, nếu thích hợp.b is less than 1, the pdf of the Weibull distribution approaches infinity near the lower limit c (location parameter). You can avoid this problem by specifying interval-censored data, if appropriate.

Tải tập dữ liệu

pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

0. Dữ liệu bao gồm xếp hạng cho chín chỉ số khác nhau về chất lượng cuộc sống ở 329 thành phố của Hoa Kỳ: khí hậu, nhà ở, y tế, tội phạm, giao thông, giáo dục, nghệ thuật, giải trí và kinh tế. Đối với mỗi chỉ số, xếp hạng cao hơn là tốt hơn.

Tìm MLES cho chỉ số thứ bảy (nghệ thuật).

pd = fitdist(Weight,'Weibull')
6
pd = fitdist(Weight,'Weibull')
7
pd = fitdist(Weight,'Weibull')
8

Thông điệp cảnh báo chỉ ra rằng ước tính không hội tụ. Sửa đổi các tùy chọn ước tính và tìm lại MLES. Tăng số lượng lặp tối đa (

pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

1) và số lượng đánh giá chức năng mục tiêu tối đa (
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

2).

pd = fitdist(Weight,'Weibull')
9
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

0
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

1

Việc lặp lại vẫn không hội tụ vì PDF tiếp cận vô cực gần giới hạn dưới.

Giả sử rằng các chỉ số trong

pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

3 là các giá trị được làm tròn đến số nguyên gần nhất. Sau đó, bạn có thể coi các giá trị trong
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

3 là các quan sát được kiểm duyệt khoảng thời gian. Một quan sát
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

5 trong
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

3 chỉ ra rằng xếp hạng thực tế nằm trong khoảng từ
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

7 đến
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

8. Tạo một ma trận trong đó mỗi hàng đại diện cho khoảng thời gian xung quanh mỗi số nguyên trong
pd = 
  WeibullDistribution

  Weibull distribution
    A = 1711.75   [1543.58, 1898.23]
    B = 1.99963   [1.70954, 2.33895]

3.

pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

2

Tìm lại MLES bằng cách sử dụng

figure
histogram(Weight-1500,8,'Normalization','pdf')
hold on
plot(x,pdf(pd,x),'LineWidth',2)
hold off
0. Để phù hợp với phân phối tùy chỉnh cho bộ dữ liệu được kiểm duyệt, bạn phải chuyển cả PDF và CDF cho hàm
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

9.

pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

3
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

4

Chức năng tìm thấy MLE mà không có bất kỳ vấn đề hội tụ nào. Sự phù hợp này dựa trên các xác suất phù hợp với các khoảng thời gian, vì vậy nó không gặp phải vấn đề về mật độ tiếp cận vô cực tại một điểm duy nhất. Bạn chỉ có thể sử dụng phương pháp này khi chuyển đổi dữ liệu thành phiên bản được kiểm duyệt khoảng thời gian là phù hợp.

Vẽ kết quả.

pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

5

Biểu đồ phân phối được trang bị phù hợp với biểu đồ tốt.

Xem thêm

pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

6 |
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

9 |
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

8 |
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

7 |
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

9
|
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

8
|
pd = 
  WeibullDistribution

  Weibull distribution
    A = 3321.64   [3157.65, 3494.15]
    B = 4.10083   [3.52497, 4.77076]

7

  • Phân phối Weibull