标签: sequence

如何在R中创建具有不同数字的字符串序列

我只是想不通如何创建一个矢量,其中字符串是常量但数字不是.例如:

c("raster[1]","raster[2]","raster[3]")
Run Code Online (Sandbox Code Playgroud)

我想使用类似的东西seq(raster[1],raster[99], by=1),但这不起作用.

提前致谢.

r sequence

14
推荐指数
2
解决办法
1万
查看次数

从多变量时间序列间隔检测罕见事件

给定传感器状态间隔的时间序列,如何实现分类器,该分类器从监督的训练数据中学习以基于状态间隔序列来检测事件?为简化问题,传感器状态减少到truefalse.

更新:我发现本文(PDF)关于时间间隔的挖掘序列,它解决了类似的问题.关于采用多变量时间序列中的分层时间模式的另一篇论文(Google Docs)采用了一种新颖的方法,但处理分层数据.

示例培训数据

下面的数据是用于一个事件,表示为图形随着时间的推移,在一个训练样例/¯¯¯\表示true状态间隔和\___/一个false用于传感器状态的时间间隔.

 Sensor   |  Sensor State over time
          |  0....5....10...15...20...25...  // timestamp
 ---------|--------------------------------
 A        |  ¯¯¯¯¯¯¯¯¯¯¯¯\________/¯¯¯¯¯¯¯¯
 B        |  ¯¯¯¯¯\___________________/¯¯¯¯
 C        |  ______________________________  // no state change
 D        |  /¯\_/¯\_/¯\_/¯\_/¯\_/¯\_/¯\_/¯
 E        |  _________________/¯¯¯¯¯¯¯¯\___
Run Code Online (Sandbox Code Playgroud)

事件检测与序列标记与分类

我最初将我的问题概括为一个两类序列标签问题,但我的类别实际上代表了"正常操作"和罕见的"警报事件",因此我将我的问题重新定义为事件检测.训练数据可用于"正常操作"和"警报事件".

为了减少问题的复杂性,我将传感器事件离散化为布尔值,但不一定是这种情况.

可能的算法

隐马尔可夫模型似乎是一种可能的解决方案,但是它能够使用状态区间吗?如果序列标签不是解决此问题的最佳方法,则可以理解其他建议.

贝叶斯概率方法

传感器活动会随时间变化很大(早上很忙,晚上很安静).我最初的方法是在几天内测量正常的传感器状态,并按时间(小时)计算状态概率.传感器状态在不可能的一小时超过"不可能阈值"的组合概率将表明事件.但是,如果传感器有噪音,这似乎会引起误报.我还没有实现这个,但我相信这种方法是有价值的.

特征提取

矢量状态可以表示为在特定时间发生并持续特定持续时间的状态间隔变化.

struct StateInterval
{
    int sensorID;
    bool state;
    DateTime timeStamp;
    TimeSpan duration; 
}
Run Code Online (Sandbox Code Playgroud)

例如.进程表中的一些状态间隔:

[ {D, true, …
Run Code Online (Sandbox Code Playgroud)

c# classification machine-learning time-series sequence

13
推荐指数
1
解决办法
1506
查看次数

MySQL中的SELECT整数范围.例如.1,2,3,4,...,N;

我需要在MySQL中选择整数范围.像这样的东西

SELECT RANGE(10,20) AS range;

回报

10, 11, 12, 13, 14, ..., 20

为什么?
我想从尚未注册的范围中选择随机电话号码.这是个主意.

SELECT RANGE(100000,999999) AS range FROM phone WHERE phoneNum <> range LIMIT FLOOR(100000 + RAND()*(899999);

mysql range sequence

13
推荐指数
1
解决办法
2万
查看次数

如何重新排列python pandas数据帧?

我从.csv文件读入以下数据帧,其中"Date"列是索引.日期在行中,列显示当天的小时值.

> Date           h1 h2  h3  h4 ... h24
> 14.03.2013    60  50  52  49 ... 73
Run Code Online (Sandbox Code Playgroud)

我想像这样安排它,这样就有一个索引列带有日期/时间,一列带有序列中的值

>Date/Time            Value
>14.03.2013 00:00:00  60
>14.03.2013 01:00:00  50
>14.03.2013 02:00:00  52
>14.03.2013 03:00:00  49
>.
>.
>.
>14.03.2013 23:00:00  73
Run Code Online (Sandbox Code Playgroud)

我通过使用两个循环来遍历数据帧来尝试它.在熊猫中有更简单的方法吗?

python row sequence dataframe pandas

13
推荐指数
1
解决办法
8091
查看次数

在starUML的序列图中使用alt

我无法发现如何在starUML中正确使用alt /组合片段,因为我无法在alt片段出现后提供条件.任何1只列出程序如何做它或一些好教程的链接.

sequence fragment staruml xmi alt

13
推荐指数
4
解决办法
3万
查看次数

Fibonacci Seq.奇怪的输出形式(Haskell)

当我在数字的输入中意识到一些"奇怪的"形式时,我正在观察我在Haskell中的Fibobacci序列实现的结果.

首先,这是我提出的Haskell代码:

fib :: Integer -> [Integer]
fib 0 = [0]
fib 1 = [0, 1]
fib a = (fib' 0 1 [0,1] 1 a)

fib' :: Integer -> Integer -> [Integer] -> Integer -> Integer -> [Integer]
fib' n1 n2 l cont n 
        | cont == n = l
        | otherwise = (fib' n2 n3 (l++[n3]) (cont+1) n)
             where n3 = n2 + n1
Run Code Online (Sandbox Code Playgroud)

对于像fib 10这样的东西,输出将是:[0,1,1,2,3,5,8,13,21,34,55]然后我想尝试像fib 1000这样的东西,而数字非常大,所有...我看到的是由","形成的一些奇怪的elipses,从列表中的每个Integer之间打印出来,例如:

例1

所以我最大化了输出窗口的大小,看看这个奇怪的模式是否仍会重复,答案是肯定的:

例题

我的问题是:

有人知道为什么在列表中的整数之间的","中出现这种模式?难道不应该更随机而不是像elipses一样吗?

haskell sequence fibonacci

13
推荐指数
1
解决办法
449
查看次数

Oracle:max(id)+1和sequence.nextval之间的区别

我正在使用Oracle

创建ID使用max(id)+1和使用sequance.nexval,使用何时以及何时使用有什么区别?

喜欢:

insert into student (id,name) values (select max(id)+1 from student, 'abc');
Run Code Online (Sandbox Code Playgroud)

insert into student (id,name) values (SQ_STUDENT.nextval, 'abc');
Run Code Online (Sandbox Code Playgroud)

SQ_STUDENT.nextval 有时给出重复记录的错误...

请帮我解决这个疑问

oracle sequence

13
推荐指数
2
解决办法
2万
查看次数

如果R中有0,如何填写前面的数字?

我有一串数字:

n1 = c(1, 1, 0, 6, 0, 0, 10, 10, 11, 12, 0, 0, 19, 23, 0, 0)
Run Code Online (Sandbox Code Playgroud)

我需要用它前面的相应数字替换0来得到:

n2 = c(1, 1, 1, 6, 6, 6, 10, 10, 11, 12, 12, 12, 19, 23, 23, 23)
Run Code Online (Sandbox Code Playgroud)

我如何从n1到n2?

提前致谢!

replace numbers r sequence

13
推荐指数
5
解决办法
528
查看次数

检查向量后面的 5 个连续 TRUE 值

我有以下数据:

x <- c(F, T, T, T, F, T, T, T, T, T)
names(x) <- letters[1:10]
y <- c(T, F, T, T, T, F, T, T, T, T)
names(y) <- letters[1:10]
z <- c(T, T, F, T, T, T, T, T, F, F)
names(z) <- letters[1:10]
a <- c(T, T, T, T, T, F, T, F, T, T, T, T, T)
names(a) <- letters[1:13]
Run Code Online (Sandbox Code Playgroud)

我想创建一个函数,它可以对前 5 个连续T值进行子集化,但从后面开始。例如,如果我x通过该函数传递对象,我应该得到以下输出:

#    f    g    h    i    j 
# TRUE TRUE …
Run Code Online (Sandbox Code Playgroud)

r vector sequence

13
推荐指数
2
解决办法
1272
查看次数

使用什么算法将数字序列分段为n个子集,以最小化每个子集中数字之和的标准偏差

我正在寻找一种算法将一系列正数分段为n个子序列,这样每个子集中数字之和的标准偏差就会最小化.

每个子序列中的数字的排序需要与原始序列中的排序相同

例如:

假设我有一个序列{1,1,1,1,1,1,10,1},我想分成2个子序列.
我相信最优解是{1,1,1,1,1,1},{10,1}.

第一个子序列的总和是6,第二个子序列的总和是11
这两个数字的标准差是~3.5,我相信这是最低的.

假设我有一个序列{4,1,1,1,1,6},我想分成3个子序列.
我相信最优解是{4},{1,1,1,1},{6}子
序列的总和是4,4和6.
3个数的标准差是~1.15,我是相信是最低的.

我能够想出的最好的算法是找到序列中每个数字的累积和,并在[totalSum/numSubsequences]的每个间隔处对序列进行分段.

例如,给定序列{4,1,1,1,1,6},每个序列的数量的累积和是{4,5,6,7,8,14}.序列中所有数字的总和为14,因此,假设我想要3个子序列,我应该在总数达到14/3 = 4.66和2*14/3 = 9.333333时对序列进行分段.

但是,累计总数等于4.66的序列中没有实际位置 - 第一个累计总数为4,下一个累计总数为5.那么我应该向上舍入还是应该向下舍入?在这种情况下,向下舍入为4会给出最佳解决方案,但情况并非总是如此.我能想到的最好的方法是尝试向上和向下舍入的每个组合,但这会导致O(2 ^ numSubsequences)复杂度.

这似乎是一种可以应用预先存在的算法的东西,但是我的谷歌搜索让我失望了.我知道分区问题,它是NP完全的,但它处理的是无序集,而不是有序序列.

任何帮助,将不胜感激.

algorithm sequence

12
推荐指数
1
解决办法
3073
查看次数