f*******9 发帖数: 74 | 1 我有一组temporal-spatial的基因表达数据,已知时间变量和空间变量,现在想剔除空
间的影响,只分析时间序列,请问该怎么做?比如:
时间 空间 数据
1 A X1 (几百个基因)
2 B X2
2 C X3
3 B X4
3 D X5
4 A X6
4 C X7
5 D X8
... ... ...
通过PCA/PLS分析之后发现空间的作用比较大,所以不能把不同空间的同一个时间点简
单相加。我觉得应该有一种方法,把空间那部分的component给减掉,但不知怎么操作
,还请指教,多谢。
补充:我说的是整体剔除某个因素的作用,不是通过regression把显著的给挑出来。 |
p********n 发帖数: 3367 | |
f*******9 发帖数: 74 | 3 没想到上了首页,谢版主。
我好好的问个问题,不明白为什么总有一些ID喜欢嘲讽别人?
:机器人算数? |
s****u 发帖数: 1433 | 4 去狗 design of experiment.
构造几个因子的相关性模型。然后用你的实验数据计算各个变量的
相关系数。
比如,时间变量*a+空间变量*b+时间变量*空间变量*c
作为你的模型,然后递归计算a,b,c
然后就可以预测了 |
D***0 发帖数: 414 | 5 如果你只想知道时间的作用,是不是可以把数据group下,每一个空间作为一组做回归?
看看每组间有没有差异再说?
或者建议定义一个dummy variable 比如叫 space,
if area=A then space=1;else space=0;
if area=B then space=1;else space=0;
if area=C then space=1;else space=0;
if area=D then space=1;else space=0;
如果用A做baseline,记得做regression时,independent variable 只写B,C,D
一般可以考虑用frequency 最高的那个做baseline |
f*******9 发帖数: 74 | 6 谢回复。我也用这种包含相互作用的线性模型对每个X变量(基因)做了分析,是可以找
出来对时间或空间变量显著的基因。你说的递归是不是一种feature selection?就是
把这些基因看作一个集合,然后计算系数?
【在 s****u 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 去狗 design of experiment. : 构造几个因子的相关性模型。然后用你的实验数据计算各个变量的 : 相关系数。 : 比如,时间变量*a+空间变量*b+时间变量*空间变量*c : 作为你的模型,然后递归计算a,b,c : 然后就可以预测了
|
f*******9 发帖数: 74 | 7 第一个的问题是,每个group里面的时间点太少,只有1-4个。
第二个建议不错,不过如果频率差不多,那就只能消掉一个空间部位的影响,其他的怎
么办?
我附了一张PLS(Partial Least Squares)的图,画的是response score,左右图分别标
记了空间和时间的样本名称。由图看出,大部分样本还是沿着一条斜线分布。如果仔细
看,右图的时间点从右到左按顺序排列(不考虑上下关系)。我的想法就是把这条斜线变
成直线,比如时间是水平线,空间是垂直线,这样就校正了每个因素的影响。然后再把
这种变换还原到X,问题是怎么还原还没想出来。
归?
【在 D***0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 如果你只想知道时间的作用,是不是可以把数据group下,每一个空间作为一组做回归? : 看看每组间有没有差异再说? : 或者建议定义一个dummy variable 比如叫 space, : if area=A then space=1;else space=0; : if area=B then space=1;else space=0; : if area=C then space=1;else space=0; : if area=D then space=1;else space=0; : 如果用A做baseline,记得做regression时,independent variable 只写B,C,D : 一般可以考虑用frequency 最高的那个做baseline
|
D***0 发帖数: 414 | 8 第二种方法的作用并不是消掉某一个空间,而是能知道与A相比,B,C,D的作用是多少。
我并不确定是否有足够好的方法能够剔出空间影响,因为个体的差异和每个个体受到空
间的影响也是不同的。
你已经用过PCA了吧?PCA就是把correlated 变成independent,不知道你要做什么,也
许你可以换个方式draw your conclusion. |
u*******r 发帖数: 2855 | 9 主要是怎么建模的问题
首先你要考虑如何定义时间和空间的类别,比如
1. 空间是fixed effect
则要考虑它是continuous variable or categorical variable
如果是categorical variable,你可以采用上面某位建议的,建立一组dummy variable,
A, B,..., X
y(space=A)=K1*time+A+ε1
y(space=B)=K1*time+B+ε2
...
y(space=X)=K1*time+X+ε3
三种方式处理dummy variable:
1)sum(A+B+...+X)=0;
2)A=0
3)不加限制,但是只有dummy variable之间的相对大小有意义
当然你也可以加入二次方,比如y=K1*time+K2*time^2
如果你把空间定义为continuous variable,那么
你可以像上面建议的那样只考虑线性:
y=K1*time+K2*space+ε
也可以考虑interaction
y=K1*time+K2*space+K12*time*space+ε
可以考虑更高次方
y=K1*time+K2*space+K12*time*space+K11*time^2+K22*space+ε
等等
2.空间是random effect
那么可以把空间当作一个block,model是
y1=K1*time+(K2*time^2)+εblock+ε1,这里所有space A里面的数据的εblock都是
εA,..., Space X里面的数据的 εblock都是εX,εA到εX是variance(block error)
的normal distributijon.需要用MLE来estimate variance(block error)和variance(
random error)的相对大小.
最后,最好是用design of experiment来design你的实验,这样可以保证你的effect(K
)的variance最小。如果你是用historical的随机数据,考虑到correlation和aliasing
effect,有可能出现K的variance比较大,inflation比较高
【在 f*******9 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 谢回复。我也用这种包含相互作用的线性模型对每个X变量(基因)做了分析,是可以找 : 出来对时间或空间变量显著的基因。你说的递归是不是一种feature selection?就是 : 把这些基因看作一个集合,然后计算系数?
|
D***0 发帖数: 414 | 10 空间的影响也会随时间变化,变化的方向因个体而不同。
也许可以考虑设立空间对照,每一个时间点有一个对照的空间control, 这样就可以把
空间的影响normalize掉,可以参考difference in difference model的思路。 |