Hướng dẫn spearman correlation plot python - biểu đồ tương quan spearman python
Các hệ số tương quan định lượng liên kết giữa các biến hoặc tính năng của bộ dữ liệu. Những thống kê này có tầm quan trọng cao đối với khoa học và công nghệ, và Python có những công cụ tuyệt vời mà bạn có thể sử dụng để tính toán chúng. Các phương pháp tương quan SCIPY, NUMPY và PANDAS là nhanh chóng, toàn diện và được ghi chép rõ ràng. quantify the association between variables or features of a dataset. These statistics are of high importance for science and technology, and Python has great tools that you can use to calculate them. SciPy, NumPy, and Pandas correlation methods are fast, comprehensive, and well-documented. Show
Nội phân Chính showShow
Nội phân chính
Nội phân chính
Cách sử dụng các chức năng tương quan Scipy, Numpy và Pandas Tương quanCách trực quan hóa dữ liệu, đường hồi quy và ma trận tương quan với matplotlibobservation, and the features are the properties or attributes of those observations. Bạn sẽ bắt đầu với một lời giải thích về mối tương quan, sau đó xem ba ví dụ giới thiệu nhanh, và cuối cùng đi sâu vào các chi tiết về mối tương quan Numpy, Scipy và Pandas.
Cho dù có mối quan hệ giữa kinh nghiệm làm việc và lương của nhân viên Sự phụ thuộc toán học nào tồn tại giữa mật độ dân số và tổng sản phẩm quốc nội của các quốc gia khác nhau
Tom Ivycorrelation between those two features. Consider the following figures: Trong bảng này, mỗi hàng đại diện cho một quan sát hoặc dữ liệu về một nhân viên (Ann, Rob, Tom hoặc Ivy). Mỗi cột hiển thị một thuộc tính hoặc tính năng (tên, kinh nghiệm hoặc tiền lương) cho tất cả các nhân viên.
Yếu hoặc không có mối tương quan (các chấm màu xanh lá cây): cốt truyện ở giữa cho thấy không có xu hướng rõ ràng. Đây là một hình thức tương quan yếu, xảy ra khi mối liên hệ giữa hai tính năng không rõ ràng hoặc khó có thể quan sát được. Tương quan dương (các chấm màu xanh): Trong biểu đồ bên phải, các giá trị y có xu hướng tăng khi các giá trị x tăng. Điều này minh họa mối tương quan tích cực mạnh mẽ, xảy ra khi các giá trị lớn của một tính năng tương ứng với các giá trị lớn của cái kia và ngược lại. Hình tiếp theo biểu thị dữ liệu từ bảng nhân viên ở trên: Có một số thống kê mà bạn có thể sử dụng để định lượng tương quan. Trong hướng dẫn này, bạn sẽ tìm hiểu về ba hệ số tương quan:
Các biện pháp hệ số Pearson sườn có mối tương quan tuyến tính, trong khi các hệ số Spearman và Kendall so sánh các cấp bậc của dữ liệu. Có một số chức năng và phương pháp tương quan Numpy, Scipy và Gandas mà bạn có thể sử dụng để tính toán các hệ số này. Bạn cũng có thể sử dụng matplotlib để minh họa thuận tiện cho kết quả. Ví dụ: Tính toán tương quan numpyNumpy có nhiều thói quen thống kê, bao gồm 6, trả về một ma trận của các hệ số tương quan Pearson. Bạn có thể bắt đầu bằng cách nhập Numpy và xác định hai mảng Numpy. Đây là những trường hợp của lớp 7. Gọi chúng là 8 và 9:>>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.Khi bạn có hai mảng có cùng độ dài, bạn có thể gọi 6 với cả hai mảng làm đối số:>>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.
Khi bạn có hai mảng có cùng độ dài, bạn có thể gọi 6 với cả hai mảng làm đối số: 5 Trả về ma trận tương quan, đây là một mảng hai chiều với các hệ số tương quan. Tại đây, một phiên bản đơn giản hóa của ma trận tương quan bạn vừa tạo:Pearson correlation coefficient for 8 and 9. In this case, it’s approximately 0.76.Các giá trị trên đường chéo chính của ma trận tương quan (phía trên bên trái và dưới bên phải) bằng 1. Giá trị bên trái trên tương ứng với hệ số tương quan của 8 và 8, trong khi giá trị bên phải dưới là hệ số tương quan cho 9 và 9. Chúng luôn bằng 1.Tuy nhiên, những gì bạn thường cần là các giá trị bên trái và trên bên phải của ma trận tương quan. Các giá trị này bằng nhau và cả hai đại diện cho hệ số tương quan Pearson cho 8 và 9. Trong trường hợp này, nó có khoảng 0,76.Hình này cho thấy các điểm dữ liệu và các hệ số tương quan cho ví dụ trên:Các hình vuông màu đỏ là các điểm dữ liệu. Như bạn có thể thấy, hình cũng hiển thị các giá trị của ba hệ số tương quan.
Ví dụ: Tính toán tương quan SCIPY >>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.
Các giá trị trên đường chéo chính của ma trận tương quan (phía trên bên trái và dưới bên phải) bằng 1. Giá trị bên trái trên tương ứng với hệ số tương quan của 8 và 8, trong khi giá trị bên phải dưới là hệ số tương quan cho 9 và 9. Chúng luôn bằng 1.p-value in statistical methods when you’re testing a hypothesis. The p-value is an important measure that requires in-depth knowledge of probability and statistics to interpret. To learn more about them, you can read about the basics or check out a data scientist’s explanation of p-values.Tuy nhiên, những gì bạn thường cần là các giá trị bên trái và trên bên phải của ma trận tương quan. Các giá trị này bằng nhau và cả hai đại diện cho hệ số tương quan Pearson cho 8 và 9. Trong trường hợp này, nó có khoảng 0,76.>>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.>>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.Khi bạn có hai mảng có cùng độ dài, bạn có thể gọi 6 với cả hai mảng làm đối số:>>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.Khi bạn có hai mảng có cùng độ dài, bạn có thể gọi >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 6 với cả hai mảng làm đối số: 5 Trả về ma trận tương quan, đây là một mảng hai chiều với các hệ số tương quan. Tại đây, một phiên bản đơn giản hóa của ma trận tương quan bạn vừa tạo:>>>
Tại đây, bạn sử dụng 0 để tạo một mảng 8 số nguyên giữa 10 (bao gồm) và 20 (độc quyền). Sau đó, bạn sử dụng 2 để tạo một mảng thứ hai 9 chứa các số nguyên tùy ý.
5 Trả về ma trận tương quan, đây là một mảng hai chiều với các hệ số tương quan. Tại đây, một phiên bản đơn giản hóa của ma trận tương quan bạn vừa tạo:Các giá trị trên đường chéo chính của ma trận tương quan (phía trên bên trái và dưới bên phải) bằng 1. Giá trị bên trái trên tương ứng với hệ số tương quan của >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 và >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8, trong khi giá trị bên phải dưới là hệ số tương quan cho >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 và >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9. Chúng luôn bằng 1.Tuy nhiên, những gì bạn thường cần là các giá trị bên trái và trên bên phải của ma trận tương quan. Các giá trị này bằng nhau và cả hai đại diện cho hệ số tương quan Pearson cho Hình này cho thấy các điểm dữ liệu và các hệ số tương quan cho ví dụ trên:Các hình vuông màu đỏ là các điểm dữ liệu. Như bạn có thể thấy, hình cũng hiển thị các giá trị của ba hệ số tương quan.x and y. Each feature has n values, so x and y are n-tuples. Say that the first value x₁ from x corresponds to the first value y₁ from y, the second value x₂ from x to the second value y₂ from y, and so on. Then, there are n pairs of corresponding values: (x₁, y₁), (x₂, y₂), and so on. Each of these x-y pairs represents a single observation. Hệ số tương quan Pearson (Moment-Moment) là thước đo mối quan hệ tuyến tính giữa hai tính năng. Nó có tỷ lệ hiệp phương sai của X và Y so với sản phẩm của độ lệch chuẩn của chúng. Nó thường được biểu thị bằng chữ R và được gọi là Pearson Lau r. Bạn có thể thể hiện giá trị này về mặt toán học với phương trình này:Pearson (product-moment) correlation coefficient is a measure of the linear relationship between two features. It’s the ratio of the covariance of x and y to the product of their standard deviations. It’s often denoted with the letter r and called Pearson’s r. You can express this value mathematically with this equation: r = σᵢ ((xᵢ - trung bình (x)) (yᵢ - trung bình (y))) (√σᵢ (xᵢ - trung bình (x)) ² √σᵢ (yᵢ - trung bình (y)) ²) Ở đây, tôi đảm nhận các giá trị 1, 2, Hồi, n. Các giá trị trung bình của x và y được biểu thị bằng giá trị trung bình (x) và trung bình (y). Công thức này cho thấy rằng nếu các giá trị x lớn hơn có xu hướng tương ứng với các giá trị y lớn hơn và ngược lại, thì r là dương. Mặt khác, nếu các giá trị x lớn hơn chủ yếu được liên kết với các giá trị y nhỏ hơn và ngược lại, thì r là âm.x and y are denoted with mean(x) and mean(y). This formula shows that if larger x values tend to correspond to larger y values and vice versa, then r is positive. On the other hand, if larger x values are mostly associated with smaller y values and vice versa, then r is negative. Dưới đây là một số sự thật quan trọng về hệ số tương quan Pearson:
Các sự kiện trên có thể được tóm tắt trong bảng sau:
Nói tóm lại, giá trị tuyệt đối lớn hơn của R cho thấy mối tương quan mạnh hơn, gần với hàm tuyến tính hơn. Một giá trị tuyệt đối nhỏ hơn của r cho thấy mối tương quan yếu hơn. Hồi quy tuyến tính: Thực hiện SCIPYHồi quy tuyến tính là quá trình tìm thấy chức năng tuyến tính càng gần càng tốt với mối quan hệ thực tế giữa các tính năng. Nói cách khác, bạn xác định chức năng tuyến tính mô tả đúng nhất mối liên hệ giữa các tính năng. Hàm tuyến tính này còn được gọi là đường hồi quy. Bạn có thể thực hiện hồi quy tuyến tính với SCIPY. Bạn sẽ nhận được chức năng tuyến tính gần đúng nhất mối quan hệ giữa hai mảng, cũng như hệ số tương quan Pearson. Để bắt đầu, trước tiên bạn cần nhập thư viện và chuẩn bị một số dữ liệu để hoạt động: >>>
Ở đây, bạn nhập 9 và 2 và xác định các biến 8 và 9.Bạn có thể sử dụng 3 để thực hiện hồi quy tuyến tính cho hai mảng có cùng độ dài. Bạn nên cung cấp các mảng làm đối số và nhận các đầu ra bằng cách sử dụng ký hiệu DOT:>>>
Ở đây, bạn nhập 9 và 2 và xác định các biến 8 và 9.
6: Giá trị P 7: Lỗi tiêu chuẩn của gradient ước tính>>> 0Ở đây, bạn nhập 9 và 2 và xác định các biến 8 và 9.Bạn có thể sử dụng 3 để thực hiện hồi quy tuyến tính cho hai mảng có cùng độ dài. Bạn nên cung cấp các mảng làm đối số và nhận các đầu ra bằng cách sử dụng ký hiệu DOT:
Đó là nó! Bạn đã hoàn thành hồi quy tuyến tính và nhận được kết quả sau: >>> 1Ở đây, bạn nhập 9 và 2 và xác định các biến 8 và 9.>>> 2Ở đây, bạn nhập 9 và 2 và xác định các biến 8 và 9.Bạn có thể sử dụng 3 để thực hiện hồi quy tuyến tính cho hai mảng có cùng độ dài. Bạn nên cung cấp các mảng làm đối số và nhận các đầu ra bằng cách sử dụng ký hiệu DOT:Not a Number values. But if your data contains 05 values, then you won’t get a useful result with 8:>>> 3Trong trường hợp này, đối tượng kết quả của bạn trả về tất cả các giá trị 05. Trong Python, 05 là một giá trị điểm nổi đặc biệt mà bạn có thể nhận được bằng cách sử dụng bất kỳ điều nào sau đây:
Bạn cũng có thể kiểm tra xem một biến tương ứng với 05 với 13 hoặc 14.Tương quan Pearson: Thực hiện Numpy và ScipyBạn đã thấy cách có được hệ số tương quan Pearson với 5 và 3:>>> 4Lưu ý rằng nếu bạn cung cấp một mảng có giá trị 05 cho 3, bạn sẽ nhận được 19.Có một vài chi tiết bổ sung đáng để xem xét. Đầu tiên, nhớ lại rằng 6 có thể lấy hai mảng numpy làm đối số. Thay vào đó, bạn có thể vượt qua một mảng hai chiều duy nhất có cùng giá trị với đối số:>>> 5Kết quả là giống nhau trong các ví dụ này và trước đây. Một lần nữa, hàng đầu tiên của 9 đại diện cho một tính năng, trong khi hàng thứ hai đại diện cho hàng kia.Nếu bạn muốn có được các hệ số tương quan cho ba tính năng, thì bạn chỉ cần cung cấp một mảng hai chiều với ba hàng làm đối số: >>> 6Bạn sẽ có được ma trận tương quan một lần nữa, nhưng cái này sẽ lớn hơn các lần trước: 7Điều này là do 5 coi mỗi hàng của 23 là một tính năng. Giá trị 24 là hệ số tương quan cho hai tính năng đầu tiên của 23. Điều này giống như hệ số cho 8 và 9 trong các ví dụ trước. 28 đại diện cho Pearson Lau R cho các tính năng thứ nhất và thứ ba, trong khi 29 là Pearson Lau R cho hai tính năng cuối cùng.Dưới đây, một ví dụ thú vị về những gì xảy ra khi bạn truyền dữ liệu 05 sang 5:>>> 8Trong ví dụ này, hai hàng đầu tiên (hoặc tính năng) của 32 là ổn, nhưng hàng thứ ba 33 chứa giá trị 05. Tất cả mọi thứ không bao gồm tính năng với 05 đều được tính toán tốt. Tuy nhiên, kết quả phụ thuộc vào hàng cuối cùng là 05.Theo mặc định, 37 coi các hàng là các tính năng và các cột là quan sát. Nếu bạn muốn hành vi ngược lại, được sử dụng rộng rãi trong học máy, thì hãy sử dụng đối số 38:>>> 9Mảng này giống hệt với cái bạn đã thấy trước đó. Ở đây, bạn áp dụng một quy ước khác, nhưng kết quả là như nhau. Tương quan Pearson: Thực hiện PandasCho đến nay, bạn đã sử dụng các phương thức đối tượng 9 và 0 để tính toán các hệ số tương quan. Hãy cùng khám phá các phương pháp này chi tiết hơn. Đầu tiên, bạn cần nhập gấu trúc và tạo một số trường hợp của 9 và 0:>>> 0Bây giờ bạn có ba đối tượng 9 được gọi là 8, 9 và 46. Bạn cũng có hai đối tượng 0, 9 và 23.Bạn đã học được cách sử dụng 2 với các đối tượng 9 để có được hệ số tương quan Pearson:>>> 1Tại đây, bạn gọi 2 trên một đối tượng và chuyển sang đối tượng khác làm đối số đầu tiên.Nếu bạn cung cấp giá trị 05, thì 2 vẫn sẽ hoạt động, nhưng nó sẽ loại trừ các quan sát có chứa các giá trị 05:>>> 2Bạn nhận được cùng một giá trị của hệ số tương quan trong hai ví dụ này. Điều đó vì 2 bỏ qua cặp giá trị ( 57, 58) có giá trị bị thiếu.Bạn cũng có thể sử dụng 2 với các đối tượng 0. Bạn có thể sử dụng nó để lấy ma trận tương quan cho các cột của họ:>>> 3Ma trận tương quan kết quả là một ví dụ mới là 0 và giữ các hệ số tương quan cho các cột 62 và 63. Kết quả được dán nhãn như vậy thường rất thuận tiện để làm việc vì bạn có thể truy cập chúng bằng nhãn hoặc chỉ số vị trí số nguyên của chúng:>>> 4Ví dụ này cho thấy hai cách truy cập giá trị:
Bạn có thể áp dụng 2 theo cùng một cách với các đối tượng 0 có chứa ba cột trở lên:>>> 5Bạn sẽ nhận được một ma trận tương quan với các hệ số tương quan sau:
Một phương pháp hữu ích khác là 77, cho phép bạn tính toán các hệ số tương quan giữa các hàng hoặc cột của một đối tượng DataFrame và một loạt khác hoặc đối tượng DataFrame được truyền dưới dạng đối số đầu tiên:>>> 6Trong trường hợp này, kết quả là một đối tượng 9 mới với hệ số tương quan cho cột 62 và các giá trị của 46, cũng như hệ số cho 63 và 46. 77 có tham số tùy chọn 84 chỉ định xem các cột hoặc hàng có đại diện cho các tính năng hay không. Giá trị mặc định của 84 là 0 và nó cũng mặc định cho các cột đại diện cho các tính năng. Ngoài ra, còn có một tham số 86, cho biết những gì phải làm với các giá trị bị thiếu.Cả 2 và 77 đều có tham số tùy chọn 4 để chỉ định hệ số tương quan mà bạn muốn tính toán. Hệ số tương quan Pearson được trả lại theo mặc định, vì vậy bạn không cần cung cấp nó trong trường hợp này.Xếp hạng tương quanTương quan xếp hạng so sánh các cấp bậc hoặc thứ tự của dữ liệu liên quan đến hai biến hoặc tính năng của bộ dữ liệu. Nếu các thứ tự là tương tự, thì mối tương quan là mạnh, tích cực và cao. Tuy nhiên, nếu các thứ tự gần với đảo ngược, thì mối tương quan là mạnh, tiêu cực và thấp. Nói cách khác, tương quan xếp hạng chỉ liên quan đến thứ tự của các giá trị, không phải với các giá trị cụ thể từ bộ dữ liệu. compares the ranks or the orderings of the data related to two variables or dataset features. If the orderings are similar, then the correlation is strong, positive, and high. However, if the orderings are close to reversed, then the correlation is strong, negative, and low. In other words, rank correlation is concerned only with the order of values, not with the particular values from the dataset. Để minh họa sự khác biệt giữa tương quan tuyến tính và thứ hạng, hãy xem xét hình sau: Biểu đồ bên trái có mối quan hệ tuyến tính tích cực hoàn hảo giữa X và Y, do đó r = 1. Biểu đồ trung tâm cho thấy mối tương quan tích cực và bên phải cho thấy mối tương quan tiêu cực. Tuy nhiên, cả hai đều không phải là hàm tuyến tính, vì vậy R khác với −1 hoặc 1.x and y, so r = 1. The central plot shows positive correlation and the right one shows negative correlation. However, neither of them is a linear function, so r is different than −1 or 1. Khi bạn chỉ nhìn vào các trật tự hoặc cấp bậc, cả ba mối quan hệ đều hoàn hảo! Các ô bên trái và trung tâm cho thấy các quan sát trong đó các giá trị x lớn hơn luôn tương ứng với các giá trị y lớn hơn. Đây là mối tương quan xếp hạng tích cực hoàn hảo. Cốt truyện đúng minh họa trường hợp ngược lại, đó là mối tương quan xếp hạng tiêu cực hoàn hảo. Hệ số tương quan SpearmanHệ số tương quan Spearman giữa hai tính năng là hệ số tương quan Pearson giữa các giá trị xếp hạng của chúng. Nó đã tính toán giống như hệ số tương quan Pearson nhưng có tính đến hàng ngũ của họ thay vì giá trị của chúng. Nó thường được biểu thị bằng chữ Hy Lạp Rho (ρ) và được gọi là Spearman từ Rho.Spearman correlation coefficient between two features is the Pearson correlation coefficient between their rank values. It’s calculated the same way as the Pearson correlation coefficient but takes into account their ranks instead of their values. It’s often denoted with the Greek letter rho (ρ) and called Spearman’s rho. Giả sử bạn có hai N-Tuples, X và Y, trong đó 90 là các quan sát như các cặp giá trị tương ứng. Bạn có thể tính toán hệ số tương quan Spearman giống như hệ số Pearson. Bạn sẽ sử dụng các cấp bậc thay vì các giá trị thực tế từ X và Y.x and y, where 90 are the observations as pairs of corresponding values. You can calculate the Spearman correlation coefficient ρ the same way as the Pearson coefficient. You’ll use the ranks
instead of the actual values from x and y.Dưới đây là một số sự thật quan trọng về hệ số tương quan Spearman:
Bạn có thể tính toán Spearman từ Rho trong Python theo một cách rất giống nhau như bạn sẽ làm Pearson. Hệ số tương quan KendallHãy để bắt đầu lại bằng cách xem xét hai N-Tuples, X và Y. Mỗi cặp X-Y 90 là một quan sát duy nhất. Một cặp quan sát (xᵢ, yᵢ) và (xⱼ, yⱼ), trong đó tôi 90 is a single observation. A pair of observations (xᵢ, yᵢ) and (xⱼ, yⱼ), where i < j, will be one of three things:
Hệ số tương quan Kendall so sánh số lượng các cặp dữ liệu phù hợp và bất hòa. Hệ số này dựa trên sự khác biệt về số lượng của các cặp phù hợp và bất hòa so với số cặp X-Y. Nó thường được biểu thị bằng chữ Hy Lạp tau (τ) và được gọi là Kendall, Tau.Kendall correlation coefficient compares the number of concordant and discordant pairs of data. This coefficient is based on the difference in the counts of concordant and discordant pairs relative to the number of x-y pairs. It’s often denoted with the Greek letter tau (τ) and called Kendall’s tau. Theo các tài liệu chính thức 2, hệ số tương quan Kendall được tính là τ = (n⁺ - n⁻) / √ ((n⁺ + n⁻ + nˣ) (n⁺ + n⁻ + nʸ)), trong đó::
Nếu một cà vạt xảy ra trong cả X và Y, thì nó không được bao gồm trong Nˣ hoặc Nʸ.x and y, then it’s not included in either nˣ or nʸ. The Wikipedia page on Kendall rank correlation coefficient gives the following expression: τ = (2 / (n(n − 1))) Σᵢⱼ(sign(xᵢ − xⱼ) sign(yᵢ − yⱼ)) for i < j, where i = 1, 2, …, n − 1 and j = 2, 3, …, n. The sign function sign(z) is −1 if z < 0, 0 if z = 0, and 1 if z > 0. n(n − 1) / 2 is the total number of x-y pairs. Một số sự thật quan trọng về hệ số tương quan Kendall như sau:
Bạn có thể tính toán Kendall từ Tau trong Python tương tự như cách bạn sẽ tính toán Pearson Lau r. Xếp hạng: Thực hiện SCIPYBạn có thể sử dụng 2 để xác định thứ hạng cho mỗi giá trị trong một mảng. Đầu tiên, bạn sẽ nhập các thư viện và tạo các mảng Numpy:>>> 7Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:>>> 8Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng 8 và 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong 9 là 98 và nó tương ứng với thứ hạng 98. Nhỏ thứ hai là 00, tương ứng với thứ hạng 00. Giá trị lớn nhất là 02, tương ứng với thứ hạng lớn nhất 03 vì có 10 mục trong mảng.>>> 9Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng 8 và 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong 9 là 98 và nó tương ứng với thứ hạng 98. Nhỏ thứ hai là 00, tương ứng với thứ hạng 00. Giá trị lớn nhất là 02, tương ứng với thứ hạng lớn nhất 03 vì có 10 mục trong mảng.>>> 0Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:>>> 1Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 và >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 là >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 98 và nó tương ứng với thứ hạng >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 98. Nhỏ thứ hai là x y x 1.00 0.76 y 0.76 1.00 00, tương ứng với thứ hạng x y x 1.00 0.76 y 0.76 1.00 00. Giá trị lớn nhất là x y x 1.00 0.76 y 0.76 1.00 02, tương ứng với thứ hạng lớn nhất x y x 1.00 0.76 y 0.76 1.00 03 vì có 10 mục trong mảng. 04 có tham số tùy chọn 4. Điều này cho Python phải làm gì nếu có mối quan hệ trong mảng (nếu hai hoặc nhiều giá trị bằng nhau). Theo mặc định, nó chỉ định cho họ mức trung bình của các cấp bậc:>>> 2Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:
Có hai yếu tố có giá trị 00 và họ có cấp bậc 07 và 08. Giá trị 09 có thứ hạng 10 và giá trị 11 có thứ hạng 12. Sau đó, cả hai phần tử có giá trị 00 sẽ có cùng thứ hạng 14.>>> 3Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng 8 và 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong 9 là 98 và nó tương ứng với thứ hạng 98. Nhỏ thứ hai là 00, tương ứng với thứ hạng 00. Giá trị lớn nhất là 02, tương ứng với thứ hạng lớn nhất 03 vì có 10 mục trong mảng.
Trong trường hợp này, giá trị 57 tương ứng với thứ hạng lớn nhất 12. Bạn cũng có thể nhận được thứ hạng với 19:>>> 4Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng 8 và 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong 9 là 98 và nó tương ứng với thứ hạng 98. Nhỏ thứ hai là 00, tương ứng với thứ hạng 00. Giá trị lớn nhất là 02, tương ứng với thứ hạng lớn nhất 03 vì có 10 mục trong mảng.
>>> 5Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng 8 và 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong 9 là 98 và nó tương ứng với thứ hạng 98. Nhỏ thứ hai là 00, tương ứng với thứ hạng 00. Giá trị lớn nhất là 02, tương ứng với thứ hạng lớn nhất 03 vì có 10 mục trong mảng.x y x 1.00 0.76 y 0.76 1.00 04 có tham số tùy chọn >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 4. Điều này cho Python phải làm gì nếu có mối quan hệ trong mảng (nếu hai hoặc nhiều giá trị bằng nhau). Theo mặc định, nó chỉ định cho họ mức trung bình của các cấp bậc:Có hai yếu tố có giá trị 00 và họ có cấp bậc 07 và 08. Giá trị 09 có thứ hạng 10 và giá trị 11 có thứ hạng 12. Sau đó, cả hai phần tử có giá trị 00 sẽ có cùng thứ hạng 14.>>> 6Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:Các mảng 8 và 46 là đơn điệu, vì vậy thứ hạng của họ cũng đơn điệu. Giá trị nhỏ nhất trong 9 là 98 và nó tương ứng với thứ hạng 98. Nhỏ thứ hai là 00, tương ứng với thứ hạng 00. Giá trị lớn nhất là 02, tương ứng với thứ hạng lớn nhất 03 vì có 10 mục trong mảng.>>> 7Bây giờ bạn đã chuẩn bị dữ liệu, bạn có thể xác định thứ hạng của từng giá trị trong một mảng numpy với 94:>>> 8Như bạn có thể thấy, không giống như với SCIPY, bạn có thể sử dụng một cấu trúc dữ liệu hai chiều duy nhất (A DataFrame). Hình dung của mối tương quanTrực quan hóa dữ liệu là rất quan trọng trong thống kê và khoa học dữ liệu. Nó có thể giúp bạn hiểu rõ hơn về dữ liệu của bạn và cung cấp cho bạn cái nhìn sâu sắc hơn về các mối quan hệ giữa các tính năng. Trong phần này, bạn sẽ học cách thể hiện trực quan mối quan hệ giữa hai tính năng với cốt truyện X-Y. Bạn cũng sẽ sử dụng các bản đồ nhiệt để trực quan hóa một ma trận tương quan. is very important in statistics and data science. It can help you better understand your data and give you a better insight into the relationships between features. In this section, you’ll learn how to visually represent the relationship between two features with an x-y plot. You’ll also use heatmaps to visualize a correlation matrix. Bạn sẽ học cách chuẩn bị dữ liệu và nhận được một số biểu diễn trực quan nhất định, nhưng bạn đã giành được nhiều giải thích khác. Để tìm hiểu thêm về matplotlib chuyên sâu, hãy xem Python vẽ âm mưu với matplotlib (Hướng dẫn). Bạn cũng có thể xem xét các tài liệu chính thức và giải phẫu của matplotlib. Để bắt đầu, lần đầu tiên nhập 61:>>> 9Ở đây, bạn sử dụng 62 để đặt phong cách của các lô. Hãy bỏ qua dòng này nếu bạn muốn.Bạn sẽ sử dụng các mảng 8, 9, 46 và 23 từ các phần trước. Bạn có thể tạo chúng một lần nữa để cắt giảm khi cuộn:
>>> 0Bây giờ bạn đã có dữ liệu của mình, bạn đã sẵn sàng để vẽ. X-y âm mưu với một đường hồi quyĐầu tiên, bạn sẽ thấy cách tạo ra một âm mưu X-Y với đường hồi quy, phương trình của nó và hệ số tương quan Pearson. Bạn có thể có được độ dốc và việc chặn đường hồi quy, cũng như hệ số tương quan, với 8:>>> 1Bây giờ bạn có tất cả các giá trị bạn cần. Bạn cũng có thể lấy chuỗi với phương trình của dòng hồi quy và giá trị của hệ số tương quan. F-Strings rất thuận tiện cho mục đích này: >>> 2Bây giờ, hãy tạo cốt truyện X-Y với 68: 3Đầu ra của bạn sẽ trông như thế này: Các hình vuông màu đỏ đại diện cho các quan sát, trong khi đường màu xanh là đường hồi quy. Phương trình của nó được liệt kê trong truyền thuyết, cùng với hệ số tương quan. Các bản đồ nhiệt của ma trận tương quanMa trận tương quan có thể trở nên thực sự lớn và khó hiểu khi bạn có nhiều tính năng! May mắn thay, bạn có thể trình bày nó một cách trực quan dưới dạng bản đồ nhiệt trong đó mỗi trường có màu tương ứng với giá trị của nó. Bạn sẽ cần ma trận tương quan: >>> 4Có thể thuận tiện cho bạn để làm tròn các số trong ma trận tương quan với 69, vì chúng sẽ được hiển thị trên bản đồ nhiệt.Cuối cùng, hãy tạo bản đồ nhiệt của bạn với 70 và ma trận tương quan làm đối số của nó: 5Đầu ra của bạn sẽ trông như thế này: Các hình vuông màu đỏ đại diện cho các quan sát, trong khi đường màu xanh là đường hồi quy. Phương trình của nó được liệt kê trong truyền thuyết, cùng với hệ số tương quan. Các bản đồ nhiệt của ma trận tương quanMa trận tương quan có thể trở nên thực sự lớn và khó hiểu khi bạn có nhiều tính năng! May mắn thay, bạn có thể trình bày nó một cách trực quan dưới dạng bản đồ nhiệt trong đó mỗi trường có màu tương ứng với giá trị của nó. Bạn sẽ cần ma trận tương quan:correlation coefficients are statistics that measure the association between variables or features of datasets. They’re very important in data science and machine learning. Có thể thuận tiện cho bạn để làm tròn các số trong ma trận tương quan với 69, vì chúng sẽ được hiển thị trên bản đồ nhiệt.
Bây giờ bạn biết rằng các hệ số tương quan là số liệu thống kê đo lường sự liên kết giữa các biến hoặc tính năng của bộ dữ liệu. Họ rất quan trọng trong khoa học dữ liệu và học máy.visualize data, regression lines, and correlation matrices with Matplotlib plots and heatmaps. Bây giờ bạn có thể sử dụng Python để tính toán: |