1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận xác suất thống kê giữa kỳ

28 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tiểu luận xác suất thống kê
Tác giả Hà Thị Nguyệt Hà
Người hướng dẫn ThS Trần Lương Quốc Đại
Trường học Trường Đại học Tôn Đức Thắng
Chuyên ngành Xác suất thống kê
Thể loại Tiểu luận
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 28
Dung lượng 1,19 MB

Nội dung

CHƯƠNG 1 – Statistics library in Python1.1 Giới thiệu về thư viện Statistics: Thư viện Statistics trong python là một thư viện mang chức năng như một bộ công cụ mạnh mẽ được sử dụng để t

Trang 1

TIỂU LUẬN XÁC SUẤT THỐNG KÊ

GIỮA KỲ

Người hướng dẫn: ThS Trần Lương Quốc Đại Người thực hiện: Hà Thị Nguyệt Hà

Lớp : 22050201 Khoá : 26

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 2

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn đến 2 giảng viên đang giảng dạy cho em môn Xác suất thống kê, thầy Trần Lương Quốc Đại dạy thực hành môn và cô Huỳnh Thị Thùy Trâm dạy lý thuyết môn Hai giảng viên đã dạy tâm huyết và nhiệt tình giảng dạy, luôn giải đáp mọi thắc mắc của sinh viên và quan trọng nhất là giúp đỡ em trong việc làm tiểu luận giữa kỳ môn học Xác suất thống kê.

Trang 3

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH

TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướngdẫn khoa học của ThS Trần Lương Quốc Đại; Các nội dung nghiên cứu, kết quả trong

đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những sốliệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tácgiả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệucủa các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm

về nội dung luận văn của mình Trường đại học Tôn Đức Thắng không liên quan đến

những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Hồ Chí Minh, ngày 9 tháng 11 năm 2023

Tác giả (ký tên và ghi rõ họ tên)

Hà Thị Nguyệt Hà

Trang 5

CHƯƠNG 1 – Statistics library in Python 2

1.1 Giới thiệu về thư viện Statistics: 2

2.2 Hàm fmean(): 3

2.3 Hàm geomatric_mean(): 4

2.4 Hàm harmonic_mean(): 4

a)Có sử dụng weights: 5

b) Không sử dụng weights: 5

2.5 Hàm median(): 5

3.6 Hàm median_low(): 5

2.7 Hàm median_high(): 6

2.8.Hàm median_grouped(): 6

2.9 Hàm mode(): 7

2.11 Hàm quantiles: 8

2.12 Hàm pstdev(): 8

2.13 Hàm pvariance: 9

2.14 Hàm stdev(): 9

2.15 Hàm variance(): 10

2.16 Hàm covariance(): 10

2.17 Hàm correlation(): 11

2.18 Hàm liner_regression: 11

CHƯƠNG 2 – HISTOGRAM EQUALIZATION ALGORITHM 13

2.1 Trình bày, giới thiệu thuật toán: 13

2.2.1 Cơ sở lí thuyết: 14

2.2.2 Các bước của thuật toán: 15

CHƯƠNG 3 – HISTOGRAM MATCHING ALGORITHM 16

3.2.1 Cơ sở lí thuyết: 16

3.2.2 Minh họa: 17

CHƯƠNG 4 – IMPLEMENTATION 18

Tổng quát chương 4, 18

4.2 Histogram Matching Algorithm: 22

Trang 6

CHƯƠNG 1 – Statistics library in Python

1.1 Giới thiệu về thư viện Statistics:

Thư viện Statistics trong python là một thư viện mang chức năng như một bộ công

cụ mạnh mẽ được sử dụng để thực hiện các phép tính thống kê cơ bản trên bộ dữ liệu

số Được thiết kế và tích hợp sẵn trong thư viện chuẩn của Python, nó giúp người dùng

phân tích, mô tả và tính toán dữ liệu số

Công dụng của thư viện statistics:

-Tính toán các đại lượng cơ bản: Thư viện cung cấp các hàm để tính trung bình

(mean), độ lệch chuẩn (standard deviation), phương sai (variance), median, mode, và

nhiều đại lượng thống kê khác Những công cụ này giúp chúng ta có cái nhìn tổng quan

về trung tâm và phân phối của dữ liệu

-Phân tích trung tâm và phân phối: Bạn có thể sử dụng thư viện để xác định giá trị

trung bình của dữ liệu (mean), đồng thời điều này cũng giúp bạn hiểu về sự biến động

