Есть ли в Python какая-то функция для этого. В GoogleDocs есть операция по будням, поэтому, возможно, что-то подобное есть в Python. Я почти уверен, что кто-то, должно быть, решил это, подобные проблемы возникают в редких данных, таких как финансы и исследования. В основном я просто пытаюсь организовать огромное количество векторов разных размеров, проиндексированных по дням, временным рядам, я не уверен, как мне следует переставлять дни - пометить первый день с 1 и последний день с N или с unix - время или как это должно быть сделано? Я не уверен, следует ли сохранять временные ряды в матрице, чтобы мне было легче моделировать их для вычисления матриц корреляции и тому подобного, что-нибудь готовое для таких вещей?
Давайте попробуем решить эту проблему без «практического» лишнего беспорядка:
import itertools
seq = range(100000)
criteria = cycle([True]*10 + [False]*801)
list(compress(seq, criteria))
теперь нужно изменить их на дни, а затем заменить $ \ mathbb R $ на $ (\ mathbb R, \ mathbb R) $, кортеж. Так что $ V: \ mathbb R \ mapsto \ mathbb R ^ {2} $ отсутствует, расследование.
[Обновить]
Давайте играть! Ниже код решает подзадачу - создает некоторые тестовые данные для тестирования - теперь нам нужно создать произвольные дни и оценки там, чтобы попытаться протестировать их на произвольных временных рядах. Если мы сможем создать какую-то функцию $ V $, мы очень близки к решению этой проблемы ... она должна учитывать выходные и праздничные дни, поэтому, может быть, не легко (не уверен).
import itertools as i
import time
import math
import numpy
def createRandomData():
samples=[]
for x in range(5):
seq = range(5)
criteria = i.cycle([True]*x+ [False]*3)
samples += [list(i.compress( seq, criteria ))]
return samples
def createNNtriangularMatrix(data):
N = len(data)
return [aa+[0]*(N-len(aa)) for aa in data]
A= createNNtriangularMatrix(createRandomData())
print numpy.array(A)
print numpy.corrcoef(A)