设计矩阵
在第2部分中,我们最后说左边不是t检验的标准设计矩阵。右边是t-test的标准设计矩阵,它对应的是一个稍微不同的方程。

让我们专注于这个新的设计矩阵和公式是关于什么的!在这个矩阵中,第1列所有的数据(control和mutant)都变成了(mean(control)),但只有mutant的值变成difference(mutant - control)。举个例子:第一行中的1表示“开”control的均值,第一行中的0表示“关”mutant-control的差。

两个方程的残差是相同的。方程也有相同数量的参数,2,所以p(fit)是相同的,所以F值相同,所以p值也相同。如果它们做同样的事得到同样的p值,为什么右边的更常见?说实话,我不知道确切的答案,但我认为这与回归有关

到目前为止,我们已经在使用1和0的背景下研究了设计矩阵,等式“开”或“关”。让我们退后一步,记住它是如何工作的。第一列中的数字乘以control的均值,第一列中的数字乘以mutant-control的差。第一行中的1表示“开”control的均值,第一行中的0表示“关”mutant-control的差。当我们有不同类别的数据时,一个满是1和0的设计矩阵非常适合做t检验或方差分析——但我们可以使用其他数字。
例如,这是一个线性回归的设计矩阵,第一列有一堆1,在第二列,我们得到了每个点的x轴位置。我们现在看第一行,它对应着图中的点。就像之前一样,第一列的数乘以公式的第一项。在本例中,将y-intercept乘以1将其‘打开’。就像之前一样,第二列的数乘以公式的第二项。在这种情况下,我们对斜率(slope)进行缩放(*0.9)。

为了让它更具体,我们来看看用实数表示y轴截距和斜率会发生什么。y-intercept=0.01,slope=0.08。y=10.01+0.90.8=0.73,.然后在最小二乘拟合线上得到一个点对应于第一个数据点。

重复以上步骤,得到所有数据点在拟合曲线上的对应点,我们可以计算残差和p值。这个例子表明,设计矩阵并不总是一串0和1,而是可以是我们想要代入方程的任意一组数字,每次一行。因为这种风格的设计矩阵(第一列都是1)更常见,所以这里的所有例子都将遵循这种格式。

我们回到了老鼠体重和老鼠大小之间的关系。然而,现在我们有两种老鼠,红色测量数据来自正常的对照小鼠,绿色测量数据来自突变小鼠。我们可以看到突变小鼠往往更大,即使它们的重量相同。换句话说,突变小鼠似乎遵循了绿色虚线趋势,而对照组的老鼠似乎也遵循了红色虚线趋势。

我们可以用统计学来检验两种类型的小鼠之间是否有显著的差异吗?如果我们做一个回归,我们会得到一条好看的线,但它不会告诉我们突变小鼠是否明显大于正常小鼠。

另一方面,一个正常的t检验会忽略体重和大小之间的关系,只对老鼠的大小进行统计,p值>0.05,两组老鼠的大小并没有差异。

由于小鼠的体重(weight)和大小(size)之间的这个关系与小鼠的类型有关,所以我们需要将它们结合到单个test中,换句话说,我们不是比较老鼠大小的平均值,我们要去比较两条线之间的关系。为了做到这一点,我们需要一个方程,其中包含正常小鼠的y轴截距项,一项表示i突变的小鼠与对照小鼠的差值,最后一项关于斜率(在这个例子中,这对两种老鼠斜率相同)。这意味着我们需要一个第一列为1的设计矩阵,这意味着两条直线与y轴相交于某一点。第二列表示差值是开启还是关闭,control mouse的mutant offset为“off”,mutant mouse的mutant offset为”on"。第三列是体重数据。让我们看设计矩阵的第一行,代入数字,的到红线上的点。

代入设计矩阵中的所有数据,我们有了直线上的位置,我们就可以计算残差。现在我们把这个左边复杂的模型叫做“fancy model”与右边简单的模型“simple model”进行比较。代入这个复杂模型的残差平方和进入F值计算的公式,此时p(fancy)=3,代入简单模型的残差平方和,p(simple)=1,F=21.88,p值=0.003。

上面的简单模型只考虑了大小,现在我们即考虑大小有考虑体重,但是忽略老鼠的种类。然后我们计算残差,代入计算F=32.6,p值0.0023。这个小的p值表明,同时使用体重和老鼠种类比单独使用体重能更好地预测老鼠的大小。

这是一个简单的模型,忽略了老鼠体重。计算残差,计算F=31.06,p值=0.0025,这个小的p值表明,同时使用体重和老鼠种类比单独使用种类能更好地预测老鼠的大小。

批次效应(batch effect)
Lab A为一个实验,Lab B重复它,但是测量结果全部变小了。我们希望结合这两个数据集,看看突变体是否与控制组不同,但我们需要进行消除“批次效应”
首先,第一项为Lab A Control的平均值,第二项为Lab B Control与Lab A Control的平均值的差值,第三项为mutant和control数据的差值。得出设计矩阵,本质上,我们想知道方程的最后一项是否重要?或者,最后一列重要吗?

现在我们比较这个复杂方程(fancy equation)与简单方程(simpler equation,简单方程忽略了control与mutant的分组)的区别,一个小的p值将告诉我们,保留control与mutant的分组的方程比不保留control与mutant的分组方程更好地预测基因表达。这将意味着control与mutant之间的差异是显著的。

网友评论