Diese Methode besteht aus vier Hauptteilen. Diese Komponenten sind ein Integrand, eine diskrete Verteilung, zusammenfassende Ausgangsdaten und ein Stoppkriterium. Die folgende Formel wird von dieser Methode zur Durchführung verwendet:
Eine andere Sache, die Sie beachten sollten, ist, dass diese Methode fast die gleiche ist wie die Monte -Carlo -Methode. Der einzige Unterschied besteht darin, dass die Quasirandom -Nummer verwendet wird, um das Integral der Eingabe zu erhalten. Diese Zahlen werden vom Computer selbst mit einigen Algorithmen generiert. Diese generierten Zahlen liegen irgendwie nahe an Pseudorandom -Zahlen. Die Quasi-Monte-Carlo-Methode ist auch als Halton-Hammersley-Wozniakowski-Methode bekannt und verwendet die Wolfram-Sprache, um zu arbeiten. Die Quasi-Monte-Carlo-Methode hat eine viel schnellere Konvergenzrate als die Monte-Carlo-Stimulationsrate i.e o (n-1/2). Es hat auch Fehlerchancen von O (n)-1). Diese Methode erzeugt vollständig bestimmte Ergebnisse.
Diese Techniken und Methoden sind auch sehr nützlich bei der Lösung von Computergrafikproblemen mathematisch mithilfe von Diagrammen usw. In anderen Sprachen können Sie diese Methoden auch anwenden, um Ihre Anforderungen zu erfüllen, müssen jedoch den gesamten Code schreiben und müssen Ihre Logik je nach mathematischer Fähigkeiten ausmachen. In Python ist diese Methode jedoch eine integrierte Funktion und erfolgt in Form der Bibliothek. Im Vergleich zu anderen Sprachen ist diese Funktion in Python viel einfacher zu erfüllen.
Syntax:
Quasi-monte Carlo ist weder eine Funktion noch eine Bibliothek. Es handelt sich um ein Modul in Scipy, das Helferfunktionen und Motoren bietet, die zur Durchführung von Operationen im Zusammenhang mit der Quasi-Monte-Carlo-Methode verwendet werden. Im Folgenden sind die von diesem Modul bereitgestellten Motoren aufgeführt.
Qmcengine: Dies ist eine Klasse, die zur Unterklasse verwendet wird. Es dauert zwei Parameter. Einer ist Dimension „D“ des Parameterraums, der eine Ganzzahl und der andere ist „Saatgut“, der optional ist.
Sobol: Diese Motor wird zur Erstellung von Sobol -Sequenzen verwendet. Es nimmt auch die Dimension als Parameter und ein weiterer Parameter -Scramble, der ein boolescher und optional ist. Die beiden anderen optionalen Parameter sind Bits und Seeds, die ganzzahlige Datentypen sind.
Warte: Genau wie Sobol erzeugte dieser Motor auch eine Sequenz. Aber anstelle von Sobol -Sequenzen erzeugte diese Haltonsequenz. Es hat drei Parameter. Dimension, Scramble und Samen.
Latinhypercube: Dieser Motor wird für LHS I verwendet.E lateinische Hyper -Würfel -Probenahme. Es hat fünf Parameter. Drei sind die gleichen wie andere Motoren i.E: Dimension „D“, Samen und Stärke. Die anderen beiden sind Optimierung und zentriert. Beide sind optionale Parameter.
Poissondisk: Dieser Motor wird für PDs verwendet. Die gleichen Parameter sind Dimension und Samen. Drei Parameter sind unterschiedlich, das ist der Radius, der einen float -Datenatypen, eine Hypersphäre ist, die ein optionaler Parameter ist, und Kandidaten mit einem ganzzahligen Datentyp. Die Anzahl der Kandidaten als Eingabe, die eine Probe pro Inkrement oder Iteration durchführen wird.
Multinomialqmc: Dieser Motor ist ein generischer Quasi-Monte-Carlo-Probenehmer, der für die multinomiale Verteilung verwendet wird. Es hat einen gleichen Parameter, der ein Samen ist. Es hat insgesamt vier Argumente. Pvals, ein Array-ähnliches Argument, ntrials mit einem ganzzahligen Datentyp und Motor, der ein Motorprobenehmer für Quasi Monte Carlo ist. Standardmäßig nimmt es Sobol als Wert an.
MultivariAlimeMalqmc: Dies wird zur Probenahme von multivariatem Normalen verwendet. Es hat sechs Parameter und einer von ihnen ist der gleiche. Diese sechs Argumente sind Mittelwert, COV, COV_ROOT, Inv_Transform, Motor und Saatgut.
Diese Motoren haben ihre Funktionen, um Operationen auszuführen. Abgesehen von den Motoren bietet dieses Modul auch Helferfunktionen, die dispergierend, update_disperancy und scale sind.
Beispiel # 01:
Damit Sie dieses Modul im Detail verstehen, geben wir ein Beispiel für einen der Algorithmen dieser Methode mithilfe von Scipy.QMC in der Python -Sprache. Wir werden den Wert des dimensionalen Keister -Integrands berechnen [18]. Dazu haben wir zum ersten Mal leer aus Scipy importiert. Danach haben wir ein paar weitere Bibliotheken mit mathematischen Funktionen importiert, da wir diese Funktionen für unsere Berechnungen benötigen. In diesem Beispiel haben wir die Sobol -Engine von QMC verwendet, die wir früher in unserem Artikel erörtert haben. Wir haben die Werte an unsere Funktionen übergeben und schließlich haben wir unsere Ausgabe gedruckt. Jetzt werden wir unseren Code ausführen, um das Ergebnis zu sehen.
Importieren Sie QMCPY als QMCPyNach der Ausführung unseres Codes hat uns das System die folgende Ausgabe gegeben. In MATLAB- oder anderen digitalen Bildverarbeitungswerkzeugen wird diese Ausgabe in Form einer grafischen Darstellung angezeigt. Aber hier haben wir Ausgaben im Konsolenformat, damit wir nur die aus unserem Code zurückgegebenen Werte sehen und nach der Ausführung der QMC.
Abschluss
In diesem Leitfaden haben wir keine bestimmte Bibliothek, Klasse oder Funktion in Scipy besprochen. Wir haben eine mathematische Methode diskutiert, die Quasi-Monte-Carlo ist, mit der finanzielle Probleme in der Mathematik berechnet werden. Wir haben zuerst erklärt, was die QMC -Methode tut und welche Anwendungen im Bereich Mathematik und Grafik sind. Wir haben auch versucht zu erklären, wie diese Methode durchgeführt wird. Für einen Programmierer ist es manchmal schwierig, komplexe Mathematik in seinem Code auszuführen, da diese beiden unterschiedliche Felder sind. Scipy bietet uns ein QMC. Mit Hilfe des QMC-Modul. Wir hoffen, dass dieser Leitfaden Ihnen hilft, Kenntnisse über die QMC -Methode zu erhalten und wie sie mit Scipy leicht in Python verwendet werden kann.QMC -Modul.