[PYTHON] Organisation grundlegender Verfahren zur Datenanalyse und statistischen Verarbeitung (2)

Von Gestern habe ich das grundlegende Verfahren der Datenanalyse organisiert, aber es ist eine Fortsetzung.

Wählen Sie Werkzeuge für die Analyse aus

Auf der PyCon JP 2014 am Wochenende die Geschichte, dass es viele Python 2-Benutzer gibt / entry / pycon-jp-2014) war da und Kenneth Reitz von Heroku sagte No Benefit 81% AE1% E6% 97% A5% E7% 9B% AE_keynote_% E3% 81% AB% E3% 81% A4% E3% 81% 84% E3% 81% A6), aber tatsächlich ab 2014 Python Wenn Sie verwenden, können Sie die 3.x-Serie auswählen. Übrigens denke ich, dass die meisten Leute Python 3 empfohlen haben in der nachfolgenden japanischen Ankündigung.

Warum Python 3 verwenden?

Hier ist meine Idee, warum ich Python 3 für die Datenanalyse verwende.

Diese beiden sind nicht mehr genug.

Die Leser dieses Artikels sind wahrscheinlich überwiegend Japaner, und natürlich ist der Autor auch Japaner. Für englischsprachige Menschen sind die Vorteile von Unicode schwer zu bekommen, aber heute kann es keine Sprache geben, in der UTF-8 nicht die Standardeinstellung ist. Sobald Sie Python 3 berührt haben, wird kein Japaner mehr zu Python 2 zurückkehren wollen. In einer Zeit, in der es im Internet fast keine Distanz zwischen Ländern gibt, sollten Sprachen, die in einer bestimmten Region schwer zu verwenden sind, nicht so verwendet werden, wie sie sind, und den globalen Standards entsprechen.

Außerdem werden in der Python 2-Serie keine neuen Funktionen mehr hinzugefügt. Im Gegensatz dazu haben sich leistungsstarke Bibliotheken wie pandas, die um 2008 erschienen sind, in den letzten Jahren rasant entwickelt. In Kombination mit dem Big-Data-Boom wird Python auf Daten analysiert. Verbessert sich zu einem starken Hauptsprachenstatus für. Seit der Einführung von Python 3 im Jahr 2008 sind die vorherigen Assets in diesem Bereich klein oder veraltet. Daher sollten wir sofort zur Python 3-Serie wechseln. Es ist unwahrscheinlich, dass die Migrationskosten so hoch sind.

Datenanalyse Drei Arten von heiligen Schätzen

Jetzt MATLAB und R Language, Bei dem Versuch, eine numerische Analyse durchzuführen, liegt der Schwerpunkt auf der Berechnung von Vektoren und Matrizen. Zu diesem Zeitpunkt sind folgende Werkzeuge erforderlich, wenn ich sie nach eigenem Ermessen als drei Arten von heiligen Schätzen aufführe.

Dies bedarf auch keiner zusätzlichen Erklärung von Ich habe mich in den Artikeln bisher viel beschäftigt.

Benötigen Sie wirklich Hadoop?

Wenn es um Big Data in privaten Unternehmen geht, wird der Name Hadoop sofort nach Eingabe des Schlüsselworts oder des Produktnamens angezeigt. Aber ist es angesichts des Inhalts der Analyse wirklich notwendig? Bitte denken Sie jedes Mal sorgfältig über die Größe der Daten sowie die Art der Berechnung nach.

