R: парное матричное управление и построение переменных со многими группами - PullRequest
0 голосов
/ 25 апреля 2018

Я начинаю с данных баллов на уровне «группа-человек» следующим образом:

group_id person_id  score
1        1          3
1        2          1
1        3          5
2        1          3
2        2          3
2        3          6

Цель состоит в том, чтобы создать данные о парах человек-человек, которые выглядят следующим образом:

person_id1 person_id2  sumsquarederror
1          2           4
1          3           13
2          3           25

где переменная "sumsquarederror" определяется как сумма по всем группам квадратов различий в значениях баллов для каждой возможной пары лиц. В математическом выражении эта переменная будет определяться следующим образом: для лиц i = 1 и i = 2 и групп j = (1, ..., J)

sumsquarederror(i=1,i=2) = sum_j (( score(i=1) - score(i=2) )^2)

Построение этих данных тривиально с небольшим количеством групп и людей, но у меня есть примерно 1000 групп и 150 000 человек, поэтому создание матриц / кадров данных для всех возможных комбинаций быстро становится обременительным в вычислительном отношении (= 150K на 150K на 1K, прежде чем рухнуть в переменная sumsquarederror)

Я предполагаю, что могут быть некоторые подходы линейной алгебры или идеи типа регрессии, но я в тупике. Будем весьма благодарны за любые советы, рекомендации и полезные пакеты!

...