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?
Phương sai và Tương quan - Nói một cách đơn giảnHiệ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
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ẫuVui 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 PythonChú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?
Phương sai và Tương quan - Nói một cách đơn giảnHiệ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
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ẫuVui 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 PythonCô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]