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.

Nội phân Chính showShow

  • Tương quan
  • Ví dụ: Tính toán tương quan numpy
  • Ví dụ: Tính toán tương quan SCIPY
  • Ví dụ: Tính toán tương quan gấu trúc
  • Tương quan tuyến tính
  • Hệ số tương quan Pearson
  • Hồi quy tuyến tính: Thực hiện SCIPY
  • Tương quan Pearson: Thực hiện Numpy và Scipy
  • Tương quan Pearson: Thực hiện Pandas
  • Xếp hạng tương quan
  • Hệ số tương quan Spearman
  • Hệ số tương quan Kendall
  • Xếp hạng: Thực hiện SCIPY
  • Tương quan xếp hạng: Thực hiện Numpy và Scipy
  • Tương quan xếp hạng: Thực hiện gấu trúc
  • Hình dung của mối tương quan
  • X-y âm mưu với một đường hồi quy
  • Các bản đồ nhiệt của ma trận tương quan

Nội phân chính

  • Tương quan
  • Ví dụ: Tính toán tương quan numpy
  • Ví dụ: Tính toán tương quan SCIPY
  • Ví dụ: Tính toán tương quan gấu trúc
  • Tương quan tuyến tính
  • Hệ số tương quan Pearson
  • Hồi quy tuyến tính: Thực hiện SCIPY
  • Tương quan Pearson: Thực hiện Numpy và Scipy
  • Tương quan Pearson: Thực hiện Pandas
  • Xếp hạng tương quan
  • Hệ số tương quan Spearman
  • Hệ số tương quan Kendall
  • Xếp hạng: Thực hiện SCIPY
  • Tương quan xếp hạng: Thực hiện Numpy và Scipy
  • Tương quan xếp hạng: Thực hiện gấu trúc
  • Hình dung của mối tương quan
  • X-y âm mưu với một đường hồi quy
  • Các bản đồ nhiệt của ma trận tương quan

Nội phân chính

  • Tương quan xếp hạng: Thực hiện gấu trúccorrelation coefficients are
  • Trong hướng dẫn này, bạn sẽ học:correlation functions
  • Những hệ số tương quan Pearson, Spearman và Kendall là gìvisualize data, regression lines, and correlation matrices with Matplotlib

Cách sử dụng các chức năng tương quan Scipy, Numpy và Pandas

Tương quan

Cá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.

  • Thống kê và khoa học dữ liệu thường quan tâm đến mối quan hệ giữa hai hoặc nhiều biến [hoặc tính năng] của bộ dữ liệu. Mỗi điểm dữ liệu trong bộ dữ liệu là một quan sát và các tính năng là các thuộc tính hoặc thuộc tính của các quan sát đó.
  • Mỗi bộ dữ liệu bạn làm việc với sử dụng các biến và quan sát. Ví dụ, bạn có thể quan tâm đến việc hiểu những điều sau đây:
  • Làm thế nào chiều cao của các cầu thủ bóng rổ có liên quan đến độ chính xác của họ

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

Trong các ví dụ trên, chiều cao, độ chính xác chụp, nhiều năm kinh nghiệm, tiền lương, mật độ dân số và tổng sản phẩm quốc nội là các tính năng hoặc biến số. Dữ liệu liên quan đến từng người chơi, nhân viên và mỗi quốc gia là những quan sát.Khi dữ liệu được biểu diễn dưới dạng bảng, các hàng của bảng đó thường là các quan sát, trong khi các cột là các tính năng. Hãy xem bảng nhân viên này:Tên
Số năm kinh nghiệm30 120,000
Mức lương hàng năm21 105,000
Ann19 90,000
Cướp10 82,000

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.

  1. Nếu bạn phân tích bất kỳ hai tính năng nào của bộ dữ liệu, thì bạn sẽ tìm thấy một số loại tương quan giữa hai tính năng đó. Xem xét các số liệu sau: In the plot on the left, the y values tend to decrease as the x values increase. This shows strong negative correlation, which occurs when large values of one feature correspond to small values of the other, and vice versa.

  2. Mỗi lô này cho thấy một trong ba hình thức tương quan khác nhau: The plot in the middle shows no obvious trend. This is a form of weak correlation, which occurs when an association between two features is not obvious or is hardly observable.

  3. Tương quan âm [chấm đỏ]: Trong biểu đồ bên trái, các giá trị y có xu hướng giảm khi các giá trị x tăng. Điều này cho thấy mối tương quan âm mạnh, 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ị nhỏ của cái kia và ngược lại. In the plot on the right, the y values tend to increase as the x values increase. This illustrates strong positive correlation, which occurs when large values of one feature correspond to large values of the other, and vice versa.

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:

  • Pearson từ r
  • Spearman sườn Rho
  • Kendall từ Tau

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 numpy

Numpy có nhiều thói quen thống kê, bao gồm

>>> 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, 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
>>> 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
7. Gọi chúng là
>>> 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
9:

>>>

>>> import numpy as np
>>> x = np.arange[10, 20]
>>> x
array[[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> y
array[[ 2,  1,  4,  5,  8, 12, 18, 25, 96, 48]]

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứ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ố:

>>>

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứa các số nguyên tùy ý.

        x       y

x    1.00    0.76
y    0.76    1.00

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ố:

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
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
>>> 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 and
>>> 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. 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

>>> 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

>>> 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
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.

  • >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    3
  • >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    4
  • >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    5

Ví dụ: Tính toán tương quan SCIPY

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứa các số nguyên tùy ý.

  1. 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ố:
  2. >>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
    0.9757575757575757
    >>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
    0.911111111111111
    
    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.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

>>> 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
9. Trong trường hợp này, nó có khoảng 0,76.

>>>

>>> 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

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứa các số nguyên tùy ý.

>>>

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứ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ố:

>>>

>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứ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ố:

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
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:

>>>

>>> 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

Tại đây, bạn sử dụng

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
0 để tạo một 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 số nguyên giữa 10 [bao gồm] và 20 [độc quyền]. Sau đó, bạn sử dụng
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
2 để tạo một mảng thứ hai
>>> 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ứa các số nguyên tùy ý.

  • >>> 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
    
    5
  • >>> 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
    
    6
  • >>> 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
    
    7
  • 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ố:

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
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

>>> 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
9. Trong trường hợp này, nó có khoảng 0,76.
measures the proximity of the mathematical relationship between variables or dataset features to a linear function. If the relationship between the two features is closer to some linear function, then their linear correlation is stronger and the absolute value of the correlation coefficient is higher.

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:

  • Hệ số tương quan Pearson có thể có bất kỳ giá trị thực nào trong phạm vi −1 r ≤ 1.

  • Giá trị tối đa r = 1 tương ứng với trường hợp có mối quan hệ tuyến tính tích cực hoàn hảo giữa X và Y. Nói cách khác, các giá trị x lớn hơn tương ứng với các giá trị y lớn hơn và ngược lại.x and y. In other words, larger x values correspond to larger y values and vice versa.

  • Giá trị r> 0 cho thấy mối tương quan dương giữa x và y.x and y.

  • Giá trị r = 0 tương ứng với trường hợp mà không có mối quan hệ tuyến tính giữa x và y.x and y.

  • Giá trị r >>

    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    

    Ở đây, bạn nhập

    >>> 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
    
    9 và
    >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    2 và xác định các biến
    >>> 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
    
    9.

    Bạn có thể sử dụng

    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    
    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:

    >>>

    >>> result = scipy.stats.linregress[x, y]
    >>> result.slope
    7.4363636363636365
    >>> result.intercept
    -85.92727272727274
    >>> result.rvalue
    0.7586402890911869
    >>> result.pvalue
    0.010964341301680825
    >>> result.stderr
    2.257878767543913
    

    Ở đây, bạn nhập

    >>> 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
    
    9 và
    >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    2 và xác định các biến
    >>> 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
    
    9.

    • Bạn có thể sử dụng
      >>> import numpy as np
      >>> import scipy.stats
      >>> x = np.arange[10, 20]
      >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
      
      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:
      the slope of the regression line
    • Đó là nó! Bạn đã hoàn thành hồi quy tuyến tính và nhận được kết quả sau: the intercept of the regression line
    • >>> import numpy as np
      >>> import scipy.stats
      >>> x = np.arange[10, 20]
      >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
      
      4: Độ dốc của đường hồi quy
      the p-value
    • >>> import numpy as np
      >>> import scipy.stats
      >>> x = np.arange[10, 20]
      >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
      
      5: Việc chặn đường hồi quy
      the standard error of the estimated gradient

    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    
    6: Giá trị P

    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    
    7: Lỗi tiêu chuẩn của gradient ước tính

    >>>

    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    0

    Ở đây, bạn nhập

    >>> 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
    
    9 và
    >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    2 và xác định các biến
    >>> 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
    
    9.

    Bạn có thể sử dụng

    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    
    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:

    • >>> result = scipy.stats.linregress[x, y]
      >>> result.slope
      7.4363636363636365
      >>> result.intercept
      -85.92727272727274
      >>> result.rvalue
      0.7586402890911869
      >>> result.pvalue
      0.010964341301680825
      >>> result.stderr
      2.257878767543913
      
      6
    • >>> result = scipy.stats.linregress[x, y]
      >>> result.slope
      7.4363636363636365
      >>> result.intercept
      -85.92727272727274
      >>> result.rvalue
      0.7586402890911869
      >>> result.pvalue
      0.010964341301680825
      >>> result.stderr
      2.257878767543913
      
      7
    • >>> result = scipy.stats.linregress[x, y]
      >>> result.slope
      7.4363636363636365
      >>> result.intercept
      -85.92727272727274
      >>> result.rvalue
      0.7586402890911869
      >>> result.pvalue
      0.010964341301680825
      >>> result.stderr
      2.257878767543913
      
      8

    Đó là nó! Bạn đã hoàn thành hồi quy tuyến tính và nhận được kết quả sau:

    >>>

    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    1

    Ở đây, bạn nhập

    >>> 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
    
    9 và
    >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    2 và xác định các biến
    >>> 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
    
    9.

    >>>

    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    2

    Ở đây, bạn nhập

    >>> 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
    
    9 và
    >>> r, p = scipy.stats.pearsonr[x, y]
    >>> r
    0.7586402890911869
    >>> p
    0.010964341301680829
    
    2 và xác định các biến
    >>> 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
    
    9.

    Bạn có thể sử dụng

    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    
    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
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 values, then you won’t get a useful result with
    >>> import numpy as np
    >>> import scipy.stats
    >>> x = np.arange[10, 20]
    >>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
    
    8:

    >>>

    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    3

    Trong 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ị

    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05. Trong Python,
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    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:

    • >>> r = np.corrcoef[x, y]
      >>> r
      array[[[1.        , 0.75864029],
             [0.75864029, 1.        ]]]
      >>> r[0, 1]
      0.7586402890911867
      >>> r[1, 0]
      0.7586402890911869
      
      09
    • >>> r = np.corrcoef[x, y]
      >>> r
      array[[[1.        , 0.75864029],
             [0.75864029, 1.        ]]]
      >>> r[0, 1]
      0.7586402890911867
      >>> r[1, 0]
      0.7586402890911869
      
      10
    • >>> r = np.corrcoef[x, y]
      >>> r
      array[[[1.        , 0.75864029],
             [0.75864029, 1.        ]]]
      >>> r[0, 1]
      0.7586402890911867
      >>> r[1, 0]
      0.7586402890911869
      
      11

    Bạn cũng có thể kiểm tra xem một biến tương ứng với

    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 với
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    13 hoặc
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    14.

Tương quan Pearson: Thực hiện Numpy và Scipy

Bạn đã thấy cách có được hệ số tương quan Pearson với

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
5 và
>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
3:

>>>

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
4

Lưu ý rằng nếu bạn cung cấp một mảng có giá trị

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
05 cho
>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
3, bạn sẽ nhận được
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
19.

Có một vài chi tiết bổ sung đáng để xem xét. Đầu tiên, nhớ lại rằ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
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ố:

>>>

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
5

Kế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

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
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ố:

>>>

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
6

Bạ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:

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
7

Điều này là do

>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
5 coi mỗi hàng của
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
23 là một tính năng. Giá trị
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
24 là hệ số tương quan cho hai tính năng đầu tiên của
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
23. Điều này giống như hệ số 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
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
9 trong các ví dụ trước.
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
28 đại diện cho Pearson Lau R cho các tính năng thứ nhất và thứ ba, trong khi
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
05 sang
>>> scipy.stats.spearmanr[x, y].correlation   # Spearman's rho
0.9757575757575757
>>> scipy.stats.kendalltau[x, y].correlation  # Kendall's tau
0.911111111111111
5:

>>>

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
8

Trong ví dụ này, hai hàng đầu tiên [hoặc tính năng] của

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
32 là ổn, nhưng hàng thứ ba
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
33 chứa giá trị
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
05. Tất cả mọi thứ không bao gồm tính năng với
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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à
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
05.

Theo mặc định,

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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ố
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
38:

>>>

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
9

Mả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 Pandas

Cho đến nay, bạn đã sử dụng các phương thức đối tượng

>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
9 và
>>> 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
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
>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
9 và
>>> 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
0:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
0

Bây giờ bạn có ba đối tượng

>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
9 được gọi là
>>> 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,
>>> 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à
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
46. Bạn cũng có hai đối tượng
>>> 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
0,
>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
9 và
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
23.

Bạn đã học được cách sử dụng

>>> 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
2 với các đối tượng
>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
9 để có được hệ số tương quan Pearson:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
1

Tại đây, bạn gọi

>>> 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
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ị

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
05, thì
>>> 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
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ị
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
05:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
2

Bạ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ì

>>> 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
2 bỏ qua cặp giá trị [
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
57,
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
58] có giá trị bị thiếu.

Bạn cũng có thể sử dụng

>>> 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
2 với các đối tượng
>>> 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
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ọ:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
3

Ma trận tương quan kết quả là một ví dụ mới là

>>> 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
0 và giữ các hệ số tương quan cho các cột
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
62 và
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
4

Ví dụ này cho thấy hai cách truy cập giá trị:

  1. Sử dụng
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    64 để truy cập một giá trị duy nhất theo nhãn hàng và cột.
  2. Sử dụng
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    65 để truy cập một giá trị theo vị trí của hàng và cột của nó.

Bạn có thể áp dụng

>>> 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
2 theo cùng một cách với các đối tượng
>>> 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
0 có chứa ba cột trở lên:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
5

Bạn sẽ nhận được một ma trận tương quan với các hệ số tương quan sau:

  • >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    68 cho
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    69 và
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    70
  • >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    71 cho
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    69 và
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    73
  • >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    74 cho
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    70 và
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    73

Một phương pháp hữu ích khác là

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
6

Trong trường hợp này, kết quả là một đối tượng

>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
9 mới với hệ số tương quan cho cột
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
62 và các giá trị của
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
46, cũng như hệ số cho
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
63 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.

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
77 có tham số tùy chọn
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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ố
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
86, cho biết những gì phải làm với các giá trị bị thiếu.

Cả

>>> 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
2 và
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
77 đều 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 để 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 quan

Tươ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 Spearman

Hệ 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 đó

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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:

  • Nó có thể lấy một giá trị thực trong phạm vi −1 ρ ≤ 1.

  • Giá trị tối đa của nó = 1 tương ứng với trường hợp khi có một hàm tăng đơn điệu giữa X và Y. Nói cách khác, các giá trị x lớn hơn tương ứng với các giá trị y lớn hơn và ngược lại.x and y. In other words, larger x values correspond to larger y values and vice versa.

  • Giá trị tối thiểu của nó = −1 tương ứng với trường hợp khi có hàm giảm đơn điệu giữa X và Y. Nói cách khác, các giá trị x lớn hơn tương ứng với các giá trị y nhỏ hơn và ngược lại.x and y. In other words, larger x values correspond to smaller y values and vice versa.

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 Kendall

Hã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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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 >> r = np.corrcoef[x, y] >>> r array[[[1. , 0.75864029], [0.75864029, 1. ]]] >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 90 is a single observation. A pair of observations [xᵢ, yᵢ] and [xⱼ, yⱼ], where i < j, will be one of three things:

  • phù hợp nếu một trong hai [xᵢ> xⱼ và yᵢ> yⱼ] hoặc [xᵢ yⱼ] or [xᵢ < xⱼ and yᵢ < yⱼ]
  • discordant if either [xᵢ < xⱼ and yᵢ > yⱼ] or [xᵢ > xⱼ and yᵢ < yⱼ]
  • Không nếu có một mối quan hệ trong x [xᵢ = xⱼ] hoặc một chiếc cà vạt trong y [yᵢ = yⱼ] if there’s a tie in x [xᵢ = xⱼ] or a tie in y [yᵢ = yⱼ]

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

>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
2, hệ số tương quan Kendall được tính là τ = [n⁺ - n⁻] / √ [[n⁺ + n⁻ + nˣ] [n⁺ + n⁻ + nʸ]], trong đó::

  • n⁺ là số cặp đôi phù hợp
  • n⁻ là số lượng các cặp bất hòa
  • nˣ là số lượng mối quan hệ chỉ trong xx
  • nʸ là số lượng mối quan hệ chỉ trong yy

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:

  • Nó có thể lấy một giá trị thực trong phạm vi −1 τ 1.

  • Giá trị tối đa của nó τ = 1 tương ứng với trường hợp khi các cấp bậc của các giá trị tương ứng trong x và y là như nhau. Nói cách khác, tất cả các cặp là phù hợp.x and y are the same. In other words, all pairs are concordant.

  • Giá trị tối thiểu của nó = −1 tương ứng với trường hợp khi thứ hạng trong x là mặt trái của thứ hạng trong y. Nói cách khác, tất cả các cặp là bất hòa.x are the reverse of the rankings in y. In other words, all pairs are discordant.

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 SCIPY

Bạn có thể sử dụng

>>> r, p = scipy.stats.pearsonr[x, y]
>>> r
0.7586402890911869
>>> p
0.010964341301680829
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:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
7

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
94:

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
8

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

>>>

        x       y

x    1.00    0.76
y    0.76    1.00
9

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
0

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
94:

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
1

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

        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:

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
2

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
94:

  1. 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.
  2.         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ị

        x       y

x    1.00    0.76
y    0.76    1.00
00 và họ có cấp bậc
        x       y

x    1.00    0.76
y    0.76    1.00
07 và
        x       y

x    1.00    0.76
y    0.76    1.00
08. Giá trị
        x       y

x    1.00    0.76
y    0.76    1.00
09 có thứ hạng
        x       y

x    1.00    0.76
y    0.76    1.00
10 và giá trị
        x       y

x    1.00    0.76
y    0.76    1.00
11 có thứ hạng
        x       y

x    1.00    0.76
y    0.76    1.00
12. Sau đó, cả hai phần tử có giá trị
        x       y

x    1.00    0.76
y    0.76    1.00
00 sẽ có cùng thứ hạng
        x       y

x    1.00    0.76
y    0.76    1.00
14.

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
3

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

  •         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:
    returns
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 if there’s a
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 value among the inputs. This is the default behavior.
  • Có hai yếu tố có giá trị
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    00 và họ có cấp bậc
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    07 và
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    08. Giá trị
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    09 có thứ hạng
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    10 và giá trị
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    11 có thứ hạng
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    12. Sau đó, cả hai phần tử có giá trị
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    00 sẽ có cùng thứ hạng
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    14.
    raises a
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    19 if there’s a
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 value among the inputs.
  •         x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    04 xử lý các giá trị
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 như thể chúng lớn:
    ignores the observations with
    >>> r = np.corrcoef[x, y]
    >>> r
    array[[[1.        , 0.75864029],
           [0.75864029, 1.        ]]]
    >>> r[0, 1]
    0.7586402890911867
    >>> r[1, 0]
    0.7586402890911869
    
    05 values.

Trong trường hợp này, giá trị

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
57 tương ứng với thứ hạng lớn nhất
        x       y

x    1.00    0.76
y    0.76    1.00
12. Bạn cũng có thể nhận được thứ hạng với
        x       y

x    1.00    0.76
y    0.76    1.00
19:

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
4

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
5

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

        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ị

        x       y

x    1.00    0.76
y    0.76    1.00
00 và họ có cấp bậc
        x       y

x    1.00    0.76
y    0.76    1.00
07 và
        x       y

x    1.00    0.76
y    0.76    1.00
08. Giá trị
        x       y

x    1.00    0.76
y    0.76    1.00
09 có thứ hạng
        x       y

x    1.00    0.76
y    0.76    1.00
10 và giá trị
        x       y

x    1.00    0.76
y    0.76    1.00
11 có thứ hạng
        x       y

x    1.00    0.76
y    0.76    1.00
12. Sau đó, cả hai phần tử có giá trị
        x       y

x    1.00    0.76
y    0.76    1.00
00 sẽ có cùng thứ hạng
        x       y

x    1.00    0.76
y    0.76    1.00
14.

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
6

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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.

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
7

Bâ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

>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
94:

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
8

Như 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 quan

Trự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

        x       y

x    1.00    0.76
y    0.76    1.00
61:

>>>

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
>>> scipy.stats.pearsonr[x, y]    # Pearson's r
[0.7586402890911869, 0.010964341301680832]
>>> scipy.stats.spearmanr[x, y]   # Spearman's rho
SpearmanrResult[correlation=0.9757575757575757, pvalue=1.4675461874042197e-06]
>>> scipy.stats.kendalltau[x, y]  # Kendall's tau
KendalltauResult[correlation=0.911111111111111, pvalue=2.9761904761904762e-05]
9

Ở đây, bạn sử dụng

        x       y

x    1.00    0.76
y    0.76    1.00
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

>>> 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,
>>> 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,
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
46 và
>>> r = np.corrcoef[x, y]
>>> r
array[[[1.        , 0.75864029],
       [0.75864029, 1.        ]]]
>>> r[0, 1]
0.7586402890911867
>>> r[1, 0]
0.7586402890911869
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:

>>>

>>> 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
0

Bâ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

>>> import numpy as np
>>> import scipy.stats
>>> x = np.arange[10, 20]
>>> y = np.array[[2, 1, 4, 5, 8, 12, 18, 25, 96, 48]]
8:

>>>

>>> 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
1

Bâ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:

>>>

>>> 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
2

Bây giờ, hãy tạo cốt truyện X-Y với

        x       y

x    1.00    0.76
y    0.76    1.00
68:

>>> 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
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 quan

Ma 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:

>>>

>>> 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
4

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

        x       y

x    1.00    0.76
y    0.76    1.00
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

        x       y

x    1.00    0.76
y    0.76    1.00
70 và ma trận tương quan làm đối số của nó:

>>> 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
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 quan

Ma 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

        x       y

x    1.00    0.76
y    0.76    1.00
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
            x       y
    
    x    1.00    0.76
    y    0.76    1.00
    
    70 và ma trận tương quan làm đối số của nó:
    product-moment correlation coefficient
  • Kết quả là một bảng với các hệ số. Nó trông giống như đầu ra của gấu trúc với nền màu. Màu sắc giúp bạn giải thích đầu ra. Trong ví dụ này, màu vàng đại diện cho số 1, màu xanh lá cây tương ứng với 0,76 và màu tím được sử dụng cho các số âm. rank correlation coefficient
  • Sự kết luận rank correlation coefficient

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:

Bài Viết Liên Quan

Chủ Đề