Hướng dẫn sample from empirical distribution python - mẫu từ python phân phối theo kinh nghiệm

Cập nhật lần cuối vào ngày 28 tháng 8 năm 2020

Chức năng phân phối thực nghiệm cung cấp một cách để mô hình hóa và xác suất tích lũy mẫu cho một mẫu dữ liệu không phù hợp với phân phối xác suất tiêu chuẩn.

Như vậy, đôi khi nó được gọi là hàm phân phối tích lũy theo kinh nghiệm, hoặc ngắn gọn là ECDF.empirical cumulative distribution function, or ECDF for short.

Trong hướng dẫn này, bạn sẽ khám phá chức năng phân phối xác suất thực nghiệm.

Sau khi hoàn thành hướng dẫn này, bạn sẽ biết:

  • Một số mẫu dữ liệu không thể được tóm tắt bằng cách sử dụng phân phối tiêu chuẩn.
  • Một chức năng phân phối thực nghiệm cung cấp một cách mô hình hóa xác suất tích lũy cho một mẫu dữ liệu.
  • Cách sử dụng thư viện StatSmodels để mô hình hóa và lấy mẫu chức năng phân phối tích lũy theo kinh nghiệm.

Bắt đầu dự án của bạn với xác suất sách mới của tôi cho học máy, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python & NBSP; cho tất cả các ví dụ. with my new book Probability for Machine Learning, including step-by-step tutorials and the Python source code files for all examples.

Bắt đầu nào.

Cách sử dụng chức năng phân phối thực nghiệm trong Pythonphoto của Gigi Griffis, một số quyền được bảo lưu.
Photo by Gigi Griffis, some rights reserved.

Tổng quan hướng dẫn

Hướng dẫn này được chia thành ba phần; họ đang:

  1. Chức năng phân phối thực nghiệm
  2. Phân phối dữ liệu bimodal
  3. Lấy mẫu phân phối thực nghiệm

Chức năng phân phối thực nghiệm

Phân phối dữ liệu bimodal

Lấy mẫu phân phối thực nghiệm

Thông thường, phân phối các quan sát cho một mẫu dữ liệu phù hợp với phân phối xác suất nổi tiếng.

Ví dụ, chiều cao của con người sẽ phù hợp với phân phối xác suất bình thường [Gaussian].

Đây không phải là luôn luôn như vậy. Đôi khi các quan sát trong mẫu dữ liệu được thu thập không phù hợp với bất kỳ phân phối xác suất đã biết nào và không thể dễ dàng bị buộc vào phân phối hiện có bằng cách chuyển đổi dữ liệu hoặc tham số hóa hàm phân phối.

  • Thay vào đó, một phân phối xác suất thực nghiệm phải được sử dụng.
  • Có hai loại chức năng phân phối xác suất chính mà chúng ta có thể cần lấy mẫu; họ đang:

Hàm mật độ xác suất [PDF].

Hàm phân phối tích lũy [CDF].

PDF trả về xác suất dự kiến ​​để quan sát một giá trị. Đối với dữ liệu riêng biệt, PDF được gọi là hàm khối xác suất [PMF]. CDF trả về xác suất dự kiến ​​để quan sát giá trị nhỏ hơn hoặc bằng một giá trị nhất định.

Hàm mật độ xác suất thực nghiệm có thể phù hợp và được sử dụng để lấy mẫu dữ liệu bằng phương pháp ước tính mật độ không theo tỷ lệ, chẳng hạn như ước tính mật độ hạt nhân [KDE].

Một hàm phân phối tích lũy thực nghiệm được gọi là hàm phân phối thực nghiệm, hoặc viết tắt là EDF. Nó cũng được gọi là hàm phân phối tích lũy thực nghiệm, hoặc ECDF.

  • EDF được tính toán bằng cách đặt hàng tất cả các quan sát duy nhất trong mẫu dữ liệu và tính xác suất tích lũy cho mỗi lần quan sát nhỏ hơn hoặc bằng với một quan sát nhất định chia cho tổng số quan sát.

Như sau:

Edf [x] = số lượng quan sát

Giống như các hàm phân phối tích lũy khác, tổng xác suất sẽ tiến hành từ 0,0 đến 1,0 vì các quan sát trong miền được liệt kê từ nhỏ nhất đến lớn nhất.

