Sử dụng Hàm Tương quan trong PostgreSQL
Một hàm có thể hữu ích trong việc xác định hai số liên quan với nhau như thế nào là hàm tương quan.
Trong hướng dẫn này, chúng tôi sẽ giải thích hàm corr () PostrgreSQL cũng như hiển thị nó khi sử dụng trong thế giới thực.
Hệ số tương quan là một phương pháp được sử dụng rộng rãi để xác định độ bền của mối quan hệ giữa hai số hoặc hai tập hợp số. Hệ số này được tính bằng một số trong khoảng từ -1 đến 1. 1 là tương quan dương mạnh nhất có thể có và -1 là tương quan nghịch mạnh nhất có thể có.
Tương quan thuận có nghĩa là khi một số tăng lên thì số thứ hai cũng sẽ tăng theo.
Tương quan âm có nghĩa là khi một số tăng thì số thứ hai giảm.
Ở đây không xác định được kết quả của số thứ hai có gây ra bởi số thứ nhất hay không, chỉ là kết quả của hai số xảy ra cùng lúc với nhau.
Nếu công thức trả về 0 thì hoàn toàn KHÔNG có mối tương quan nào giữa hai bộ số.
Trong một ví dụ có hệ số tương quan là .7, cứ mỗi lần tăng 1 của số trên trục x thì số trên trục y sẽ tăng thêm .7.
Con số này càng lớn thì mối tương quan càng mạnh. Nó có đứng trước dấu “-“ hay không không quan trọng.
Một trong những hệ số tương quan phổ biến nhất là Hệ số tương quan Pearson và bạn có thể tìm thêm thông tin trong một hướng dẫn khác tại đây.
Sau khi chúng tôi chạy một vài bài kiểm tra trên hàm tương quan postgresql, nó cho kết quả bằng với phép tính Hệ số tương quan Pearson cả ba lần.
Trong khi sử dụng Hàm PostgreSQL, lưu ý quan trọng là nó là một hàm tổng hợp. Điều đó có nghĩa là nó sẽ tính toán mối tương quan của các phần trăm của hai chuỗi số. Nó sẽ không hiển thị mối tương quan của hai số trong chuỗi.
Việc sử dụng hàm tương quan đã có trong postgres khá đơn giản.
Chúng tôi đã sử dụng nó như một hàm tổng hợp của hai chuỗi số để xác định hệ số tương quan qua một loạt thời gian của các hoạt động trên trang web và doanh thu trong Nguồn Demo Chartio mà chúng tôi có trên trang web của mình.
Vẽ hai phép đo này trên một biểu đồ phân tán, một mô hình tương quan thuận sẽ xuất hiện. Sử dụng hệ số tương quan Hàm PostgreSQL cho thấy kết quả là 0,9, đây là một mối tương quan gần như trực tiếp.
Truy vấn đó trông giống như sau:
SELECT
corr("Amount", "Activities") as "Corr Coef Using PGSQL Func"
FROM(
SELECT
DATE_TRUNC('day', p.payment_date)::DATE AS "Day",
SUM(p.amount) AS "Amount",
COUNT(DISTINCT a.activity_id) AS "Activities"
FROM
public.payments p
INNER JOIN public.subscriptions s ON p.subscription_id = s.subscription_id
INNER JOIN public.users u ON s.user_id = u.user_id
INNER JOIN public.activity a ON a.user_id = u.user_id
GROUP BY 1) as a
Trong trường hợp cụ thể này, bạn sẽ cần sử dụng chức năng tổng hợp các chỉ số được thu thập trong một truy vấn con. Điều này rất đơn giản, chỉ cần thêm hai cột mà bạn đang cố gắng xác định mối tương quan giữa các dấu ngoặc đơn được phân tách bằng một cột và kết quả đầu ra của bạn sẽ là hệ số tương quan được tính bằng hàm tổng hợp như chúng tôi chỉ ra trong hướng dẫn sau đây. gần giống hệt như Công thức Pearson.