-
Notifications
You must be signed in to change notification settings - Fork 86
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
How to deal with high-dimensional system? #40
Comments
Hi Jiaxing, some general comments on your questions above are:
Best, |
@tsilifis, Thank you for your answer. I understand how to compare different methods. I have an another question about the sparse gird. I am trying to generate the sparse grid using the code like this: The memory of my computer is 64g now. However, the generating process using the code above is quite slow. I can not get the results. Is there anything wrong? |
@tsilifis , I can not use a PCE with the order larger than 2. This is also because the dimension of my problem is as large as 39. The unknown parameters for a third order PCE are too large. |
The library for pseudo-spectral projections was never designed to scale smoothly upwards, so the limitations you are experiencing is not much of a surprises. Non-sparse order 3 -> 4^39=302231454903657293676544 samples. Sparse helps a few orders of magnitude, but that is still quite a bit of samples to handle even if the generator wasn't struggling. The method A naive approach that will work, is to use Monte Carlo integration: Generate random samples from your distributions, use Side note: |
@jonathf, Thanks a lot. I try the method as you said. P presets the input samples which is generated using sobol's sequence and Y represent the model outputs:
The convergence of this method is much slower compared to the point collocation method. Can I draw a conclusion that the point collocation is better than pseudo-spectral projection method, when the dimension of the input is very large? |
Yes, you can safely conclude that PC is better than PSP in higher dimensions. |
@jonathf Thank you very much. I get my answer. |
I tried to construct the PCE using spectral projection method like this:
distribution = cp.Iid(cp.Normal(0, 1), 39)
nodes, weights = cp.generate_quadrature(order = 1, domain = distribution)
My computer crashed directly, as there are too many parameters. My question is I want to construct a PCE, which has 39 uncertainty parameters. Can I use the spectral projection method? Are there any other way to using spectral projection method to reduce the samples?
I have construct PCE using the linear regression method with 4000 samples like this (P and Y are my samples and predictions):
distribution = cp.Iid(cp.Uniform(0, 1), 39)
polynomial_expansion = cp.orth_ttr(2, distribution)
foo_approx = cp.fit_regression(polynomial_expansion, P, Y)
and the relative accuracy is 1% which is acceptable for me.
I want to compare spectral projection and linear regression. Are they comparable at dealing with the high dimensional question, which has 39 model inputs?
Thank you very much.
The text was updated successfully, but these errors were encountered: