scipy.stats.qmc.

scale#

scipy.stats.qmc.scale(sample, l_bounds, u_bounds, *, reverse=False)[Quelle]#

Skalierung von Stichproben vom Einheits-Hyperwürfel auf verschiedene Grenzen.

Um eine Stichprobe von \([0, 1)\) nach \([a, b), b>a\) zu konvertieren, wobei \(a\) die unteren Grenzen und \(b\) die oberen Grenzen sind. Die folgende Transformation wird verwendet:

\[(b - a) \cdot \text{sample} + a\]
Parameter:
samplearray_like (n, d)

Zu skalierende Stichprobe.

l_bounds, u_boundsarray_like (d,)

Untere und obere Grenzen (bzw. \(a\), \(b\)) der transformierten Daten. Wenn reverse True ist, der Bereich der ursprünglichen Daten, der in den Einheits-Hyperwürfel transformiert werden soll.

reversebool, optional

Kehrt die Transformation von verschiedenen Grenzen zum Einheits-Hyperwürfel um. Standard ist False.

Rückgabe:
samplearray_like (n, d)

Skalierte Stichprobe.

Beispiele

Transformieren Sie 3 Stichproben im Einheits-Hyperwürfel in Grenzen

>>> from scipy.stats import qmc
>>> l_bounds = [-2, 0]
>>> u_bounds = [6, 5]
>>> sample = [[0.5 , 0.75],
...           [0.5 , 0.5],
...           [0.75, 0.25]]
>>> sample_scaled = qmc.scale(sample, l_bounds, u_bounds)
>>> sample_scaled
array([[2.  , 3.75],
       [2.  , 2.5 ],
       [4.  , 1.25]])

Und konvertieren Sie zurück in den Einheits-Hyperwürfel

>>> sample_ = qmc.scale(sample_scaled, l_bounds, u_bounds, reverse=True)
>>> sample_
array([[0.5 , 0.75],
       [0.5 , 0.5 ],
       [0.75, 0.25]])