Viewing a single comment thread. View all comments

_Arsenie_Boca_ t1_irr84f2 wrote

I guess this is timeseries forecasting. You should think about the lookahead. Probably, during training, the model only has to predict the next point, while during testing, it has to predict many values autoregressively

2

Constant-Cranberry29 OP t1_irr8eo4 wrote

>I guess this is timeseries forecasting. You should think about the lookahead. Probably, during training, the model only has to predict the next point, while during testing, it has to predict many values autoregressively

what should I do? should I change the model structure or use another model?

1

_Arsenie_Boca_ t1_irr9bb4 wrote

No this is not a modelling issue. It actually isnt a real issue at all. Predicting a very long trajectory is simply very hard. At each timestep, a slight error will occur which will exponentiate, even if the error per timestep is marginal. Imagine being asked to predict a certain stock price. Given some expertise and current information, you might be able to do it for tomorrow, but can you do it precisely for the next year?

1

Constant-Cranberry29 OP t1_irra20x wrote

then is there any suggestion for me so that the model I have made can predict properly?

1

_Arsenie_Boca_ t1_irrcmwh wrote

If all you want to see is the two curves close to each other, I guess you could size up the model, so that it overfits terribly. But is that really desirable?

If my assumption that you predict the whole graph autoregressively is correct, then I believe it works just fine. You should check the forecast horizon and think about what it is you want to achieve in the end

1

Constant-Cranberry29 OP t1_irreagz wrote

Do you mean I need size up in this part?

def ResNet50Regression():

`Res_input = layers.Input(shape=(178,))`

# 128

`width = 128`



`x = dens_block(Res_input,width)`

`x = identity_block(x,width)`

`x = identity_block(x,width)`



`x = dens_block(x,width)`

`x = identity_block(x,width)`

`x = identity_block(x,width)`



`x = dens_block(x,width)`

`x = identity_block(x,width)`

`x = identity_block(x,width)`



`x = layers.BatchNormalization()(x)`

`x = layers.Dense(1,activation='linear')(x)`

`model = models.Model(inputs=Res_input, outputs=x)`



`return model`
1