của dữ liệu thông qua độ lệch chuẩn (standard deviation) và phương sai (variance)

-Xác định tính tương đối của dữ liệu: Thư viện hỗ trợ trong việc xác định gitrung vị (median), giá trị xuất hiện nhiều nhất (mode), và các phân vị (percentiles),

giúp bạn hiểu rõ hơn về sự phân phối của dữ liệu

-Thực hiện trung bình trọng số: Nếu bạn làm việc với dữ liệu có trọng số, thư viện

cung cấp hàm fmean() để tính trung bình trọng số dựa trên trọng số của mỗi giá trị

-Hỗ trợ xử lý dữ liệu lớn: Các hàm trong thư viện được tối ưu hóa để xử lý cả dữ

liệu lớn, giúp bạn thực hiện các phép tính thống kê một cách hiệu quả

1.2 Hàm mean():

* Ý nghĩa: Hàm mean(data) tính giá trị trung bình (mean) của một danh sách dữ liệu

* Cú pháp: statistics.mean(data)

Trong đó, data là đối số đầu vào của hàm, đại điện cho danh sách dữ liệu mà bạn

muốn tính giá trị trung bình

Trang 8

Kết quả trả về:

2.4 Hàm harmonic_mean():

* Ý nghĩa: Hàm harmonic_mean được sử dụng để trả về giá trị trung bình hài hòa của

dữ liệu, một chuỗi hoặc số lần lặp của các số có giá trị thực Nếu weights bị bỏ qua hoặc không có thì giả sử trọng số bằng nhau

Trang 9

Trong đó, data là đối số đầu vào của hàm, đại diện cho danh sách dữ liệu mà bạnmuốn tính giá trị trung vị.

Ví dụ:

Kết quả trả về:

3.6 Hàm median_low():

*Ý nghĩa: Hàm median_low(data) dùng để trả về giá trị trung bình thấp của dữ liệu

số Nếu dữ liệu trống, lỗi thống kê sẽ xuất hiện dữ liệu có thể là một chuỗi hoặc có thể lặp lại

Trang 10

Kết quả trả về:

2.8.Hàm median_grouped():

*Ý nghĩa: Hàm statistics.median_grouped(data, interval=1) được sử dụng để tính giá trịtrung vị (median) của một dãy dữ liệu nhóm (grouped data) Hàm này cho phép bạn tính giá trị trung vị khi bạn chỉ có thông tin về các nhóm dữ liệu và không biết giá trị

* Cú pháp: statistics.mode(data)

Trong đó, data là danh sách các chứa số

Ví dụ:

Kết quả trả về:

Trang 11

2.10 Hàm multimode():

* Ý nghĩa: Hàm multimode dùng để trả về danh sách các giá trị xuất hiện thường xuyên nhất theo thứ tự chúng xuất hiện lần đầu trong dữ liệu, hàm này sẽ trả về nhiều kết quả nếu có nhiều chế độ hoặc danh sách trống nếu dữ liệu trống

* Cú pháp: statistics.quantiles(data, *, n=4, method='exclusive')

Trong đó

+ data là bộ dữ liệu truyền vào

+ n là số lượng phân vị mà bạn muốn tính, mặc định chính là 4(ở đây có thể hiểu là chia theo 4 phần bằng nhau)

+ method là phương pháp tính toán giá trị phân vị, tùy chọn Mặc định phương pháp là ‘exclusive’

Ví dụ:

Kết quả trả về:

Trang 12

2.12 Hàm pstdev():

* Ý nghĩa: Hàm pstdev() được sử dụng để tính độ lệch chuẩn dự đoán của một bộ dữ liệu Từ đó ta thấy được độ phân tán của các giá trị trong bộ dữ liệu, tìm ra đại điện chotoàn bộ bộ dữ liệu

*Cú pháp: statistics.pstdev(data,mu=None)

Trong đó

+ data là bộ dữ liệu truyền vào

+ mu là giá trị trung bình dự đoán của bộ dữ liệu, nếu không được cung cấp, hàm sẽ tự động tính giá trị trung bình từ bộ dữ liệu truyền vào

Ví dụ:

Kết quả trả về:

2.13 Hàm pvariance:

* Ý nghĩa: Hàm pvariance dùng để dự đoán phương sai của một bộ dữ liệu Phương sai

dự đoán đo lường mức độ phân tán của các giá trị trong bộ dữ liệu

* Cú pháp: statistics.pvariance(data,mu=None)

Trong đó:

