我有一个数据集,其中每一行代表某些行为的发生次数。列代表设定时间量的窗口。看起来像这样:
+----------+----------+----------+----------+-----------+------+ | Episode1 | Episode2 | Episode3 | Episode4 | Episode5 | ... | +----------+----------+----------+----------+-----------+------+ | 2 | 0 | 1 | 3 | | | | 1 | 2 | 4 | 2 | 3 | | | 0 | | | | | | +----------+----------+----------+----------+-----------+------+
有超过150集。我想找到一种方法来将每一行表示为趋势,而不管出现的趋势是多还是少。
我尝试首先计算每行每3/5/10个像元的平均值/中位数/和(因为每行具有不同的长度和许多0值),然后使用它们与一条水平线相关联(代表时间),这些相关系数应能说明趋势(<0表示向下,> 0表示向上)。趋势将用于进一步分析。
我想知道是否有更好的方法可以做到这一点。谢谢。
答案 0 :(得分:1)
如果您期望趋势是线性的,则可以将线性回归分别拟合到每一行,并使用时间来预测行为的发生次数。然后存储斜坡。
该斜率表示将时间增加1集对行为的影响。自然也考虑了时间序列长度的差异。