Computer >> Máy Tính >  >> Lập trình >> Python

Khám phá mối tương quan trong Python

Tương quan là một thuật ngữ thống kê để đo lường mối quan hệ giữa hai biến. Nếu mối quan hệ là chuỗi, có nghĩa là sự thay đổi trong một biến phản ánh sự thay đổi của một biến khác trong một mô hình có thể dự đoán được thì chúng ta nói rằng các biến có tương quan với nhau. Hơn nữa, sự thay đổi trong biến số đầu tiên có thể gây ra sự biến đổi tích cực hoặc tiêu cực trong biến số thứ hai. Theo đó, chúng được cho là có tương quan tích cực hoặc tiêu cực. Lý tưởng nhất là giá trị của hệ số tương quan thay đổi từ -1 đến +1.

  • Nếu giá trị là +1 hoặc gần với giá trị đó thì chúng tôi nói rằng các biến có tương quan thuận. Và chúng thay đổi theo cùng một hướng đồng thời.
  • Nếu giá trị là -1 hoặc gần với giá trị đó thì chúng tôi nói rằng các biến có tương quan nghịch. Và chúng thay đổi theo hướng ngược lại đồng thời.
  • Nếu giá trị bằng 0 hoặc gần bằng giá trị đó thì chúng tôi nói rằng các biến không tương quan với nhau.

Có nhiều cách khác nhau để đo lường hệ số tương quan. Chúng có sẵn dưới dạng các hàm trong numpy hoặc scipy.stats. Dưới đây, chúng ta sẽ xem chúng được sử dụng như thế nào.

Sử dụng Spearman’s Correlation

Spearman’s tương quan là đo lường mức độ của mối quan hệ giữa các biến có liên quan tuyến tính. Nó dựa trên một công thức được sử dụng bởi gói scipy.stats để tạo ra kết quả. Đây là công thức được sử dụng rộng rãi nhất để tìm mối tương quan.

Trong ví dụ dưới đây, chúng tôi lấy hai biến có giá trị được tạo bằng cách sử dụng hàm numpy.randon (). Sau đó, Spemanr () được áp dụng để có kết quả cuối cùng.

Ví dụ

from numpy.random import randn
from numpy.random import seed
from scipy.stats import spearmanr
seed(1)
data_input1 = 20 * randn(1000) + 100
data_input2 = data_input1 + (10 * randn(1000) + 50)
correlation = spearmanr(data_input1, data_input2)
   print(correlation)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

SpearmanrResult(correlation=0.8724050484050484, pvalue=1.58425746359e-312)

Sử dụng Pearson’s Correlation

Tương quan của Pearson là một cách khác để đo lường mức độ của mối quan hệ giữa các biến có liên quan tuyến tính. Nó dựa trên một công thức được gói scipy.stats sử dụng để tạo ra kết quả.

Trong ví dụ dưới đây, chúng tôi lấy hai biến có giá trị được tạo bằng cách sử dụng hàm numpy.randon (). Sau đó, pearsonr () được áp dụng để có kết quả cuối cùng.

Ví dụ

from numpy.random import randn
from numpy.random import seed
from scipy.stats import pearsonr
seed(1)
data1 = 20 * randn(1000) + 100
data2 = data1 + (10 * randn(1000) + 50)
correlation, _ = pearsonr(data1, data2)
print('Pearsons correlation: %.3f' % correlation)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Pearsons correlation: 0.888