+ data là bộ dữ liệu truyền vào

+ mu là giá trị trung bình dự đoán của bộ dữ liệu.Nếu không cung cấp tham số, thì nó sẽ tự tính giá trị trung bình từ dữ liệu có sẵn

Ví dụ:

Kết quả trả về:

Trang 13

2.14 Hàm stdev():

* Ý nghĩa: Hàm dùng để ước tính độ lệch chuẩn dựa trên mẫu Độ lệch chuẩn là số đo

độ phân tán của các giá trị so với giá trị trung bình

* Cú pháp: statistics.stdev(data,xbar=None)

Trong đó,

+ data là bộ dữ liệu truyền vào

+ xbar là giá trị trung bình của mẫu, nếu không được cung cấp thì hàm này sẽ tự động tính giá trị trung bình từ bộ dữu liệu có sẵn

* Cú pháp: statistics.variance(data,xbar=None)

Trong đó:

+ data là bộ dữ liệu truyền vào

+ xbar là giá trị trung bình của bộ dữ liệu, nếu không cung cấp sẽ tự độngtính giá trị trung bình của bộ dữ liệu đã truyền vào

Ví dụ:

Kết quả trả về:

Trang 14

2.16 Hàm covariance():

* Ý nghĩa: Hàm covariance dùng để trả về hiệp phương sai của thổng thể bộ dữ liệu tức

là trung bình tích của các độ lệch cho mỗi cặp điểm dữ liệu tronh hai tập dữ liệu Hiệp phương sai cho ta thấy mối tương gian giữa hai bộ dữ liệu

* Cú pháp: statistics.covariance(x, y, /)

Trong đó:

+ x là mảng hoặc chuỗi dữ liệu thứ 1

+ y là mảng hoặc chuỗi dữ liệu thứ 2

Trang 15

*Ý nghĩa: Hàm dùng để thực hiện phân tích hồi quy tuyến tính giữa hai tập dữ liệu x,

y Có thể hiểu cách khác là tìm ra một đường thẳng gần nhất biểu diễn mối quan hệ tuyến tính giữa hai biên

*Cú pháp:statistics.linear_regression(x, y, /, *, proportional=False)

Ví dụ:

Kết quả trả về:

Trang 16

CHƯƠNG 2 – HISTOGRAM EQUALIZATION ALGORITHM

2.1 Trình bày, giới thiệu thuật toán:

2.1.1 Khái niệm thuật toán Histogram Equalization:

Histogram equaliztion (Cân bằng lược đồ mức xám) tức là đưa lược đồ mức độ

về dạng chuẩn hay có thể hiểu là làm tăng, giảm độ tương phản tổng thể của nhiều hìnhảnh Có thể hiểu cách khác là, cân bằng Histogram(lược đồ xám) hay chính là biểu đồtần xuất thống kê số lần xuất hiện các mức xám trong ảnh Thông qua việc điểu chìnhnày cường độ mức xám trong mỗi bức hình có thể được phân bổ tốt hơn trên biểu đồ.Điều này cho phép, các khu vực có mức xám thấp hơn có thể cải thiện tốt hơn và đồngđều hơn so với các khu vực khác

Ví dụ ảnh minh họa:

Hình 2.1.1.1 Ví dụ cho thuật toán Histogram Equaliztion

Trang 17

Ta có công thức hàm chuyển đổi như sau:

Để cân bằng được lược đồ mức xám ta phải tính được lược đồ mức xám

Ví dụ hình ảnh có kích thước 4x5:

Trang 18

2.2.2 Các bước của thuật toán:

Bước 1: Thống kê được số lượng các pixel n(k) tương ứng đối với từng mứcxám r(k)

Bước 2: Tính các hàm phân bố tích lũy cho (cdf) các điểm mức ảnh có mức xámnhỏ hơn hoặc bằng k:

Bước 3: Tính giá trị các pixel mới s(k) theo công thức như sau:

Trang 19

CHƯƠNG 3 – HISTOGRAM MATCHING ALGORITHM

3.1 Trình bày, giới thiệu thuật toán:

3.1.1 Khái niệm thuật toán Histogram Matching:

Thuật toán Histogram matching còn được gọi là cân bằng histogram, đây là ttoán sử dụng dùng để điều chỉnh độ sáng của một ảnh bằng cách sửa đổi phân phối

cường độ của nó Hướng sử dụng của thuật toán này chính là tăng cường độ tương

phản bằng cách phân phối lại các giá trị pixel qua toàn bộ dài cường độ

