比较两个线性回归模型

机器算法验证 回归 模型比较
2022-03-01 19:30:09

我想比较两个线性回归模型,它们表示在两种不同条件下随时间推移 mRNA 的降解率。每个模型的数据独立收集。

这是数据集。

时间(小时) log(治疗 A) log(治疗 B)
0 2.02 1.97
0 2.04 2.06
0 1.93 1.96
2 2.02 1.91
2 2.00 1.95
2 2.07 1.82
4 1.96 1.97
4 2.02 1.99
4 2.02 1.99
6 1.94 1.90
6 1.94 1.97
6 1.86 1.88
8 1.93 1.97
8 2.12 1.99
8 2.06 1.93
12 1.71 1.70
12 1.96 1.73
12 1.71 1.76
24 1.70 1.46
24 1.83 1.41
24 1.62 1.42

这些是我的模型:

Exp1.A.lm<-lm(Exp1$Time~Exp1$(Treatment A))
Exp1.B.lm<-lm(Exp1$Time~Exp1$(Treatment B))
称呼:
lm(公式 = Exp1 $Time ~ Exp1$ (治疗 A))

残差:
    最小值 1Q 中值 3Q 最大值
-6.8950 -1.2322 0.2862 1.2494 5.2494

系数:
                   估计标准。误差 t 值 Pr(>|t|)    
(拦截) 74.68 6.27 11.91 2.94e-10 ***
Exp1$(治疗 A) -36.14 3.38 -10.69 1.77e-09 ***
---
意义。代码:0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1''1

残差标准误差:19 个自由度上为 2.97
多重 R 平方:0.8575,调整后 R 平方:0.85
F 统计量:1 和 19 DF 上的 114.3,p 值:1.772e-09

称呼:
lm(公式 = Exp1 $Time ~ Exp1$ (治疗 B))

残差:
   最小值 1Q 中值 3Q 最大值
-7.861 -3.278 -1.444 3.222 11.972

系数:
                      估计标准。误差 t 值 Pr(>|t|)    
(拦截) 88.281 16.114 5.478 2.76e-05 ***
Exp1$(治疗 B) -41.668 8.343 -4.994 8.05e-05 ***
---
意义。代码:0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1''1

残差标准误差:19 个自由度上为 5.173
多重 R 平方:0.5676,调整后 R 平方:0.5449
F 统计量:1 和 19 DF 上的 24.94,p 值:8.052e-05

为了比较这两个模型,我使用了以下代码。

anova(Exp1.A.lm,Exp1.B.lm)
方差表分析

模型 1:Exp1 $Time ~ Exp1$ Exp1 $(治疗 A)
模型 2:Exp1$时间 ~ Exp1 $Exp1$(治疗 B)
  Res.Df RSS Df Sq F 的总和 Pr(>F)
1 19 167.60                      
2 19 508.48 0 -340.88

我的问题是为什么 ANOVA 分析没有显示 F 统计量和 p.val。如果这是一个幼稚的问题,我深表歉意。

基于不同的斜率,这两个模型的退化率是不同的,但我想知道这种差异在统计上有多显着。我希望这是有道理的。

2个回答

如果您将数据设置在一个长列中,并将 A 和 B 作为新列,则可以将回归模型作为 GLM 运行,其中包含连续时间变量和标称“实验”变量(A,B)。ANOVA 的输出将为您提供参数之间差异的显着性。“截距”是公共截距,“实验”因子将反映实验之间的截距(实际上是整体均值)之间的差异。“时间”因子将是公共斜率,交互作用是实验之间的差异到斜坡。

我不得不承认我作弊(?)并首先分别运行模型以获取两组参数及其错误,然后运行组合模型以获取处理之间的差异(在您的情况下为 A 和 B)...

ANOVA 分析没有显示 F 统计量和 p.value,因为这两个模型具有相同的剩余自由度(即 19),如果您取差值,那么它将为零!取差后应该至少有一个自由度,以便执行 F 检验。