Generieren Sie eine U-Verteilung in Python

Buch: Ich wollte die U-Verteilung generieren, die in "Hände mit unsichtbaren Daten: Die Gesetze von Menschen, Organisationen und Gesellschaft, die durch tragbare Sensoren enthüllt werden" beschrieben ist, und habe sie daher mit Python programmiert. 2017.2.12 Ein Codefehler wurde behoben.

Weitere Details zum Buch finden Sie in meinem Blog unter dem folgenden Link. [Link] http://kansetsulight.seesaa.net

Code

import numpy as np import matplotlib.pyplot as plt

nindex = []

n = 0 nxxx = 0 nyyy = 0 x = np.random.rand(1000)*100 y = np.random.rand(1000)*100

while n < 1000: if x[n] < 10: nxxx = 1 elif x[n] < 20: nxxx = 2 elif x[n] < 30: nxxx = 3 elif x[n] < 40: nxxx = 4 elif x[n] < 50: nxxx = 5 elif x[n] < 60: nxxx = 6 elif x[n] < 70: nxxx = 7 elif x[n] < 80: nxxx = 8 elif x[n] < 90: nxxx = 9 elif x[n] <= 100: nxxx = 10

if y[n] < 10: nyyy = 1 elif y[n] < 20: nyyy = 2 elif y[n] < 30: nyyy = 3 elif y[n] < 40: nyyy = 4 elif y[n] < 50: nyyy = 5 elif y[n] < 60: nyyy = 6 elif y[n] < 70: nyyy = 7 elif y[n] < 80: nyyy = 8 elif y[n] < 90: nyyy = 9 elif y[n] <= 100: nyyy = 10

nindex.append([nxxx, nyyy]) n = n + 1 nxxx = 0 nyyy = 0 ite = 0 chk = 0 while ite < 1e4:

chk1 = 0 while chk1 == 0: x_strt = np.random.randint(1,11) y_strt = np.random.randint(1,11)

chk1 = nindex.count([x_strt,y_strt])

strt = nindex.index([x_strt,y_strt]) print 'index of start: ',strt print 'index of start: ',nindex[strt] print 'x_strt, y_strt: ',x_strt, y_strt

chk2 = 0 while chk2 == 0: x_dest = np.random.randint(1,11) y_dest = np.random.randint(1,11) chk2 = nindex.count([x_dest,y_dest]) print chk2

dest = nindex.index([x_dest,y_dest])

x[strt] = float(x_dest10)-np.random.uniform(0,10) y[strt] = float(y_dest10)-np.random.uniform(0,10) print 'dest x,y index: ', x_dest,' ', y_dest print 'dest crd: ',x[strt],y[strt] print

Update for nindex nindex[strt] = nindex[dest] ite = ite + 1

fig = plt.figure()

ax = fig.add_subplot(1,1,1)

ax.scatter(x,y,s=1) ax.set_title('random plot') ax.set_xlabel('x') ax.set_ylabel('y')

ax.grid(True)

plt.savefig('testfig') plt.show()

Der Code ist auch auf GitHub verfügbar. [Link] https://github.com/yama89/U-distribution1.0

Ergebnis

<1 Schritt später> up1.png

Es ist immer noch eben.

<10 Schritte später> up10.png

Ändert sich nicht viel

<100 Schritte später> up100.png

Das ändert sich auch nicht viel (überhaupt?).

<1000 Schritte später> up1000.png

Ich habe das Gefühl, dass die Voreingenommenheit endlich herausgekommen ist.

<2000 Schritte> up2000.png

Das ist gekommen. Die Vorspannung ist deutlich sichtbar.

<10000 Schritte später> up10000.png

Dies ist die U-Verteilung.

Ich möchte das für etwas verwenden. Ich denke.

Recommended Posts

Generieren Sie eine U-Verteilung in Python
Logistische Verteilung in Python
Generieren Sie in Python ein abgerundetes Miniaturbild
Schreiben Sie die Beta-Distribution in Python
Generieren Sie QR-Code in Python
Generieren Sie 8 * 8 (64) Cubes mit Blender Python
[Python] Generiert QR-Code im Speicher
Implementierung einer gemischten Normalverteilung in Python
Generieren Sie mit Python automatisch eine Häufigkeitsverteilungstabelle auf einmal
Generieren Sie eine erstklassige Sammlung in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Geokodierung in Python
SendKeys in Python
Generieren Sie eine AWS-S3-signierte (zeitlich begrenzte) URL in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Python Docstring-Kommentar automatisch mit Emacs generieren
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
Modul zum Generieren des Wortes N-Gramm in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
Generieren Sie eine Klasse aus einer Zeichenfolge in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Generieren Sie mit Python eine C-Sprache aus dem S-Ausdruck
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Generieren Sie die Look-and-Say-Sequenz in QuizKnock in Python
Konvertieren Sie Unicode-Escape-Sequenzen wie \ u in Python
So generieren Sie eine Sequenz in Python und C ++
Passen Sie die Verteilung jeder Gruppe in Python an
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung