Python ma trận phương sai

Làm việc với các biến trong phân tích dữ liệu luôn đặt ra câu hỏi. Các biến phụ thuộc, liên kết và thay đổi với nhau như thế nào?

Hiệp phương sai mang lại sự thay đổi giữa các biến. Chúng ta sử dụng hiệp phương sai để đo lường mức độ hai biến thay đổi với nhau. Hệ số tương quan tuyến tính lộ mối quan hệ giữa các biến. Chúng ta sử dụng các mối tương quan để xác định mức độ liên kết chặt chẽ của hai biến với nhau

Phương sai và Tương quan - Nói một cách đơn giản

Cả hiệp phương sai và tương quan là hai khái niệm trong lĩnh vực xác định thống kê, đều nói về mối quan hệ giữa các biến. Hiệp phương sai xác định mối liên kết có hướng giữa các biến. Giá trị hiệp phương sai nằm trong khoảng từ−∞ đến +∞ trong đó giá trị dương biểu thị rằng cả hai biến chuyển động theo cùng một hướng và giá trị âm biểu thị rằng cả hai biến chuyển động ngược nhau

Tương quan là một thước đo thống kê được tiêu chuẩn hóa thể hiện ở mức độ mà hai biến có liên quan tuyến tính với nhau [nghĩa là chúng thay đổi giống nhau với tốc độ không thay đổi bao nhiêu]. Độ mạnh và sự kết hợp định hướng của mối quan hệ giữa hai biến được xác định theo mối quan hệ và nó nằm trong khoảng từ -1 đến +1. Tương tự như hiệp phương sai, giá trị dương biểu thị rằng cả hai biến chuyển động theo cùng một hướng trong khi giá trị âm cho chúng ta biết rằng chúng ta di chuyển theo các hướng ngược nhau

Cả hiệp phương sai và tương quan đều là những công cụ quan trọng được sử dụng trong quá trình thăm dò dữ liệu để lựa chọn đối tượng địa lý và phân tích đa biến. Ví dụ, một nhà đầu tư đang tìm cách phân tán rủi ro của danh mục đầu tư có thể tìm kiếm các phiếu cổ có hiệp phương sai cao, vì điều đó cho thấy giá của họ tăng cùng một lúc. Tuy nhiên, chỉ riêng một chuyển động tương tự là không đủ. Sau đó, nhà đầu tư sẽ sử dụng số liệu tương quan để xác định mức độ liên kết chặt chẽ giữa các phiếu cổ phiếu đó với nhau

Thiết lập cho mã Python - Truy xuất dữ liệu mẫu

Vui lòng xem tệp dữ liệu, trên đó chúng tôi sẽ thực hiện phân tích.

nguyen chi thanh @nguyen. chi. thanh

Theo dõi

1. 5K 70 50

Đã đăng vào ngày 19 tháng 2 năm 2021 6. 23 SA 6 phút đọc

5. 2K

1

0

Hiệp phương sai và các hệ số tương quan tuyến tính trong Python

Chúc mừng năm mới

  • Report
  • Add to series of me

Giới thiệu

Làm việc với các biến trong phân tích dữ liệu luôn đặt ra câu hỏi. Các biến phụ thuộc, liên kết và thay đổi với nhau như thế nào?

Hiệp phương sai mang lại sự thay đổi giữa các biến. Chúng ta sử dụng hiệp phương sai để đo lường mức độ hai biến thay đổi với nhau. Hệ số tương quan tuyến tính lộ mối quan hệ giữa các biến. Chúng ta sử dụng các mối tương quan để xác định mức độ liên kết chặt chẽ của hai biến với nhau

Phương sai và Tương quan - Nói một cách đơn giản

Cả hiệp phương sai và tương quan là hai khái niệm trong lĩnh vực xác định thống kê, đều nói về mối quan hệ giữa các biến. Hiệp phương sai xác định mối liên kết có hướng giữa các biến. Giá trị hiệp phương sai nằm trong khoảng từ−∞ đến +∞ trong đó giá trị dương biểu thị rằng cả hai biến chuyển động theo cùng một hướng và giá trị âm biểu thị rằng cả hai biến chuyển động ngược nhau

Tương quan là một thước đo thống kê được tiêu chuẩn hóa thể hiện ở mức độ mà hai biến có liên quan tuyến tính với nhau [nghĩa là chúng thay đổi giống nhau với tốc độ không thay đổi bao nhiêu]. Độ mạnh và sự kết hợp định hướng của mối quan hệ giữa hai biến được xác định theo mối quan hệ và nó nằm trong khoảng từ -1 đến +1. Tương tự như hiệp phương sai, giá trị dương biểu thị rằng cả hai biến chuyển động theo cùng một hướng trong khi giá trị âm cho chúng ta biết rằng chúng ta di chuyển theo các hướng ngược nhau

Cả hiệp phương sai và tương quan đều là những công cụ quan trọng được sử dụng trong quá trình thăm dò dữ liệu để lựa chọn đối tượng địa lý và phân tích đa biến. Ví dụ, một nhà đầu tư đang tìm cách phân tán rủi ro của danh mục đầu tư có thể tìm kiếm các phiếu cổ có hiệp phương sai cao, vì điều đó cho thấy giá của họ tăng cùng một lúc. Tuy nhiên, chỉ riêng một chuyển động tương tự là không đủ. Sau đó, nhà đầu tư sẽ sử dụng số liệu tương quan để xác định mức độ liên kết chặt chẽ giữa các phiếu cổ phiếu đó với nhau

Thiết lập cho mã Python - Truy xuất dữ liệu mẫu

