RDBMSにおける相関係数

相関係数

RDBMSで相関係数を算出してデータ間の関係性を確認

How to figure out correlation coefficient in RDBMS.

相関係数とは、二つの変量の関係を表す係数です。
直線的な関係(比例関係)の強さを、1 から-1 の間の数で表し、
相関係数の絶対値が 1 に近いほど、相関関係が強いと考えられます。

"1"に近いほど「正の相関関係(一方が増えればもう一方も増える)」が強い。
"-1"に近いほど「負の相関関係(一方が増えればもう一方は減る)」が強い。

PostgreSQLの場合

In case of PostgreSQL

rails_app=# select corr(ad,price) from t1;
       corr        
-------------------
 0.848628572784027
(1 row)

rails_app=# select * from t1;
 ad | price 
----+-------
 10 |    11
 20 |    30
 30 |    20
 40 |    30
 50 |    50
(5 rows)

MySQLの場合

In case of MySQL

[confirm]> select (( SUM( ad * price ) - SUM( ad ) * SUM( price ) / COUNT( ad ) ) / COUNT( price )) / (STDDEV_POP(ad) * STDDEV_POP(price)) as corr from t1;
+--------------------+
| corr               |
+--------------------+
| 0.8486285727840269 |
+--------------------+
1 row in set (0.00 sec)

 [confirm]> select * from t1;
+------+-------+
| ad   | price |
+------+-------+
|   10 |    11 |
|   20 |    30 |
|   30 |    20 |
|   40 |    30 |
|   50 |    50 |
+------+-------+
5 rows in set (0.01 sec)

Spread Sheetの場合

Spread Sheet

例:広告宣伝費と売り上げの相関性を確認した場合

カテゴリー:

最近のコメント

表示できるコメントはありません。