我有時間序列,並且我將一些用戶定義的函數應用於時間序列中的每個W元素。帶滑動窗口元素的矩陣
現在我只是使用for循環,大小爲W的幻燈片窗口在每次迭代中將我的函數應用於窗口中的元素。
我使用的Matlab,它是非常低效的「for循環」,所以我很想矢量化這個操作。
作爲一種解決方案我看到轉化與長度爲N的信號,以一個矩陣的大小(N - 1,W),其中每一行是在不同的窗口的時間序列和賦予功能給該矩陣。
所以,我的問題是:
- 如何我最初的時間序列轉換爲這樣的矩陣?假設我是步驟X的滑動窗口,所以不會出現(N - 1,W)矩陣,但((N - 1)/ X,W)。
例子([1]矩陣的每個X行):
比方說,我的時間序列是:
T = [1, 5, 6, 8, 10, 14, 22]
W = 3
X = 1
=>我很想得到
[[1, 5, 6],
[5, 6, 8],
[6, 8, 10],
[8, 10, 14],
[10, 14, 22]]
如果
W = 3
X = 2
=>我很想得到
[[1, 5, 6],
[6, 8, 10],
[10, 14, 22]]
你需要有量化以前更多的先驗信息。不過,我沒有看到沒有for循環的方法...... – 16per9
你需要計算什麼樣的操作?卷積不會幫助你嗎? –
不要很快地解僱循環;有時他們比替代品更快。但是我同意以前的評論,我們需要更多關於你需要在這些窗口上執行的操作的信息。 – beaker