Vui lòng xem tệp dữ liệu, trên đó chúng tôi sẽ thực hiện phân tích. chúng ta chọn hai cột để phân tích - sepal_length và sepal_width. Trong tệp Python mới [có thể đặt tên tệp là covariance_correlation. py], hãy bắt đầu bằng cách tạo hai danh sách với các giá trị cho thuộc tính sepal_length và sepal_width của hoa.

with open['iris_setosa.csv','r'] as f:
    g=f.readlines[]
    # Each line is split based on commas, and the list of floats are formed 
    sep_length = [float[x.split[','][0]] for x in g[1:]]
    sep_width  = [float[x.split[','][1]] for x in g[1:]]

Trong khoa học dữ liệu, nó luôn giúp trực tiếp hóa dữ liệu bạn đang làm. Đây là biểu đồ hồi quy Seaborn [Biểu đồ phân tán + phù hợp hồi quy tuyến tính] của các thuộc tính setosa này trên các phần tử khác nhau. Về mặt trực quan, các điểm dữ liệu dường như có mối tương quan cao gần với đường hồi quy. Hãy xem liệu các quan sát của chúng ta có khớp với các giá trị của hiệp định sai và tương quan của chúng ta hay không.

Tính toán hiệp phương sai trong Python

Công thức sau đây tính hiệp phương sai. Trong công thức trên,

  • xi, yi - là các phần tử riêng lẻ của chuỗi x và y
  • x̄, y̅ - là phương tiện toán học của chuỗi x và y
  • N - là số phần tử trong chuỗi

Mẫu số là N đối với toàn bộ tập dữ liệu và N - 1 đối với mẫu. Vì tệp dữ liệu của chúng tôi là một mẫu nhỏ của toàn bộ tệp dữ liệu Iris nên chúng tôi sử dụng N - 1

def covariance[x, y]:
    # Finding the mean of the series x and y
    mean_x = sum[x]/float[len[x]]
    mean_y = sum[y]/float[len[y]]
    # Subtracting mean from the individual elements
    sub_x = [i - mean_x for i in x]
    sub_y = [i - mean_y for i in y]
    numerator = sum[[sub_x[i]*sub_y[i] for i in range[len[sub_x]]]]
    denominator = len[x]-1
    cov = numerator/denominator
    return cov

with open['iris_setosa.csv', 'r'] as f:
    ...
    cov_func = covariance[sep_length, sep_width]
    print["Covariance from the custom function:", cov_func]

Đầu tiên chúng ta tìm các giá trị trung bình của bộ dữ liệu. Sau đó, chúng ta sử dụng khả năng hiểu danh sách để lặp lại mọi phần tử trong hai chuỗi dữ liệu của chúng ta và trừ giá trị của chúng cho giá trị trung bình

Sau đó, chúng ta sử dụng các giá trị trung gian đó của hai chuỗi' và các nhân của chúng ta với nhau theo một cách hiểu danh sách khác. Chúng ta tính tổng kết quả của danh sách đó và lưu trữ nó dưới dạng số. Mẫu số dễ dàng hơn rất nhiều để tính toán, hãy nhớ tách nó ra 1 khi bạn đang tìm kiếm dữ liệu mẫu ở hiệp phương sai

Sau đó, chúng tôi trả về giá trị khi số được chia cho số mẫu của nó, điều này dẫn đến hiệp phương sai. Ta was results

Covariance from the custom function: 0.09921632653061219

Giá trị dương biểu thị rằng cả hai biến chuyển động theo cùng một hướng

Tính toán hệ thống tương quan số trong Python

Để thể hiện mối quan hệ giữa 2 biến là “mạnh” hay “yếu”, chúng ta sử dụng tương quan thay cho hiệp phương sai.

  • xi, yi - là các phần tử riêng lẻ của chuỗi x và y
  • Tử số tương ứng với hiệp phương sai
  • Các mẫu số tương ứng với độ lệch chuẩn riêng lẻ của x và y
def correlation[x, y]:
    # Finding the mean of the series x and y
    mean_x = sum[x]/float[len[x]]
    mean_y = sum[y]/float[len[y]]
    # Subtracting mean from the individual elements
    sub_x = [i-mean_x for i in x]
    sub_y = [i-mean_y for i in y]
    # covariance for x and y
    numerator = sum[[sub_x[i]*sub_y[i] for i in range[len[sub_x]]]]
    # Standard Deviation of x and y
    std_deviation_x = sum[[sub_x[i]**2.0 for i in range[len[sub_x]]]]
    std_deviation_y = sum[[sub_y[i]**2.0 for i in range[len[sub_y]]]]
    # squaring by 0.5 to find the square root
    denominator = [std_deviation_x*std_deviation_y]**0.5 # short but equivalent to [std_deviation_x**0.5] * [std_deviation_y**0.5]
    cor = numerator/denominator
    return cor

with open['iris_setosa.csv', 'r'] as f:
    ...
    cor_func = correlation[sep_length, sep_width]
    print["Correlation from the custom function:", cor_func]

Vì giá trị này cần hiệp sai phương thức của hai biến nên hàm khá nhiều lần tính ra giá trị đó. Khi hiệp phương sai được tính, chúng ta tính chu kỳ biến cho mỗi biến. Từ đó, mối tương quan chỉ đơn giản là chia hiệp phương sai với sự cho phép của các nhân bình phương của tiến trình tự nhiên. Chạy mã này, chúng ta nhận được kết quả sau đó, xác nhận rằng các thuộc tính này có mối quan hệ dương [dấu của giá trị, hoặc +, - hoặc không nếu 0] và mạnh [giá trị gần bằng 1]

Chủ Đề