MapReduce und Spark sind sehr leistungsfähige Tools, wenn sie korrekt verwendet werden, z. B. Verwendung für Stichproben aus der Bevölkerung oder [in einer einfachen Sprache wie Pig oder Hive](http: // qiita). com / ynakayama / items / d2a8c125360e053d5a2f), aber der zutreffende Teil ist nur ein kleiner Teil der Datenanalysephase. In der heutigen Zeit reicht der vorhandene Computer aus, um die Daten für die Probe zu analysieren und zu visualisieren. In diesem Fall kann nicht nur Python, sondern auch Tabellenberechnungssoftware wie R oder Excel verwendet werden.

Stellen Sie sicher, dass die Verwendung bestimmter Software oder Tools kein Selbstzweck ist.

Schreiben Sie einen Beispielcode

Der beste Weg, um die Nützlichkeit eines Datenanalysetools zu erkennen, besteht darin, die Hände zu bewegen und trotzdem Code zu schreiben.

Datei-E / A.

Die Analyse erfolgt zunächst durch Lesen der vorbereiteten Daten aus der Datei. Auch in NumPy / SciPy, genfromtxt und loadtxt Es gibt allgemeine Funktionen wie numpy / reference / generate / numpy.loadtxt.html # numpy.loadtxt), aber wenn Sie Pandas verwenden können, grundsätzlich read_csv Es ist eine gute Idee, Pandas-Funktionen wie /stable/generated/pandas.io.parsers.read_csv.html) zu verwenden.

Generieren Sie Zufallszahlen gemäß einer bestimmten Verteilung

Beim Schreiben und Ausprobieren von Beispielcode wird häufig eine zufällige Generierung verwendet. NumPy / SciPy ist nützlich, da verschiedene Zufallszahlengeneratoren implementiert sind. Insbesondere können Zufallszahlen mit willkürlichem Mittelwert und Varianz gemäß der Standardnormalverteilung (Gaußsche Verteilung) numpy.randam.normal erzeugt werden. .html) ist praktisch.

Als Test generieren wir eine Bivariate aus Zufallszahlen, die einer Standardnormalverteilung mit willkürlichem Mittelwert und Varianz folgen, finden die Basisstatistik, berechnen die Kovarianz und den Korrelationskoeffizienten und visualisieren sie in einem Streudiagramm.

#Generieren Sie 50 Zufallszahlen, die einer Standardnormalverteilung mit einem Durchschnitt von 10 und einer Standardabweichung von 5 folgen.
a = np.random.normal(10, 5, size=50)
#Generieren Sie 50 Zufallszahlen, die einer Standardnormalverteilung mit durchschnittlich 20 Standardabweichungen von 8 folgen.
b = np.random.normal(20, 8, size=50)
#Visualisieren
plt.figure()
plt.scatter(a, b)
plt.savefig("image.png ")

image.png

Ich konnte ein Streudiagramm zeichnen, das die Beziehung zwischen den Bivariaten visualisiert.

Verwenden Sie Datenrahmen

Wenn Sie dasselbe mit Pandas machen, wird es so sein.

#Erstellen Sie einen Datenrahmen
df = pd.DataFrame({
    "a": np.random.normal(10, 5, size=50),
    "b": np.random.normal(20, 8, size=50)
})

#Visualisieren
plt.scatter(df['a'], df['b'])

Die generierten Bilder sind die gleichen, daher werde ich sie weglassen.

Matrixreferenz und Manipulation

Die Verwendung von Datenrahmen mit Pandas auf diese Weise hat den Vorteil, dass die Berechnung und Bearbeitung von Matrixstatistiken vereinfacht wird.

#Schauen Sie sich den Inhalt der generierten Zufallszahlen an
df
#=>
#             a          b
# 0   14.104370  13.301508
# 1    9.053707  32.101631
# 2    7.731780  14.075792
# 3    8.629411  38.876371
# 4   15.604993  24.380662
# 5   13.678605  16.517300
# ... (Unterwegs weggelassen)
# 46  12.229324  24.926788
# 47  16.650234  23.308550
# 48   8.101379  20.404972
# 49   0.807786  34.109284

#Berechnen Sie wichtige Basisstatistiken
df.describe()
#=>
#                a          b
# count  50.000000  50.000000
# mean   10.517972  20.291032
# std     4.229104   8.104303
# min    -0.618973   4.451698
# 25%     8.006941  14.085385
# 50%    11.442714  20.018789
# 75%    13.828762  24.770515
# max    17.617583  39.991811

#Finden Sie die Kovarianz zwischen Matrizen
df.cov()
#=>
#            a          b
# a  17.885320  -5.215284
# b  -5.215284  65.679722

#Finden Sie den Korrelationskoeffizienten
df.corr()
#=>
#           a         b
# a  1.000000 -0.152165
# b -0.152165  1.000000

#Suchen Sie die Translokationsmatrix
df.T
#=>
#           0          1          2          3          4          5   \
# a  14.104370   9.053707   7.731780   8.629411  15.604993  13.678605   
# b  13.301508  32.101631  14.075792  38.876371  24.380662  16.517300   

