我想预测每周可预测的某些值(低SNR).我需要预测一年中形成的一年的整个时间序列(52个值 - 图1)
我的第一个想法是使用Keras over TensorFlow开发多对多LSTM模型(图2).我正在使用52输入层(前一年的给定时间序列)和52预测输出层(明年的时间序列)训练模型.train_X的形状是(X_examples,52,1),换言之,要训练的X_examples,每个1个特征的52个时间步长.据我所知,Keras会将52个输入视为同一域的时间序列.train_Y的形状是相同的(y_examples,52,1).我添加了一个TimeDistributed层.我的想法是算法会将值预测为时间序列而不是孤立值(我是否正确?)
Keras的模型代码是:
y = y.reshape(y.shape[0], 52, 1)
X = X.reshape(X.shape[0], 52, 1)
# design network
model = Sequential()
model.add(LSTM(n_neurons, input_shape=(X.shape[1], X.shape[2]), return_sequences=True))
model.add(TimeDistributed(Dense(1)))
model.compile(loss='mean_squared_error', optimizer='adam')
# fit network
model.fit(X, y, epochs=n_epochs, batch_size=n_batch, verbose=2)
Run Code Online (Sandbox Code Playgroud)
问题是算法没有学习这个例子.它预测的值与属性的值非常相似.我是否正确建模了问题?
第二个问题:另一个想法是用1输入和1输出训练算法,但是在测试期间如何在不查看'1输入'的情况下预测整个2015时间序列?测试数据将具有与训练数据不同的形状.
我正试图从主机获得延迟很长时间而且我陷入困境.已经尝试过Simple Ping ,但似乎它没有返回延迟.我最接近的是当我使用TKC-PingTest进行MAC OS时.这是完美的,但仅限于iPhone模拟器,因为当使用iPhone时,我得到一个错误,因为TKC使用了补丁"/ sbin/ping".除了这两个,我已经尝试过很多其他的东西,什么都没有.
请求和登录发生得很好但延迟会破坏我想要做的事情.
当用户点击startButton我调用facebook登录方法并且发生正常,会话打开然后调用'populateUserDetails'来获取用户的电子邮件,该信息带有延迟,使我的变量名称和电子邮件变为我的服务,因为在用户的电子邮件和populateUserDetails的名称到达之前调用signIn方法.
登录按钮动作和facebook方法:
- (IBAction)actionButtonStart:(id)sender
{
if (FBSession.activeSession.state == FBSessionStateOpen
|| FBSession.activeSession.state == FBSessionStateOpenTokenExtended) {
[FBSession.activeSession closeAndClearTokenInformation];
} else {
[FBSession openActiveSessionWithReadPermissions:@[@"basic_info"]
allowLoginUI:YES
completionHandler:
^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
}
}
- (void)populateUserDetails
{
if (FBSession.activeSession.isOpen) {
[[FBRequest requestForMe] startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error) {
if (!error) {
NSLog(@"%@", user.name);
NSLog(@"%@", [user objectForKey:@"email"]);
self.nome = user.name;
self.email = [user objectForKey:@"email"];
}
}];
}
}
- (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error …
Run Code Online (Sandbox Code Playgroud) ios ×2
objective-c ×2
bandwidth ×1
cocoa-touch ×1
facebook ×1
forward ×1
keras ×1
latency ×1
lstm ×1
ping ×1
prediction ×1
time-series ×1