3.2 Phương pháp cân bằng của thuật toán Histogram Matching:

3.2.1 Cơ sở lí thuyết:

Ta có:

a: Giá trị xám của một điểm ảnh đầu vào

z: Giá trị xám của một điểm ảnh đầu ra

Ta sẽ biến đổi lược đồ xám của ảnh đầu vào theo lược đồ xám cụ thể nào đó

Các bước của thuật toán:

Bước 1: Tính lược đồ xám h(a) ảnh đầu vào

Bước 2: Cân bằng lược đồ mức xám h(a) ta được:

Bước 3: Cân bằng lược đồ mức xám mẫu ta được:

Trang 20

3.2.2 Minh họa:

Trang 21

CHƯƠNG 4 – IMPLEMENTATION

Tổng quát chương 4,

4.1 Histogram Equalization Algorithm

4.1.2Code mẫu về thuật toán Histogram Equalization:

Code bằng ngôn ngữ lập trình python với tệp ảnh truyền vào tên là ‘example2_image’

4.1.3 Giải thích code mẫu về thuật toán Histogram Equalization:

Bước 1: Khai báo thư viện OpenCV, thư viện Numpy , thư viện Matplotlib vàtruyền ảnh vào

+ Thư viện OpenCV chuyên về xử lý ảnh

+ thư viện Numpy để làm việc với mảng vầ ma trận dễ dàng

+ thư viện Matplotlib sử dụng để vẽ đồ thị và hiển thị hình ảnh

Trang 22

Sử dụng hàm ‘cv2.imread’ là một hàm của thư viện OpenCV, để đọc tệp hìnhảnh

Bước 2: Tính lược đồ mức xám (Histogram ): ở bước này, tính lược đồ mứcxám của hình ảnh Số liệu của lược đồ chính là đếm số lần xuất hiện của các giá trịmức xám của hình ảnh Nó cũng thể hiện tần suất của mỗi giá trị mức xám Mức xámcủa một bước ảnh sẽ nằm trong khoảng 0 đến 255 Điều này có thể hiểu rằng mộtpixel trong hình ảnh có thể có mức xám từ 0 ( đen hoàn toàn) tới 255 (trắng hoàn toàn)

Với hình ảnh truyền vào ‘example1_image’, dòng đầu tiên sử dụng hàm

‘cv2.calcHist’ từ thư viện OpenCv để tính toán lược đồ mức xám của hình ảnhtruyền vào Tiếp theo đó sử dụng hàm ‘np.histogram’ từ thư viện Numpy để tínhlược đồ mức xám từ hình ảnh truyền vào ‘example1_image’ bao gồm các tham số

‘example1_image’ , 256 là số lượng bins(khoảng phạm vi mức xám mà bạn chiatrong lược đồ mức xám), và ‘[0,256]’ là phạm vi mức xám

Bước 3: Chuẩn hóa lược đồ (Histogram Normaliztion) : thực hiện chuẩnhóa, điều này đảm bảo rằng tổng các gía trị trong lược đồ bằng tổng số pixel tronghình ảnh Lược đồ có thể thể hiện dưới dạng phân phối xác suất.(Bước này có thểgộp chung với bước 1)

Trang 23

Bước 4: Tính CDF(Hàm phân phối tích lũy) từ lược đồ mức xám CFD tích lũydưới dạng hàm liên tục và tăng dần, biểu thị xác suất của giá trị mức xám nhất địnhtrong hình ảnh.

Ở bước này, ta sẽ có CDF và CDF đã được chuẩn hóa

Bước 5: Tạo hàm ánh xạ(Mapping Function) Sau khi đã tính được CDF vàchuẩn hóa Ta dùng hàm ánh xạ để ánh xạ các xá trị mức xám (có giá trị từ 0 đến 255).Hàm này cho phép biến đổi các giá trị mức xám ban đầu để phân phối đến các khu vựcmức xám khác nhau của hình ảnh

Trong bước này ta sử dụng hàm ‘np.interp’ trong thư viện Numpy của Python,dùng để thực hiện các bước ánh xạ giữa giá trị mức xám trong từng khu vực ảnh banđầu và giá trị mức xám mới cân bằng Hàm bao gồm các tham số truyền vào là hìnhảnh gốc, ‘range(256)’ là một mảng từ 0 đến 256 chứa các giá trị mức xám của một hìnhảnh và mảng chứa giá trị ‘cdf_normalized’ đã được chuẩn hóa( được đảm bảo rằng giátrị lớn nhất là 255, phù hợp với khoảng mức xám từ 0 đến 255)