#           6          7          8          9     ...             40  \
# a  12.321283   3.325300   5.439189  15.693431    ...      15.220284   
# b  30.198993  24.853103  10.381890  32.567924    ...      15.801350   

#           41         42         43         44         45         46  \
# a  13.493986   6.756807   9.030604  11.044724  11.443239  12.229324   
# b  14.278252  20.388216  20.582722  25.731553  18.479491  24.926788   

#           47         48         49  
# a  16.650234   8.101379   0.807786  
# b  23.308550  20.404972  34.109284  

Es ist einfach.

Wie wäre es in anderen Sprachen

Abgesehen davon gibt es viele Fälle, in denen beispielsweise die Entwicklung in Java das Hauptgeschäft für Unternehmen ist, deren Hauptgeschäft die Vertragsentwicklung vom Typ Vertrag ist. Unabhängig davon, wie viel Geschäft Sie betreiben, ist es am besten, eine Sprache zu verwenden, die für die Datenanalyse geeignet ist.

Als Versuch erwähnte ich im obigen Beispielcode: "Generieren Sie eine Bivariate aus Zufallszahlen, die einer Standardnormalverteilung mit willkürlichem Mittelwert und Varianz folgen, erhalten Sie die Basisstatistik, berechnen Sie die Kovarianz und den Korrelationskoeffizienten und visualisieren Sie sie in einem Streudiagramm." Es ist leicht zu erkennen, dass der Versuch, ein einfaches Problem in einer anderen Sprache als statistischen Sprachen wie R zu lösen, schnell schwierig werden kann.

Drei Punkte der Sozialstatistik in der Datenanalyse

Nun ist die Vorbereitungsgeschichte etwas lang, aber es gibt drei Hauptpunkte in der Sozialstatistik in der Reihe der Analysen zu den Daten, die aus der Umfrage erhalten wurden.

1. Verstehen Sie die Verteilung von Daten

Wie die Variablen der Zahlen verteilt sind, ist eine sehr wichtige Voraussetzung. Die Verteilung ist die Streuung von Variablen, aber einige ** Statistiken ** werden verwendet, um den Zustand darzustellen. Zum Beispiel "Mittelwert" und "Dispersion".

Verwenden Sie zum Erfassen des Verteilungsstatus eine Häufigkeitsverteilungstabelle, in der die Verteilung der Variablenwerte in Tabellenform dargestellt ist, oder ein Box-Whisker-Diagramm zur Visualisierung zusammengefasster Statistiken.

2. Schliessen Sie den Zustand der Bevölkerung aus der Probe

Der nächste Punkt besteht darin, den Zustand der gesamten Bevölkerung, genannt ** Bevölkerung **, basierend auf den Statistiken der Daten abzuleiten. Die meisten sozialen Umfragen basieren auf ** Stichproben **, die aus einem Teil einer Bevölkerung entnommen wurden.

Da die Stichprobe als Teil der Population entnommen wurde, spiegeln die Daten die Werte in der Population nicht unbedingt genau wider und enthalten bestimmte Fehler. Es ist notwendig, das Konzept und die Technik der "Vermutungsstatistik" zu erwerben, um das aus der Stichprobe erhaltene Analyseergebnis als den Zustand der extrahierten Population zu interpretieren. In der Schätzstatistik werden nach Annahme der aus dem Fehler resultierenden Wahrscheinlichkeit eine "Schätzung" durchgeführt, die den Wert in der Grundgesamtheit angibt, und ein "Test", der eine Hypothese aufstellt und beurteilt, ob sie passt oder nicht.

3. Untersuchen Sie die Zuordnung zwischen mehreren Variablen

Finden Sie abschließend heraus, in welchem oder in welchem Umfang eine Beziehung zwischen mehreren Variablen besteht. Auf diese Weise klären wir die Beziehung zwischen welchen Faktoren was beeinflussen. Es ist auch üblich zu schließen, ob es eine Beziehung zwischen Variablen in der Population gibt, aus der die Daten erhalten wurden.

Zusammenfassung

