SciPy-Dekonvolutionsfunktion

8

Ich möchte SciPys Dekonvolvenfunktion verwenden, um eine unbekannte Verteilung mit zwei Gauß-Verteilungen zu finden. Es gibt keine Dokumentation , die mit dieser Funktion in SciPy verknüpft ist. Ich suche nur nach einem Beispiel, wie diese Funktion in meiner Situation verwendet werden kann. Zum Beispiel möchte ich bei zwei Normalverteilungen N (100, 1), N (300, 2) verstehen, wie ich die Verteilung der Dekonvolution N (200, 1) finden kann.

%Vor%

Der obige Code gibt mir negative Werte, was falsch scheint. Wie kann ich die Verteilung N (200, 1) aus dieser Dekonvolution wiederherstellen? Insbesondere denke ich, mein Problem ist, dass ich nicht verstehe, wie man den Divisor bekommt.

Was ich wirklich gerne sehen möchte, ist ein Beispiel, wie ich ~ N (200, 1) aus diesen Samples mithilfe der Dekonvolution von SciPy wiederherstellen kann.

    
user1728853 18.03.2013, 17:42
quelle

1 Antwort

5

Ich denke, Sie sind ein wenig verwirrt über Ihre Erwartungen ... Da wir alle wissen, dass die Faltung von zwei normalen Verteilungen eine weitere Normalverteilung ist, die die Summe der Mittel bedeutet und die Summe variiert Von den Varianzen erwartet man, dass die Faltung von zwei normalen Stichproben auch eine normale Zufallsstichprobe sein wird. Und das ist einfach nicht so:

%Vor%

Sie dachten wahrscheinlich an etwas wie:

%Vor%

Auf jeden Fall zurück zu deconvolve ... Wenn Sie es mit zwei Arrays der Länge m und n aufrufen, erhalten Sie ein Tupel mit zwei Arrays zurück:

  • das erste der Länge m - n + 1 ist das dekonvolvierte Array, d. h. das Array, mit dem Sie das zweite falten sollten, um das erste
  • zu erhalten
  • die zweite der Länge m ist der Fehler beim Ersetzen des ersten Arrays durch die Faltung des zweiten mit dem ersten zurückgegebenen.
Jaime 18.03.2013 19:26
quelle

Tags und Links