Wie funktioniert das Sampeln aus einer Normalverteilung?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Du kannst die Box-Muller-Methode anwenden:

Dazu brauchst Du nur zwei unabhängige, auf (0,1) gleichverteilte Zufallsvariablen:



Dann standardisierst Du Deine (3.2, 2.388)-normalverteilte Variable, nennen wir sie X:

und wendest die Box-Muller-Transformation an:

Und schon kannst Du Deine Verteilung samplen :)


aperfect10  03.11.2023, 15:55

Freut mich dass ich helfen konnte!

0
pejsi 
Beitragsersteller
 03.11.2023, 14:50

Vielleicht für den Kontext: ich versuche den Sampling Schritt der explainable ai Methode Lime nachzuvollziehen (https://christophm.github.io/interpretable-ml-book/) -> in dem Buch heißt es: ". In the case of tabular data, LIME creates new samples by perturbing each feature individually, drawing from a normal distribution with mean and standard deviation taken from the feature." (S.169)

0
aperfect10  03.11.2023, 15:16
@pejsi

Ja, in diesem Fall würde man für jedes Datum drei einzelne Samples berechnen.

1
pejsi 
Beitragsersteller
 03.11.2023, 14:46

genau richtig

0
pejsi 
Beitragsersteller
 03.11.2023, 12:55

Angenommen man hat einen tabellarischen Datensatz, bei dem jedes Datum die Attribute Alter, Gewicht und Geschlecht hat und man will einen neues Datum mit dieser Methode sampeln. Würde man dann so vorgehen, dass man für jedes Attribut Mittelwert und Standardabweichung berechnet und dann insgesamt 3 mal sampelt oder würde man in einem solchen Fall eine andere Methode wählen ?

LG

0
aperfect10  03.11.2023, 14:45
@pejsi

Damit ich mitkomme: Du hast also diesen Datensatz und nimmst an dass alle drei Attribute unabhängig und normalverteilt sind. Dann hast Du für jedes Attribut den Erwartungswert und die Standardabweichung geschätzt. Jetzt möchtest Du neue Daten zufällig erzeugen, sodass die Attribute gemäß der geschätzten Parameter normalverteilt sind. Ist das richtig?

0
aperfect10  02.11.2023, 14:37

Entschuldigung, natürlich müssen U_1 und U_2 zusätzlich auch unabhängig sein.

1
pejsi 
Beitragsersteller
 02.11.2023, 14:41
@aperfect10

Das heißt in einer Programmiersprache könnten U_1 und U_2 zwei voneinander unabhängig gezogene Zufallszahlen zwischen 0 und 1 sein richtig ?

0