Seite 1 von 1
Standardabweichung bei np.random.randn Matrix
Verfasst: Montag 8. Juni 2020, 11:11
von Beginner2019
Weiß jemand wie man bei einer np.random.randn Matrix die Standardabweichung festlegt?
Ist es richtig die Standardabweichung einfach als Multiplikator vorne anzustellen?
Viele Grüße und danke im vorraus
Re: Standardabweichung bei np.random.randn Matrix
Verfasst: Montag 8. Juni 2020, 11:22
von Sirius3
Wenn Du eine andere Normalverteilung willst, warum nimmst Du dann nicht `numpy.random.normal`?
Re: Standardabweichung bei np.random.randn Matrix
Verfasst: Montag 8. Juni 2020, 11:37
von Beginner2019
Randn zu benutzen ist in der Aufgabenstellung festgelegt
Re: Standardabweichung bei np.random.randn Matrix
Verfasst: Montag 8. Juni 2020, 11:48
von Sirius3
Wenn es darum geht, eine Verteilung nachzuprogrammieren, warum dann nicht auf noch weniger beschränken?
Re: Standardabweichung bei np.random.randn Matrix
Verfasst: Montag 8. Juni 2020, 11:53
von __blackjack__
@Beginner2019: `randn()` ist eine Funktion für Matlab-Portierungen, die eigentliche Funktion dahinter ist `standard_normal()`. Und *die* sollte man in neuem Code nicht mehr direkt aufrufen, sondern erst ein `Generator`-Objekt erstellen. Den Aufgabensteller sollte man vielleicht mal mit der Nase auf die Dokumentation stupsen.
Code: Alles auswählen
#!/usr/bin/env python3
import numpy as np
SIZE = 1_000_000
def main():
rng = np.random.default_rng()
wanted_deviation = 0.42
for _ in range(20):
data = wanted_deviation * rng.standard_normal(SIZE)
actual_deviation = np.std(data)
print(
"std: {:.10f} diff: {:.10f}".format(
actual_deviation, abs(wanted_deviation - actual_deviation)
)
)
if __name__ == "__main__":
main()