假设有一个数据集,由 10 个实验者 ( id ) 分别独立采集,分为 3 个预测变量 ( x1 ~ x3 ) ,1 个连续响应变量 ( y )
有 5 个实验者分别采集了 1 组数据, 3 个采集了 5 组数据,2 个采集了 10 组数据,共 40 个观测行
即每个实验者采集 1 ~ 10 组不等的数据,数据集的行在 10 ~ 100 之间

采集指标一致,但方法略有差别( 如工具、采集时间等的影响 ),造成同一实验者采集的数据可能更相似( 存在组内相关 )

形如:

| id | x1 | x2 | x3 | y |
|-----|-----|-----|-----|-----|
| 1 | 10 | 1 | 1 | 111 |
| 2 | 11 | 3 | 0 | 222 |
| ... | ... | ... | ... | ... |
| 10 | 88 | 9 | 0 | 999 |
| 10 | 99 | 9 | 1 | 888 |

目标是要建立多元线性回归方程进行预测,但担心同一个研究者的数据采集模式的偏好对模型产生重大影响

我尝试

  1. 线性混合模型 LMM,将 id 作为随机因子,但考虑很多 id 内只有 1 个观测,似乎这种方法不稳妥,R 也会报警告
  2. cluster bootstrap 的方法 ( Cameron, Gelbach & Miller, 2008 ),但不确定是否合理?因为这个方法本身的设计不是针对性地处理该类问题。?
    再者,R 中虽有 rms::bootcov()clusterSEs::cluster.wild.glm() 等函数使用该方法,但如以上示例,各组别 ( clusters ) 内的观测行并不相等,甚至很多为 1,我并没有在 R 中找到这种情况下的统计和处理 (实话是我不会这种深度的编程)
    另,网上有 Cluster Bootstrap with Unequally Sized Clusters抽样方法wiki 中也有提到

问题:

  1. 如果要最大化的利用数据,现有的统计中相对好一点的处理方式是什么?cluster bootstrap 理论上是合理的吗?
  2. 如果 cluster bootstrap 合理,有已经成熟的针对 unequal / unbalanced cluster sizes 的 R 方案吗?或者有通过轻量编程可以解决的参考资料?

PS: 没有系统学过统计,水平也渣,强迫自己生啃那些方法背后的原理、公式,实在不能及其万一,如果表达不清或者问得太低级,请直说坦白无妨。

    Lue-yuan
    既然你都这么说了,那我就先“坦白”了哈。“坦白”作动词用是直率认错的意思,所以你“如果表达不清或者问得太低级”,我们是无法“坦白”的:)

      Lue-yuan

      其实看不到数据的话也只能泛泛而谈。

      个人经验,实际研究里碰到的数据来自不同源,而且不同数据源有系统性偏差简直太常见了。

      但担心同一个研究者的数据采集模式的偏好对模型产生重大影响

      比如这一条,你得拿出这种担心“对模型产生重大影响”的证据,再去考虑如何处理,而不是未雨绸缪去设想“有可能出问题”然后找复杂的模型来往上套,结局很可能白忙活半天…

        tctcab 谢谢!这句话有所启发:

        你得拿出这种担心“对模型产生重大影响”的证据

        计算组内相关系数 ( Intraclass Correlation Coefficient ) 似乎是探测这种 “证据” 的可行的方向

        说几个个人观点:

        1. 担心存在组内相关没用,先做个假设检验再说,比如 RLRsim::exactRLRT

        2. 如果效应真很明显,那么线性混合效应模型是一个解决这个问题的主流思路。

        3. 归结到核心问题,样本量太小,用越复杂的方法处理可能越会有假阳性发现。所以不妨返回到初始的实验设计,用模拟算下 power 足够时某种方法需要的最小样本量。如果样本量已经足够,那可以放心分析。如果样本量不够,那就得想办法加大样本量。

        总结下重点:1. 加大你的样本量,方法学不成问题。2. 小样本 + 神奇方法得到的结论往往不可靠,因为很难复现。3. 一般不要针对数据找分析方法,而是按可能的分析方法去准备数据。