【问题标题】:Item-level regression coefficients in R?R中的项目级回归系数?
【发布时间】:2017-11-24 13:21:24
【问题描述】:

背景:

1000 名参与者评估了他们对 200 个对象 (S) 的满意度,并提供了关于参与者本身的 4 个不同的心理测量变量 (A、B、C、D)。有 5000 个独特的对象要评分,因此由于资源限制,并非每个参与者都对每个对象进行评分。这会产生一个稀疏数据集,其中每个对象都由大约 30 名参与者评分。

从这个设计中,检索基本的描述性统计数据(例如每个对象的平均满意度)是微不足道的。我现在的任务是建立心理测量变量(A、B、C、D)和对象之间的关系——即“如果你在 A、B、C、D 上以某种方式得分,你可能会觉得哪些对象令人满意?”

这个想法是运行回归,随后提取中介系数。公式(可能还有设计)相当复杂,我什至不知道如何在 R 中尝试。

数据集:

数据集如下-

[参与者 ID] , [对象 ID] , [S 评级] , [A] , [B] , [C] , [D]

对于一个参与者来说,A、B、C、D 值始终相同,即它们不依赖于对象。对象 ID 的范围从 1 到 5000,其中一个参与者 ID 与从 5000 个池中随机选择的 200 个对象配对。

例子:

+----------------+-----------+----------+-----+------+------+------+
| Participant ID | Object ID | S Rating | A   | B    | C    | D    |
+----------------+-----------+----------+-----+------+------+------+
| 1              | 23        | 2        | 0.2 | 0.7  | 0.42 | 0.9  |
+----------------+-----------+----------+-----+------+------+------+
| 1              | 69        | 1        | 0.2 | 0.7  | 0.42 | 0.9  |
+----------------+-----------+----------+-----+------+------+------+
| 1              | 769       | 1        | 0.2 | 0.7  | 0.42 | 0.9  |
+----------------+-----------+----------+-----+------+------+------+
| 1              | 1357      | 5        | 0.2 | 0.7  | 0.42 | 0.9  |
+----------------+-----------+----------+-----+------+------+------+
| ... 196 more   |           |          |     |      |      |      |
+----------------+-----------+----------+-----+------+------+------+
| 2              | 84        | 1        | 0.3 | 0.12 | 0.6  | 0.86 |
+----------------+-----------+----------+-----+------+------+------+
| 2              | 345       | 5        | 0.3 | 0.12 | 0.6  | 0.86 |
+----------------+-----------+----------+-----+------+------+------+
| 2              | 1357      | 4        | 0.3 | 0.12 | 0.6  | 0.86 |
+----------------+-----------+----------+-----+------+------+------+

公式:

为了建立项目级对象评级和参与者级心理测量变量之间的关系,我希望使用以下公式进行回归:

S 评分 ~ (A + B + C + D) * I + (1/P)

其中 S Rating 是数据集中的 S Rating,A B C D 是数据集中的心理测量变量,I 是我要提取的项目级系数,P 是参与者级系数。

该公式将为数据集中的每个项目(对象)提供项目级系数 - IA、IB、IC、ID。这将回答诸如“对于对象 931,在 A 上得分高在预测满意度方面尤其重要”之类的问题。

问题:

有可能在 R 中实现这一点吗?

我是否认为上面的公式可以让我访问项目级系数,让我看到心理测量变量 A、B、C、D 如何独立地为每个项目 I 预测 S?

是否可以从 R 中的回归中检索这些系数?我希望最终得到一个表格,例如:[对象 ID]、[A 的贡献]、[B 的贡献]、[C 的贡献]、[D 的贡献]。这将告诉每个心理变量对预测 S 的贡献,分别针对每个对象。

在 R 中解决这个问题的方法是什么?

【问题讨论】:

    标签: r regression formulas coefficients


    【解决方案1】:

    当然,您应该能够在 R 中做到这一点。关键是要正确定义变量的类。我认为我和P应该是因素。

    然后简单地使用 lm() 函数:

    obj = lm(评级 ~ (A + B + C + D):I + P)

    【讨论】:

    • 感谢您的快速回答。这个解决方案效果很好。正确设置因素是关键。我现在只是在为数据集的大小而苦苦挣扎(需要 36GB 的 RAM),我已经读过可以使用 biglm 包来克服它,而不是使用 lm 本身。
    猜你喜欢
    • 2013-05-17
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 2020-10-18
    • 2017-10-04
    相关资源
    最近更新 更多