Để làm cho chức năng phân phối thực nghiệm bê tông, hãy để Lôi xem xét một ví dụ với một bộ dữ liệu rõ ràng không phù hợp với phân phối xác suất đã biết.

Muốn học xác suất cho việc học máy

Phân phối dữ liệu bimodal

Lấy mẫu phân phối thực nghiệm

Thông thường, phân phối các quan sát cho một mẫu dữ liệu phù hợp với phân phối xác suất nổi tiếng.

Ví dụ, chiều cao của con người sẽ phù hợp với phân phối xác suất bình thường [Gaussian].

Đây không phải là luôn luôn như vậy. Đôi khi các quan sát trong mẫu dữ liệu được thu thập không phù hợp với bất kỳ phân phối xác suất đã biết nào và không thể dễ dàng bị buộc vào phân phối hiện có bằng cách chuyển đổi dữ liệu hoặc tham số hóa hàm phân phối.

Thay vào đó, một phân phối xác suất thực nghiệm phải được sử dụng.

Có hai loại chức năng phân phối xác suất chính mà chúng ta có thể cần lấy mẫu; họ đang:

Hàm mật độ xác suất [PDF].matplotlib import pyplot

Hàm phân phối tích lũy [CDF].numpy.random import normal

PDF trả về xác suất dự kiến ​​để quan sát một giá trị. Đối với dữ liệu riêng biệt, PDF được gọi là hàm khối xác suất [PMF]. CDF trả về xác suất dự kiến ​​để quan sát giá trị nhỏ hơn hoặc bằng một giá trị nhất định.numpy import hstack

Hàm mật độ xác suất thực nghiệm có thể phù hợp và được sử dụng để lấy mẫu dữ liệu bằng phương pháp ước tính mật độ không theo tỷ lệ, chẳng hạn như ước tính mật độ hạt nhân [KDE].

sample1=normal[loc=20,scale=5,size=300]= normal[loc=20,scale=5,size=300]

sample2=normal[loc=40,scale=5,size=700]=normal[loc=40,scale=5, size=700]

sample=hstack[[sample1,sample2]]=hstack[[sample1,sample2]]

Một hàm phân phối tích lũy thực nghiệm được gọi là hàm phân phối thực nghiệm, hoặc viết tắt là EDF. Nó cũng được gọi là hàm phân phối tích lũy thực nghiệm, hoặc ECDF.

pyplot.hist[sample,bins=50].hist[sample,bins=50]

pyplot.show[].show[]

EDF được tính toán bằng cách đặt hàng tất cả các quan sát duy nhất trong mẫu dữ liệu và tính xác suất tích lũy cho mỗi lần quan sát nhỏ hơn hoặc bằng với một quan sát nhất định chia cho tổng số quan sát.

Như sau:: Your results may vary given the stochastic nature of the algorithm or evaluation procedure, or differences in numerical precision. Consider running the example a few times and compare the average outcome.

Chúng ta có ít mẫu hơn với giá trị trung bình 20 so với các mẫu có giá trị trung bình là 40, chúng ta có thể thấy được phản ánh trong biểu đồ với mật độ mẫu lớn hơn khoảng 40 so với khoảng 20.

Biểu đồ biểu đồ của mẫu dữ liệu với phân phối xác suất lưỡng kim

Dữ liệu với phân phối này không phù hợp với phân phối xác suất chung theo thiết kế.

Dưới đây là một biểu đồ của hàm mật độ xác suất [PDF] của mẫu dữ liệu này.

Chức năng mật độ xác suất thực nghiệm cho mẫu dữ liệu lưỡng kim

Đó là một trường hợp tốt để sử dụng chức năng phân phối thực nghiệm.

Tính chức năng phân phối thực nghiệm

Một chức năng phân phối thực nghiệm có thể phù hợp với một mẫu dữ liệu trong Python.

Thư viện Python Statmodels cung cấp lớp ECDF để phù hợp với chức năng phân phối tích lũy theo kinh nghiệm và tính toán xác suất tích lũy cho các quan sát cụ thể từ miền.

Phân phối phù hợp bằng cách gọi ECDF [] và truyền trong mẫu dữ liệu thô.

.....

# phù hợp với CDF

ecdf=ECDF[sample]=ECDF[sample]

Khi phù hợp, hàm có thể được gọi để tính xác suất tích lũy cho một quan sát nhất định.

.....

# phù hợp với CDF

print['P[x['P[x

Bài Viết Liên Quan

Chủ Đề