У меня есть некоторые данные, собранные с датчиков моста.Мой проект посвящен использованию esn для симуляции нормального поведения моста с данными датчика, что делает esn способным идентифицировать его проблему со здоровьем.Дело в том, что я не знаю, как использовать данные для прогнозирования.Я знаю, как генерировать выходные веса и получать тестовые результаты с тестовыми данными, но это не предсказание, не так ли?Как в моем проекте нет тестовых данных, тогда как я могу сгенерировать вывод?
Я подумал, что было бы возможно, если бы я генерировал один вывод за раз и использовал его для создания новой последовательности ввода и повторения процесса.Но это не работает.вывод становится все больше и больше.
def generate_data(self):
data=(self.inputSeq)[200:400,:]#its input sequence
stateCollection=self.compute_statematrix(data,[],100)#its for collecting the states of the resevoir
output=np.dot(self.outputWeights,stateCollection)
data=output[0,-10:] #this is the container of the predicted data. I use the last ten to make a new sequence of input
self.inp=data[-10:] #self.inp is curren input seq
ttl=np.zeros(1+self.nInputUnits+self.nInternalUnits) #total state
for i in range(100):
self.internalState=self.plain_esn(0) #generate the internal state for current input
ttl=np.hstack((1,self.inp,self.internalState))
curout=np.dot(self.outputWeights,ttl.T) #I thought then I can generate the right output but no it doesn't
data=np.append(data,curout)
self.inp=data[-10:]
Это тест для набора данных Mackey-Glass.Предсказанные данные становятся такими же большими, как нан.Я надеюсь, что кто-то может сказать мне, где я не прав.