有没有统计上合理的方法将网络中的中心性分数转换为费率?

时间:2018-06-08 17:27:05

标签: r igraph graph-theory network-analysis

现在,我发现各自曲棍球队的球员之间存在中间性。由于一些玩家可以玩60场比赛,而其他玩家可以玩20场比赛,玩60场比赛的玩家几乎总是(可以理解)具有更高的中间性。但是,我试图想办法规范游戏数量的中心性,以便我可以比较不同玩家的影响力,同时考虑他们玩的频率。

我尝试过玩游戏,但这仍然低估了玩更多游戏的额外效果(查看图表)。

第一张图表是游戏玩法与总计(累积)介于两者之间 enter image description here

第二张图表是每场比赛所玩的游戏与中间数(仍为正斜率) enter image description here

理想情况下,我希望玩游戏与规范化的中介中心性无关,这样我就可以比较玩家,无论他们玩了多少游戏。有什么想法我可以做什么?

1 个答案:

答案 0 :(得分:1)

您没有提供任何数据,因此我会使用内置数据集来帮助您。 数据集为mtcars,并假设cyl代表游戏数量,disp代表您的中心分数。

您可以在此图中看到关系

library(tidyverse)

# plot cyl against disp
mtcars %>% 
  ggplot(aes(cyl, disp))+
  geom_point()+
  geom_smooth(method = "lm")

enter image description here 所玩的游戏(即cyl)与中心分数相关(即disp)。

然后你可以创建像这样的新分数

# build the model
m = lm(disp~cyl, data = mtcars)

# use model to get estimated disp at a given cyl value
mtcars$pred_disp = predict(m, newdata = mtcars)

# calculate the difference
mtcars$diff = mtcars$disp - mtcars$pred_disp

并绘制新分数以查看它们与所玩的游戏无关

# plot cyl against diff
mtcars %>% 
  ggplot(aes(cyl, diff))+
  geom_point()+
  geom_smooth(method = "lm")

enter image description here 所玩的游戏(即cyl)与新的中心性得分(即diff)无关。

此外,再次检查数据集mtcars,重点关注创建的新变量。对于每个游戏数量值(即pred_disp),预期的中心性得分(即cyl)与预期的相同。新的中心性分数(即diff)是旧的中心性分数减去预期的分数。积分新得分意味着玩家的中心地位高于该数量游戏的预期中心地位。负面的新分数意味着压力。

请注意,如果需要,您可以对变量diff进行一些进一步的规范化(例如,从-1到1取值)。

相关问题