Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A probolem for muti-timesteps input factors using sobol sensitivity analysis #503

Open
BoltsLei opened this issue Mar 7, 2022 · 4 comments

Comments

@BoltsLei
Copy link

BoltsLei commented Mar 7, 2022

Hi, I have a model which can predict the water quality. But the input factors are all coninues variable(time series), such as y = f(x1, x2, x3) , and xi has the t time step input, and i belongs to [1, k]. In the other word, the model's input is a (t * k) matix. I want to analyze the contribution for every component in all t time. How I can do this?

My current idea is to treat every time_step of factors as a singe varaiable , and then sampe every varaiable independently .
Finally, group t time steps varaiable into a component or sum the every varaiable in time diemention.
My definition of problem is below:

 problem = {
        'num_vars': TIME_STEPS * INPUT_SIZE,
        'names': [str(name) for name in range(TIME_STEPS * INPUT_SIZE)],
        'bounds': numpy.asarray(bounds_np),
        'groups': ['Group-' + str(idx % INPUT_SIZE) for idx in range(TIME_STEPS * INPUT_SIZE)],
    }

Is my approach feasible or reansonable? How I can count this time series input factors sensitivity?

@willu47
Copy link
Member

willu47 commented Mar 7, 2022

@BoltsLei
Copy link
Author

BoltsLei commented Mar 8, 2022

@willu47 Thank you very much for this paper.
I have another question about HDMR method. My master study is about water quality prediction research. I have many time series data about river (a point collected from auto monitor station)and pollution source (200 number, eg. company) lying by the river. Certain sources of pollution may affect river water quality (eg, monitored by certain elements). I would like to identify possible individuals in a list of pollution sources to build a more robust water quality prediction model.

Recently I find a paper about HDMR that can construct a computationl model directly from lab/field data.

Can I use the HDMR to analyze the sensitivity between pollution source and river by these time series? I search a lot of paper to verify this idea, but no answer. Could you give me some advise when you have time. Thank you.

@ConnectedSystems
Copy link
Member

Can I use the HDMR to analyze the sensitivity between pollution source and river by these time series?

I think this is true of any SA approach that does not require a specific sample scheme. For HDMR specifically though, you may run into several practical issues.

For one, HDMR seems to be a very computationally intensive approach. It can use a lot of memory, particularly for large number of dimensions. You can try and see what happens.

@BoltsLei
Copy link
Author

BoltsLei commented Aug 4, 2022

Can I use the HDMR to analyze the sensitivity between pollution source and river by these time series?

I think this is true of any SA approach that does not require a specific sample scheme. For HDMR specifically though, you may run into several practical issues.

For one, HDMR seems to be a very computationally intensive approach. It can use a lot of memory, particularly for large number of dimensions. You can try and see what happens.

Yeah, HDMR methods can't resolve the problem with more than 100 parameters and it will consume lots of memory. In the last, I group parameters into dimensions to reduce analyze time by using Morris or Sobol method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants