Subject | Hash | Author | Date (UTC) |
---|---|---|---|
f_models.Nataf: prevent from nans in pdfs | a4119069f7fdaf11b794f0623daff3dba8997b82 | Alex | 2020-12-15 08:03:00 |
f_model.Nataf: fixes | 53912fc25e9d048f1ee32039dce32f0b011e470f | Alex | 2020-12-15 06:55:47 |
f_models.Nataf: fixes | 1bc1d5128d60016be0f29e7c18a818c5a5a243af | Alex | 2020-12-15 03:56:15 |
f_models: Nataf model added | 914dc13921a65c4bd197c106e57f430b8adca66d | Alex | 2020-12-15 03:20:47 |
Juniorstav related commit | 31fc92d38d41b7256ba000114237421201af12b9 | Aleksei Gerasimov | 2020-11-27 21:57:44 |
gl_plot: allow grid in any space | 4c66ae078ad1360198738d0c5ea034d56ee1f6d6 | Aleksei Gerasimov | 2020-11-14 13:50:09 |
qt_plot.SimpleSimplexEstimationGraph: zero pf_exact crashfix | 7c1e8b475fea406e1bae16f7a5927fc4633bebda | Aleksei Gerasimov | 2020-11-14 13:35:36 |
qt_plot.SimpleSimplexEstimationGraph: show labels option added to contex menu | d47279afa1e8557f565de75fc6d96fbad60f9e85 | Aleksei Gerasimov | 2020-11-14 11:49:30 |
qt_plot.SimpleSimplexEstimationGraph: LogPlot filling fix | 560fb62533c39e2d1f91070cad0d0d8b11d815b1 | Aleksei Gerasimov | 2020-11-14 10:44:20 |
qt_plot: little improvements | 9ea46d85fc2490c7fcdd29c5418c2068d4887575 | I am | 2020-11-06 04:35:07 |
dicebox.Chrt: nan issues fix | 4fc930a186bc7df6e24d13804c51bb6ccc4b01f1 | I am | 2020-11-06 04:34:20 |
qt_plot.SimpleSimplexEstimationGraph: Log plot fix | 9197230fb1d133ea371485f7a21c8a9aff1a2591 | I am | 2020-11-05 07:50:05 |
qt_plot.SimpleSimplexEstimationGraph: proxy support is ready | 58e1c80eb227cc174aac2e8ecae7e741ce951060 | I am | 2020-11-05 04:47:24 |
qt_plot.SimpleSimplexEstimationGraph: export to excel is enabled | 8590bf8910466f3fa4cac3d013add2688151e96c | I am | 2020-11-05 01:34:38 |
qt_plot.SimpleSimplexEstimationGraph: WIP, aspoň teď něco kreslí... | a5ea95acfd15369943cd8bc132281322ccf7c1f1 | I am | 2020-11-05 00:16:19 |
qt_plot.SimpleSimplexEstimationGraph: WIP | f31cd7aad0e351ef7dafcf9d1326d3221c8a9833 | I am | 2020-11-04 05:37:16 |
qt_plot.SimpleSimplexEstimationGraph: no more that unbearable colors! | 4f4211e8d0c242f5aa06bbab42d8b360078cee38 | I am | 2020-11-04 04:29:34 |
qt_plot: add progress dialog | ba5f738745100fbbb4b657910fed610e61039ee0 | I am | 2020-11-04 03:34:21 |
qt_plot:TriEstimationGraph: WIP | 58d98e0775b55bda449c4c7b7e7eac1a2f573097 | I am | 2020-11-04 02:32:37 |
plot: messages fix | 336481a61c2d8ac302437b65f641c7d39767c7ea | I am | 2020-11-04 02:32:08 |
File | Lines added | Lines deleted |
---|---|---|
f_models.py | 6 | 6 |
File f_models.py changed (mode: 100644) (index 31b9237..8bb687b) | |||
... | ... | class Nataf: # quick'n dirty | |
896 | 896 | def _get_pdf_U(f, slice=None): | def _get_pdf_U(f, slice=None): |
897 | 897 | U = f.U[slice] | U = f.U[slice] |
898 | 898 | pdf_U = np.where(np.all((U >= 0) & (U <= 1), axis=1), 1, 0) | pdf_U = np.where(np.all((U >= 0) & (U <= 1), axis=1), 1, 0) |
899 | return pdf_U | ||
899 | return np.nan_to_num(pdf_U, copy=False) | ||
900 | 900 | ||
901 | 901 | ||
902 | 902 | def _get_pdf_G(f, slice=None): | def _get_pdf_G(f, slice=None): |
903 | 903 | G = f.G[slice] | G = f.G[slice] |
904 | 904 | pdf_G = np.prod(stats.norm.pdf(G), axis=1) | pdf_G = np.prod(stats.norm.pdf(G), axis=1) |
905 | return pdf_G | ||
905 | return np.nan_to_num(pdf_G, copy=False) | ||
906 | 906 | ||
907 | 907 | def _get_pdf_GK(f, slice=None): | def _get_pdf_GK(f, slice=None): |
908 | 908 | GK = f.GK[slice] | GK = f.GK[slice] |
909 | 909 | right_part = np.exp(-0.5 * np.sum((GK @ f._inv_cor)*GK, axis=1)) | right_part = np.exp(-0.5 * np.sum((GK @ f._inv_cor)*GK, axis=1)) |
910 | 910 | pdf_GK = f._pdf_left_part * right_part | pdf_GK = f._pdf_left_part * right_part |
911 | return pdf_GK | ||
911 | return np.nan_to_num(pdf_GK, copy=False) | ||
912 | 912 | ||
913 | 913 | def _get_pdf_P(f, slice=None): | def _get_pdf_P(f, slice=None): |
914 | 914 | P = f.P[slice] | P = f.P[slice] |
... | ... | class Nataf: # quick'n dirty | |
917 | 917 | pdf_GK_indep = np.prod(stats.norm.pdf(GK), axis=1) | pdf_GK_indep = np.prod(stats.norm.pdf(GK), axis=1) |
918 | 918 | pdf_P = pdf_GK/pdf_GK_indep | pdf_P = pdf_GK/pdf_GK_indep |
919 | 919 | pdf_P = np.where(np.all((P >= 0) & (P <= 1), axis=1), pdf_P, 0) | pdf_P = np.where(np.all((P >= 0) & (P <= 1), axis=1), pdf_P, 0) |
920 | return pdf_P | ||
920 | return np.nan_to_num(pdf_P, copy=False) | ||
921 | 921 | ||
922 | 922 | def _get_pdf_R(f, slice=None): | def _get_pdf_R(f, slice=None): |
923 | 923 | pdf_P = f.pdf_P[slice] | pdf_P = f.pdf_P[slice] |
... | ... | class Nataf: # quick'n dirty | |
925 | 925 | pdfs_R = [f.marginals[i].pdf(R[:, i]) for i in range(f.nvar)] | pdfs_R = [f.marginals[i].pdf(R[:, i]) for i in range(f.nvar)] |
926 | 926 | # je tu fakt axis=0. Dochazí totíž v iterátoru k převracení | # je tu fakt axis=0. Dochazí totíž v iterátoru k převracení |
927 | 927 | pdf_R = np.prod(pdfs_R, axis=0) * pdf_P | pdf_R = np.prod(pdfs_R, axis=0) * pdf_P |
928 | return pdf_R | ||
928 | return np.nan_to_num(pdf_R, copy=False) | ||
929 | 929 | ||
930 | 930 | def _get_pdf_Rn(f, slice=None): | def _get_pdf_Rn(f, slice=None): |
931 | 931 | pdf_R = f.pdf_R[slice] | pdf_R = f.pdf_R[slice] |
932 | 932 | pdf_Rn = pdf_R * f._pdf_Rn_coef | pdf_Rn = pdf_R * f._pdf_Rn_coef |
933 | return pdf_Rn | ||
933 | return np.nan_to_num(pdf_Rn, copy=False) | ||
934 | 934 | ||
935 | 935 | ||
936 | 936 | def pdf(f, space='R'): | def pdf(f, space='R'): |