Python – Statistische Verteilung

Ich bin ganz neu in der Pythonwelt. Außerdem bin ich kein Statistiker. Ich bin in der Notwendigkeit, mathematische Modelle zu implementieren, die von Mathematikern in einer Informatik-Programmiersprache entwickelt wurden. Ich habe nach einigen Recherchen Python gewählt. Ich bin mit der Programmierung als solche (PHP / HTML / Javascript) bequem.

Ich habe eine Spalte von Werten, die ich aus einer MySQL-Datenbank extrahiert habe und in der Notwendigkeit, die unten zu berechnen –

  • Encodieren Sie Decode von Strings python
  • Zeichenerkennung in einer Textdatei in Python mit dem Universal Encoding Detector (Chardet)
  • Zuverlässige Handhabung von Nicht-ASCII-Zeichen in Python?
  • URL mit nationalen Zeichen, die UnicodeEncodeError geben
  • MySQLdb kann den Zeichensatz utf-8 nicht initialisieren
  • Beste Weg, um unbekannte Unicoding-Codierung in Python 2.5 zu dekodieren
  • 1) Normal distribution of it. (I don't have the sigma & mu values. These need to be calculated too apparently). 2) Mixture of normal distribution 3) Estimate density of normal distribution 4) Calculate 'Z' score 

    Das Array von Werten ähnelt dem untenfolgenden (ich habe Musterdaten gefüllt) –

     d1 = [3,3,3,3,3,3,3,9,12,6,3,3,3,3,9,21,3,12,3,6,3,30,12,6,3,3,24,30,3,3,3] mu1, std1 = norm.fit(d1) 

    Die normale Verteilung, die ich verstehe, könnte als unten berechnet werden –

     import numpy as np from scipy.stats import norm mu, std = norm.fit(data) 

    Könnte ich bitte ein paar Hinweise bekommen, wie man mit (2), (3) & (4) in diesem bitte anfängt? Ich bin weiterhin auf der Suche nach online, wie ich freue mich von Experten zu hören.

    Wenn die Frage nicht ganz sinnvoll ist, lass es mich bitte wissen, welcher Aspekt fehlt, damit ich versuche und bekomme Informationen darüber.

    Ich würde mich hier sehr gerne bedanken.

  • Wie man \ backslash vor Zitate in String Python einfügen
  • Json.dumps (): escaping forward schrägstriche
  • Entfernen von Backslashs aus einer Zeichenfolge in Python
  • Mit Python ein C-String-Literal von JSON zu erzeugen
  • Escaping Zitate in bash Befehl mit Subprocess Call und shlex
  • Drucken Escaped Darstellung eines Str
  • 2 Solutions collect form web for “Python – Statistische Verteilung”

    Einige Teile Ihrer Frage sind unklar. Es könnte helfen, den Kontext von dem zu geben, was du zu erreichen versuchst, anstatt was sind die spezifischen Schritte, die du nimmst.

    1) + 3) In einer Normalverteilung – passend zur Verteilung und Schätzung der Mittelwert- und Standardabweichung – sind grundsätzlich die gleiche Sache. Die Mittel- und Standardabweichung bestimmen die Verteilung vollständig .

     mu, std = norm.fit(data) 

    Ist gleichbedeutend mit dem Sprichwort "finde die mittlere und Standardabweichung, die am besten der Verteilung passt".

    4) Berechnung der Z-Punktzahl – du musst erklären, was du zu tun versuchst. Dies bedeutet in der Regel, wie viel oben (oder unten) der Mittelwert ein Datenpunkt ist, in Einheiten der Standardabweichung. Ist das, was Sie hier brauchen? Wenn ja, dann ist es einfach

     (np.array(data) - mu) / std 

    2) Mischung der Normalverteilung – das ist völlig unklar. Es bedeutet normalerweise, dass die Verteilung tatsächlich durch mehr als eine einzelne Normalverteilung erzeugt wird. Was meinst du damit?

    Über (2), eine Web-Suche nach "Mischung aus Gaussians Python" sollte eine Menge Hits auftauchen.

    Die Mischung aus Gaussians ist eine ziemlich einfache Idee – statt einer einzigen Gaußschen Beule, die Dichte enthält mehrere Beulen. Die Dichte ist eine gewichtete Summe $ \ sum_k \ alpha_k g (x, \ mu_k, \ sigma_k ^ 2) $ wobei die Gewichte $ \ alpha_k $ positiv sind und Summe zu 1 und $ g (x, \ mu, \ sigma ^ 2) $ ist ein einziger Gaußscher Bump.

    Um die Parameter $ \ alpha_k $, $ \ mu_k $ und $ \ sigma_k ^ 2 $ zu bestimmen, verwendet man typischerweise den sogenannten Erwartungsmaximierungs- (EM) -Algorithmus. Wieder eine Web-Suche finden viele Treffer. Der EM-Algorithmus für eine Gaußsche Mischung ist in einigen Python-Bibliotheken implementiert. Es ist nicht zu kompliziert, um es selbst zu schreiben, aber vielleicht, um loszulegen, können Sie eine bestehende Implementierung verwenden.

    Python ist die beste Programmiersprache der Welt.