Générer une distribution U en Python

Livre: Je voulais générer la distribution U décrite dans "Hands with Invisible Data: The Laws of Humans, Organizations, and Society Revealed by Wearable Sensors", donc je l'ai programmée avec Python. 2017.2.12 Correction d'une erreur de code.

Plus de détails sur le livre peuvent être trouvés sur mon blog au lien ci-dessous. [Lien] 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()

Le code est également disponible sur GitHub. [Lien] https://github.com/yama89/U-distribution1.0

résultat

<1 étape plus tard> up1.png

C'est encore même.

<10 étapes plus tard> up10.png

Ne change pas grand-chose

<100 étapes plus tard> up100.png

Cela ne change pas non plus beaucoup (du tout?).

<1000 étapes plus tard> up1000.png

Je sens que le parti pris est enfin sorti.

<2000 pas> up2000.png

Ceci est venu. Le biais est clairement visible.

<10000 étapes plus tard> up10000.png

C'est la distribution U.

Je veux utiliser ça pour quelque chose. Je pense.

Recommended Posts

Générer une distribution U en Python
Distribution logistique en Python
Générer une vignette arrondie en Python
Écrire une distribution bêta en Python
Générer du code QR en Python
Générez 8 * 8 (64) cubes avec Blender Python
[Python] Générer un code QR en mémoire
Implémentation de distribution normale mixte en python
Générez automatiquement une table de distribution de fréquence en un seul coup avec Python
Générer une collection de première classe en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Géocodage en python
SendKeys en Python
Générer une URL signée AWS-S3 (limitée dans le temps) en Python
Méta-analyse en Python
Unittest en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
Générer automatiquement un commentaire de chaîne de document Python avec Emacs
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
Module pour générer le mot N-gramme en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
Générer une classe à partir d'une chaîne en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Générer un langage C à partir d'une expression S avec Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
Générer la séquence look-and-say présentée dans QuizKnock en Python
Convertir les séquences d'échappement Unicode comme \ u en Python
Comment générer une séquence en Python et C ++
Faites correspondre la distribution de chaque groupe en Python
Créer un graphique de distribution normale standard en Python