Jeder dieser drei Punkte soll als einfacher Indikator (= Statistik) oder Schlussfolgerung (= Vermutung) dargestellt werden, indem man sich auf einen bestimmten Gesichtspunkt konzentriert. Die statistische Analyse spielt die Rolle, Informationen aus einer großen Datenmenge entsprechend dem Zweck in zusammengefasster Form zu extrahieren und darzustellen.

In den meisten Fällen können statistische Analysemethoden und Statistiken nur durch Ansammeln von im Voraus zu lernenden Elementen verstanden werden. Selbst wenn Sie Daten in die dunklen Wolken werfen und die Ergebnisse sehen, können Sie daher ohne ausreichende Kenntnisse nicht mit dem nächsten Schritt fortfahren.

Ab dem nächsten Mal werden wir Schritte unternehmen, um den Inhalt der oben genannten drei Punkte zu klären.

Recommended Posts

Organisation grundlegender Verfahren zur Datenanalyse und statistischen Verarbeitung (4)
Organisation grundlegender Verfahren zur Datenanalyse und statistischen Verarbeitung (2)
JupyterLab Grundeinstellung 2 für die Datenanalyse (pip)
JupyterLab Basic Setup für die Datenanalyse (pip)
Einführung in die statistische Modellierung für die Datenanalyse GLM-Ähnlichkeitsverhältnis-Test und Testasymmetrie
Eine Einführung in die statistische Modellierung für die Datenanalyse
Verarbeitung und Beurteilung des Datenanalyseplans (Teil 1)
Verarbeitung und Beurteilung des Datenanalyseplans (Teil 2)
[Übersetzung] scikit-learn 0.18 Tutorial Statistisches Lern-Tutorial für die wissenschaftliche Datenverarbeitung
Datenverarbeitungsmethoden für Maschinenbauingenieure und Nicht-Computeringenieure (Einführung 2)
Datenverarbeitungsmethoden für Maschinenbauingenieure und Nicht-Computeringenieure (Einführung 1)
[Übersetzung] scikit-learn 0.18 Tutorial Statistisches Lernen Tutorial für die wissenschaftliche Datenverarbeitung Statistisches Lernen: Einstellungen und Schätzobjekte in scikit-learn
Python für die Datenanalyse Kapitel 4
Python für die Datenanalyse Kapitel 2
Tipps und Vorsichtsmaßnahmen bei der Datenanalyse
Python für die Datenanalyse Kapitel 3
Einführung in die statistische Modellierung für die Datenanalyse GLM-Modellauswahl
[Übersetzung] scikit-learn 0.18 Tutorial Statistisches Lernen Tutorial für die wissenschaftliche Datenverarbeitung Modellauswahl: Auswahl des Schätzers und seiner Parameter
Lesen von Notizen (in Python und Stan) zur Einführung in die statistische Modellierung für die Datenanalyse (Midorimoto)
Einführung in die statistische Modellierung für die Datenanalyse Generalized Linear Model (GLM)
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Datenanalyse zur Verbesserung von POG 3 ~ Regressionsanalyse ~
[Übersetzung] scikit-learn 0.18 Tutorial Statistisches Lern-Tutorial für die wissenschaftliche Datenverarbeitung Alles zusammen
Visualisierung und Analyse von Stava Twitter-Datenstandortinformationen
Python-Visualisierungstool für die Datenanalyse
Elasticsearch-Installation und Grundbedienung für Ubuntu
Informationen zur Datenerweiterungsverarbeitung für tiefes Lernen
[Übersetzung] scikit-learn 0.18 Tutorial Suchen Sie nach Hilfe zum statistischen Lernen für die wissenschaftliche Datenverarbeitung
Praxis der Erstellung einer Datenanalyseplattform mit BigQuery und Cloud DataFlow (Datenverarbeitung)
[Erklärung für Anfänger] Grundlegende Syntax und Konzept von TensorFlow
Datenanalyse zur Verbesserung von POG 2 ~ Analyse mit Jupiter-Notebook ~
Bereiten Sie eine Programmiersprachenumgebung für die Datenanalyse vor
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Laden von Daten
Verwendung von Datenanalysetools für Anfänger
[Python / Chrome] Grundeinstellungen und Operationen zum Scraping
Bis Sie Anaconda für die Datenanalyse auf Ihrem Mac installieren und die IDE starten