/misc.py (6ea8dc8f50a656c48f786d5a00bd6398276c9741) (2004 bytes) (mode 100644) (type blob)
#!/usr/bin/env python
# coding: utf-8
import numpy as np
from . import sball # for Isocurves
def isolevels_2d(pdf, weighting_pdf_const, r_levels, from_top=None):
"""
weighting_pdf_const = 1 / (xmax - xmin) / (ymax - ymin)
"""
s_ball = sball.Sball(2) # nvar=2
p_levels = []
for r in r_levels:
p_levels.append(1 - s_ball.get_pf(r))
return isolevels(pdf, weighting_pdf_const, p_levels, from_top)
def isolevels(pdf, weighting_pdf_const, p_levels, from_top=None):
"""
weighting_pdf_const = 1 / (xmax - xmin) / (ymax - ymin)
"""
#č třeba P prostor doopravdy zlobí, takže zkusím nějak tak
if from_top is None:
weights = pdf / weighting_pdf_const
p_all = np.sum(weights) / len(pdf)
#č prečo víme, že celková pravděpodobnost může bejt nekoněčně velká
if p_all <= 1:
from_top = True
else:
from_top = False
max_pdf = np.max(pdf)
pdf_levels = []
if from_top:
# descending
sorted_pdf = np.flip(np.sort(pdf))
p_cumsum = np.cumsum(sorted_pdf) / weighting_pdf_const / len(pdf)
for p in p_levels:
# little bit tricky, didn't find numpy method for this
mask = p_cumsum <= p
level_down_bound = np.max(sorted_pdf[~mask], initial=0)
level_up_bound = np.min(sorted_pdf[mask], initial=max_pdf)
pdf_levels.append((level_down_bound + level_up_bound) / 2)
else: # from bottom
sorted_pdf = np.sort(pdf)
p_cumsum = np.cumsum(sorted_pdf) / weighting_pdf_const / len(pdf)
for p in p_levels:
# little bit tricky, didn't find numpy method for this
mask = p_cumsum <= 1-p
level_down_bound = np.max(sorted_pdf[mask], initial=0)
level_up_bound = np.min(sorted_pdf[~mask], initial=max_pdf)
pdf_levels.append((level_down_bound + level_up_bound) / 2)
return pdf_levels
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
18023 |
dbc921a5ff53594363973972d53c5d572d2826d1 |
IS_stat.py |
100644 |
blob |
6 |
0916b75b752887809bac2330f3de246c42c245cd |
__init__.py |
100644 |
blob |
73368 |
3d245b8568158ac63c80fa0847631776a140db0f |
blackbox.py |
100644 |
blob |
11243 |
10c424c2ce5e8cdd0da97a5aba74c54d1ca71e0d |
candybox.py |
100644 |
blob |
53090 |
36d72557a0b012a8b30888e26a425a507929bfff |
dicebox.py |
100644 |
blob |
47075 |
3ad01c91c9781b03caf9d0365932c12eb1ccec5c |
estimation.py |
100644 |
blob |
34189 |
e2b43f8f1a46cfc950347d6106ff3cba9ffe5f0c |
f_models.py |
100644 |
blob |
31025 |
70bab60405bfe783a2f7a9f2c41b7c1629d3d474 |
g_models.py |
100644 |
blob |
42845 |
e66a644b3f32e3a7b2556eebe581ef7ef6a638d7 |
gl_plot.py |
100644 |
blob |
2718 |
5d721d117448dbb96c554ea8f0e4651ffe9ac457 |
gp_plot.py |
100644 |
blob |
29393 |
96162a5d181b8307507ba2f44bafe984aa939163 |
lukiskon.py |
100644 |
blob |
2004 |
6ea8dc8f50a656c48f786d5a00bd6398276c9741 |
misc.py |
100644 |
blob |
10489 |
1f6dd06a036fdc4ba6a7e6d61ac0b84e8ad3a4c1 |
mplot.py |
100644 |
blob |
1366 |
993a88f239b6304e48eb519c20a640f28055d7c9 |
plot.py |
100644 |
blob |
2807 |
1feb1d43e90e027f35bbd0a6730ab18501cef63a |
plotly_plot.py |
100644 |
blob |
108414 |
0582ff11304f24e05f5f13bf611a17d85cb37254 |
qt_plot.py |
100644 |
blob |
6304 |
7fc6ac75e415df43af5b7aa9d6d1848aa5d0963d |
reader.py |
100644 |
blob |
4284 |
a0e0b4e593204ff6254f23a67652804db07800a6 |
samplebox.py |
100644 |
blob |
5553 |
bac994ae58f1df80c7f8b3f33955af5402f5a4f3 |
sball.py |
100644 |
blob |
21623 |
281aef80556b8d22842b8659f6f0b7dab0ad71af |
shapeshare.py |
100644 |
blob |
19837 |
5517d072307bd4c5a462a20943e3a354f32a9589 |
simplex.py |
100644 |
blob |
10357 |
80c60a409f7b1eb0592d1276dff7aacb065a0f84 |
stm_df.py |
100644 |
blob |
3411 |
526104441da7029c83ff7c5037ae6b0dbc9a118d |
testcases_2D.py |
100644 |
blob |
22048 |
4a6014ca5255aa96059ff9ed5a7e29df98d26ffc |
whitebox.py |
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/WellMet
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/WellMet
Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/WellMet
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main