Cốt truyện Q-Q Python

Các nhà khoa học dữ liệu thường cần kiểm tra số liệu thống kê của bộ dữ liệu của họ, đặc biệt là đối với các bản phân phối đã biết hoặc so sánh chúng với các bộ dữ liệu khác. Có một số thử nghiệm giả thuyết mà chúng ta có thể thực hiện cho mục tiêu này, nhưng tôi thường thích sử dụng cách biểu diễn đồ họa đơn giản hơn. Tôi đang nói về cốt truyện QQ

Cốt truyện QQ là gì?

Biểu đồ Q-Q thường được gọi là biểu đồ lượng tử. Đó là một biểu đồ 2D trong đó chúng tôi so sánh các lượng tử lý thuyết của một phân phối với các lượng tử mẫu của một tập dữ liệu. Nếu tập dữ liệu đã được tạo từ phân phối đó, chúng tôi hy vọng biểu đồ này sẽ gần với đường 45 độ, vì các lượng phân vị mẫu sẽ tương tự như các lượng phân vị lý thuyết. Nếu mẫu đã được tạo từ một bản phân phối khác, chúng tôi sẽ không nhận được dòng 45

Bằng cách này, chúng ta có thể dễ dàng hình dung liệu tập dữ liệu có giống với phân phối lý thuyết hay không. Chúng ta có thể sử dụng các biểu đồ Q-Q ngay cả khi so sánh hai bộ dữ liệu, miễn là chúng có cùng số điểm

Một ví dụ trong Python

Bây giờ chúng ta hãy xem cách biểu đồ Q-Q hoạt động trong Python. Bạn có thể tìm thấy toàn bộ mã trên repo GitHub của tôi

Trước tiên, hãy nhập một số thư viện và hãy đặt hạt giống số ngẫu nhiên để làm cho các mô phỏng của chúng ta có thể tái tạo được

from statsmodels.graphics.gofplots import qqplot
from matplotlib import pyplot as plt
plt.rcParams['figure.figsize'] = [10, 7]
plt.rc['font', size=14]
from scipy.stats import norm, uniform
import numpy as np
np.random.seed[0]

Bây giờ, hãy mô phỏng 1000 điểm được phân phối đồng đều trong khoảng từ 0 đến 1 và hãy so sánh tập dữ liệu này với phân phối chuẩn có cùng giá trị trung bình và phương sai. Chúng tôi hy vọng sẽ có được biểu đồ QQ rất khác với đường 45 độ, bởi vì hai bản phân phối khá khác nhau

x = np.random.uniform[1,2,1000]

Để vẽ biểu đồ QQ với tập dữ liệu này theo phân phối chuẩn phù hợp nhất, chúng ta có thể viết mã này

qqplot[x,norm,fit=True,line="45"]
plt.show[]

Đối số fit=True cố gắng điều chỉnh phân phối chuẩn cho tập dữ liệu của chúng tôi theo khả năng tối đa. Như chúng ta có thể thấy, các lượng tử mẫu khá khác so với các lượng tử lý thuyết, bởi vì các điểm màu xanh nằm rất xa so với đường màu đỏ, là đường 45 độ

Bây giờ hãy thử với tập dữ liệu được phân phối bình thường

x = np.random.normal[1,2,1000]
qqplot[x,norm,fit=True,line="45"]
plt.show[]

Kết quả là khá khác nhau, bây giờ. Các lượng tử mẫu rất giống với các lượng tử lý thuyết [i. e. các điểm màu xanh gần với đường màu đỏ]. Có một số ngoại lệ gây ra một số nhiễu ở giới hạn dưới và trên của biểu đồ này, nhưng đó không phải là vấn đề lớn, bởi vì phần lớn nhất của phân phối mẫu phù hợp khá tốt với lý thuyết

Tất nhiên, thay đổi đối số thứ hai của hàm qqplot, chúng ta có thể so sánh tập dữ liệu mẫu của mình với một phân phối khác. Ví dụ: chúng ta có thể so sánh tập dữ liệu được phân phối thông thường của mình với tập dữ liệu phân phối đồng đều

qqplot[x,uniform,fit=True,line="45"]
plt.show[]

Đúng như dự đoán, kết quả không tốt lắm, vì phân phối tập dữ liệu của chúng tôi đã được tạo từ đó rất khác với phân phối đồng nhất phù hợp nhất

Đăng ký hội thảo trên web sắp tới

Tên của bạn [bắt buộc]

Email của bạn [bắt buộc]

Đặt hàng sách của tôi trên tiền xử lý

Trong cuốn sách này, tôi trình bày cách sử dụng thực tế ngôn ngữ lập trình Python để thực hiện các tác vụ tiền xử lý trong các dự án máy học

  • Làm sạch dữ liệu
  • Mã hóa các biến phân loại
  • Phân tích thành phần chính
  • mở rộng quy mô
  • đóng thùng
  • chuyển đổi quyền lực
  • lựa chọn tính năng
  • SMOTE

Có sẵn ở định dạng sách bìa mềm và sách điện tử

Đặt mua sách của tôi ngay bây giờ trên Amazon

Tôi đồng ý nhận thông tin cập nhật qua email và thông tin tiếp thị

Nhấp vào "Đăng ký", bạn đồng ý với Chính sách bảo mật của chúng tôi

Trong hội thảo trực tuyến này, khóa học Tầm quan trọng của tính năng và diễn giải mô hình trong Python được giới thiệu. Nội dung của khóa học và lợi ích của nó sẽ được trình bày

Tham gia khóa học miễn phí của tôi

Tham gia khóa học miễn phí của tôi về Exploratory Data Analysis và bạn sẽ học

  • trực quan hóa dữ liệu
  • phân tích đa biến
  • phân tích tương quan
  • các thư viện Python hữu ích nhất

tham gia khóa học

Biểu đồ Q-Q với 2 bộ dữ liệu

Biểu đồ Q-Q có thể được sử dụng ngay cả với 2 bộ dữ liệu, miễn là chúng có cùng số điểm. Để có được các lượng tử mẫu của cả hai bộ dữ liệu, chúng ta chỉ cần sắp xếp chúng tăng dần và vẽ chúng

Hãy tạo hai bộ dữ liệu phân phối chuẩn từ 2 phân phối chuẩn có cùng giá trị trung bình và cùng phương sai

x1 = np.random.normal[1,2,1000]
x2 = np.random.normal[1,2,1000]

Bây giờ chúng ta có thể sắp xếp dữ liệu của mình

x1.sort[]
x2.sort[]

Và sau đó chúng ta có thể vẽ nó

plt.scatter[x1,x2]
plt.plot[[min[x1],max[x1]],[min[x1],max[x1]],color="red"]
plt.xlabel["1st dataset's quantiles"]
plt.ylabel["2nd dataset's quantiles"]
plt.show[]

Như chúng ta có thể thấy, vẫn còn một chút nhiễu ở phần đuôi, nhưng phần trung tâm của các bản phối khớp khá tốt

kết luận

Trong bài viết này, tôi trình bày cách sử dụng biểu đồ Q-Q để kiểm tra sự giống nhau giữa phân phối mẫu và phân phối lý thuyết hoặc giữa hai mẫu. Mặc dù có một số thử nghiệm giả thuyết có thể được thực hiện để đạt được mục tiêu này [e. g. Kolmogorov-Smirnov], tôi thích sử dụng trực quan hóa dữ liệu để có biểu diễn trực quan về các hiện tượng trong tập dữ liệu của chúng tôi. Bằng cách này, cách giải thích của chúng tôi không bị sai lệch bởi bất kỳ thử nghiệm giả thuyết nào và rõ ràng hơn để trình bày ngay cả với những người không có kỹ thuật

Q có nghĩa là gì

Biểu đồ lượng tử-lượng tử [q-q] là một kỹ thuật đồ họa để xác định xem hai tập dữ liệu có đến từ các tập hợp có phân phối chung hay không . Biểu đồ q-q là một biểu đồ gồm các phân vị của tập dữ liệu đầu tiên so với các phân vị của tập dữ liệu thứ hai.

lượng tử là gì

Khi lượng tử của hai biến được vẽ trên đồ thị đối lập với nhau , thì đồ thị thu được được gọi là lượng tử – đồ thị lượng tử hoặc qqplot. Biểu đồ này cung cấp một bản tóm tắt về việc phân phối của hai biến có giống nhau hay không đối với các vị trí.

Q là gì

Các ô QQ còn được gọi là các ô Lượng tử-Lượng tử. Đúng như tên gọi, chúng vẽ đồ thị các nhóm phân vị của một phân phối mẫu so với các nhóm phân vị của một phân phối lý thuyết . Làm điều này giúp chúng tôi xác định xem một tập dữ liệu có tuân theo bất kỳ loại phân phối xác suất cụ thể nào như thông thường, thống nhất, theo cấp số nhân hay không.

là một Q

Loại biểu đồ Q Q cụ thể này được gọi là biểu đồ lượng tử-phân vị bình thường [QQ] . Các điểm không được nhóm lại trên đường 45 độ và trên thực tế đi theo một đường cong, cho thấy dữ liệu mẫu không được phân phối bình thường.

Chủ Đề