Bước 6: Áp dụng hàm ánh xạ để cân bằng lược đồ

Ở đây ta dùng phương thức ‘.astype()’ của thư viện Numpy để thay đổi kiểu dữ liệu hình ảnh Điều có có nghĩa là các gía trị mức xám được biểu diễn dưới dạng

số nguyên 8 bit, và các gía trị mức xám vẫn trong khoảng từ 0 đến 255.Bước 7: Tính lược đồ mức xám của hình ảnh đã được cân bằng

Trang 24

Ta tính lược đồ của hình cảnh cân bằng như cách ta tính lược đồ của hình ảnh

‘example1_image’ Ta sử dụng ‘anh_can_bang.flatten() thành một mảng một chiều để thuận tiện tính toán histogram Bước này thực hiện giống bước 2, sử dụng hàm

‘np.histogram’, với tham số ‘anh_can_bang.flatten()’, số lượng bin là 256 và phạm vi giá trị của histogram

-plt.title('Hình ảnh gốc'): Đặt tiêu đề cho hình

*In ra hình ảnh đã cân bằng (anh_can_bang):

-plt.subplot(222): Chọn vùng hiển thị thứ hai

-plt.imshow(anh_can_bang, 'gray'): Hiển thị hình ảnh đã cân bằng

Trang 25

-plt.title('Hình ảnh đã cân bằng'): Đặt tiêu đề cho hình

-Lược đồ màu xám của ảnh gốc và đã cân bằng: plt.subplot(223): Chọn vùng hiển thị thứ ba

-plt.hist(example2_image.flatten(), bins=256, range=(0, 256), density=True, cumulative=False): Vẽ lược đồ màu xám của ảnh gốc

-plt.title('Lược đồ màu xám ảnh gốc'): Đặt tiêu đề cho lược đồ plt.subplot(224): Chọn vùng hiển thị thứ tư

-plt.hist(anh_can_bang.flatten(), bins=256, range=(0, 256), density=True, cumulative=False): Vẽ lược đồ màu xám của ảnh đã cân bằng

-plt.title('Lược đồ màu xám ảnh đã cân bằng'): Đặt tiêu đề cho lược đồ.-plt.show(): Hiển thị hình vẽ

4.2 Histogram Matching Algorithm:

4.1.2 Code mẫu về thuật toán Matching Algorithm:

Trang 26

4.1.3 Giải thích code mẫu về thuật toán Histogram Matching:

Bước 1: Khai báo thư viện( tương tự với thuật toán Histogram Equalization.Bước 2: Tạo hàm ‘hist_match’ để thực hiện quá trình histogram matching giữanguồn và ảnh mẫu

+ Tính histogram và CDF của ảnh nguồn và ảnh mẫu:

Ở đây ta có thể thấy hàm áp dụng giống với thuật toán Histogram Equalizationa.+Tính toán hàm phân phối tích lũy CDF của ảnh nguồn và ảnh mẫu:

Trang 27

Đối với tính toán hàm phân phối tích lũy, ta sử dụng hàm ‘np.cumsum’ để tínhtổng tích lũy của ảnh nguồn và ảnh mẫu, với đối số truyền vào là tính histogram vàCDF.

+Chuẩn hóa CDF:

Ta có áp dụng công thức chuẩn hóa của ảnh nguồn và ảnh mẫu:

-source_cdf.min(): Là giá trị nhỏ nhất trong hàm CDF của histogram của ảnhnguồn

-source_cdf.max(): Là giá trị lớn nhất trong hàm CDF của histogram của ảnhnguồn

-(source_cdf - source_cdf.min()): Dịch chuyển giá trị của hàm CDF để đưa giátrị nhỏ nhất về 0

-* 255 / (source_cdf.max() - source_cdf.min()): Thực hiện tỷ lệ để đưa giá trịlớn nhất về 255

-source_cdf.astype('uint8'): Chuyển đổi kiểu dữ liệu của hàm CDF sang kiểu dữliệu uint8, điều có có nghĩa là các gía trị mức xám được biểu diễn dưới dạng sốnguyên 8 bit, và các gía trị mức xám vẫn trong khoảng từ 0 đến 255

+ Tạo hàm ánh cạ từ ảnh nguồn sang ảnh mẫu:

+ Áp dụng hàm ánh xạ lên ảnh nguồn:

Ngày đăng: 04/10/2024, 15:44

w