Как вы находите корреляцию между двумя переменными в Sqlite? - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть две переменные для каждого пользователя: review_count и fan.

'review_count' дает количество отзывов, сделанных пользователем, а 'fan' - количество поклонников, которые у него есть.

Данные выглядят так:

enter image description here

Данные хранятся в SQLite.Есть ли в SQLite встроенная функция для вычисления корреляции между двумя переменными?

1 Ответ

0 голосов
/ 22 сентября 2019

SQLite не имеет встроенной функции квадратного корня.Ни встроенная функция власти.Но если вы можете согласиться на R ^ 2, то я думаю, что формула:

select (sum( (x - avg_x) * (y - avg_y) ) * sum( (x - avg_x) * (y - avg_y) ) /
       nullif(sum( (x - avg_x) * (x - avg_x) ) * 
              sum( (y - avg_y) * (y - avg_y)), 0
             ) as r_square
from (select t.*, review_cnt as x, fans as y,
             avg(review_cnt) over () as avg_x,
             avg(fans) over () as avg_y
      from t
     ) t;

Вы можете проверить это на странице Википедии .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...