PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menggunakan Fungsi Korelasi PostgreSQL

Menggunakan Fungsi Korelasi di PostgreSQL

Salah satu fungsi yang dapat berguna dalam menentukan bagaimana dua angka berhubungan satu sama lain adalah fungsi korelasi.

Dalam tutorial ini kami akan menjelaskan fungsi corr() PostrgreSQL serta menunjukkannya dalam penggunaan dunia nyata.

Koefisien Korelasi adalah metode yang banyak digunakan untuk menentukan kekuatan hubungan antara dua bilangan atau dua himpunan bilangan. Koefisien ini dihitung sebagai angka antara -1 dan 1. 1 sebagai korelasi positif terkuat dan -1 sebagai korelasi negatif terkuat.

Korelasi positif berarti bahwa ketika satu angka meningkat, angka kedua juga akan meningkat.

Korelasi negatif berarti bahwa ketika satu angka meningkat, angka kedua berkurang.

Apakah hasil dari bilangan kedua DISEBABKAN oleh yang pertama tidak ditentukan di sini, hanya saja hasil dari kedua bilangan tersebut terjadi bersamaan satu sama lain.

Jika rumus mengembalikan 0 maka sama sekali TIDAK ADA korelasi antara dua set angka.

Dalam contoh di mana koefisien korelasi adalah 0,7, untuk setiap kenaikan 1 angka pada sumbu x, angka pada sumbu y meningkat sebesar 0,7.

Semakin besar angkanya, semakin kuat korelasinya. Didahului atau tidak oleh tanda “-“ tidak masalah.

Salah satu koefisien korelasi yang paling populer adalah Koefisien Korelasi Pearson, dan informasi lebih lanjut dapat ditemukan di tutorial lain di sini.

Setelah kami menjalankan beberapa tes pada fungsi korelasi postgresql, hasilnya sama dengan perhitungan Koefisien Korelasi Pearson ketiga kali.

Saat menggunakan Fungsi PostgreSQL, catatan penting adalah bahwa ini adalah fungsi agregasi. Artinya akan menghitung korelasi keutuhan dua deret bilangan. Ini tidak akan menampilkan korelasi dua angka dalam seri.

Menggunakan fungsi korelasi yang sudah ada di postgres cukup mudah.

Kami menggunakannya sebagai fungsi agregat dari dua rangkaian angka untuk menentukan koefisien korelasi selama serangkaian waktu aktivitas situs web dan pendapatan dalam Sumber Demo Chartio yang kami miliki di situs kami.

Dengan memplot kedua pengukuran ini pada sebar plot, muncul pola korelasi positif. Menggunakan koefisien korelasi Fungsi PostgreSQL menunjukkan hasil 0,9 yang merupakan korelasi hampir langsung.

Kueri itu terlihat seperti ini:

    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

Dalam kasus khusus ini, Anda perlu menggunakan fungsi agregasi metrik yang dikumpulkan dalam subkueri. Ini sangat mudah, cukup tambahkan dua kolom yang Anda coba tentukan korelasi di antara tanda kurung yang dipisahkan oleh kolom dan output Anda akan menjadi koefisien korelasi yang dihitung oleh fungsi agregasi yang seperti yang kami tunjukkan dalam tutorial berikut ini hampir sama persis dengan Rumus Pearson.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Hapus atribut dari kolom JSON

  2. PostgreSQL:Ubah PEMILIK pada semua tabel secara bersamaan di PostgreSQL

  3. Perbaiki 'ERROR:  kolom "colname" tidak ada' di PostgreSQL saat menggunakan UNION, KECUALI, atau INTERSECT

  4. Menyebarkan Django + Python 3 + PostgreSQL ke AWS Elastic Beanstalk

  5. Apakah mungkin untuk mengubah urutan alami kolom di Postgres?