door OOOVincentOOO » wo 22 okt 2025, 20:52
@regor,
Om jouw intuïtie te voeden kwam ik tot het volgende. Stel je een dobbelsteen voor met de volgende zes posities:
$$[1, 2, 3, 4, 5, 6]$$
dit is analoog met:
$$[-5, -3, -1, +1, +3, +5]$$
Nu het volgende. Je gaat steeds een stap naar voren zetten. Dan doe je aan aantal stappen naar links (onder) of naar rechts (boven) volgens eentje uit:
\([-5, -3, -1, +1, +3, +5]\). Voorbeeld je doet een stap voorwaarts en gaat dan bijvoorbeeld
\(+3\) stappen naar rechts (boven in grafiek). Dan weer een stap voorwaarts en wederom neem je een van de
\(6\) mogelijkheden omhoog of omlaag nu een stap naar links
\(-1\) (onder in grafiek). Dit is een random walk en is vergelijkbaar met de kansen van een dobbelsteen.
Laten we een mogelijke random walk nemen:
Uit deze enkele random walk zouden we kunnen concluderen dat we vaker een stap naar onder zetten. Maar zou jij "wedden" dat we vaker
\( [1,2,3]\) zouden werpen? Waarbij
\( [1,2,3]\) analoog is met:
\( [-5,-3,-1]\).
Laten we nog enkele andere mogelijke random walks bekijken:
Hier zijn er enkelen welke lijken te stijgen en andere wellicht te dalen. Maar weten we dan hoe de toekomst eruit ziet? Op welke random walk zitten we? Laten we 1000 van deze random walks bekijken:
Op iedere stap ontwikkeld zich nu een normaal verdeling. De bijdrage van iedere random walk (met een pseudo trend stijgend/dalend) is verloren gegaan.
Dus het kan lijken alsof er een "Gambler's fallacy" is indien men naar een enkele walk kijkt. Echter je weet niet op welke walk je zit.Dat is hem de valkuil.
Maar ik ben gek wederom te reageren maar doe dit uit eigen educatieve redenen.
Code: Selecteer alles
import numpy as np
import matplotlib.pyplot as plt
# Parameters
n_steps = 250
possible_steps = [-3, -2, -1, 1, 2, 3]
n_walks = 5 # total number of random walks
# Generate and plot
plt.figure(figsize=(16, 6))
positions = [] # store all positions to determine global y-limits
for i in range(n_walks):
steps = np.random.choice(possible_steps, size=n_steps)
position = np.concatenate(([0], np.cumsum(steps))) # start at 0
positions.append(position)
plt.plot(position, marker='o', markersize=2, linewidth=1, label=f'Walk {i+1}')
# Compute dynamic y-limits based on all walks
all_positions = np.concatenate(positions)
maxi = np.max(np.abs(all_positions))
plt.ylim(-1.2 * maxi, 1.2 * maxi)
# Labels and legend
plt.title("Random Walks Starting at 0 with Steps in [-3, -2, -1, 1, 2, 3]")
plt.xlabel("Step Number")
plt.ylabel("Position")
plt.grid(True)
plt.legend()
plt.show()
Probeer code hier:
https://trinket.io/python3/f79af42840
@regor,
Om jouw intuïtie te voeden kwam ik tot het volgende. Stel je een dobbelsteen voor met de volgende zes posities:
$$[1, 2, 3, 4, 5, 6]$$
dit is analoog met:
$$[-5, -3, -1, +1, +3, +5]$$
Nu het volgende. Je gaat steeds een stap naar voren zetten. Dan doe je aan aantal stappen naar links (onder) of naar rechts (boven) volgens eentje uit: [itex][-5, -3, -1, +1, +3, +5][/itex]. Voorbeeld je doet een stap voorwaarts en gaat dan bijvoorbeeld [itex]+3[/itex] stappen naar rechts (boven in grafiek). Dan weer een stap voorwaarts en wederom neem je een van de [itex]6[/itex] mogelijkheden omhoog of omlaag nu een stap naar links [itex]-1[/itex] (onder in grafiek). Dit is een random walk en is vergelijkbaar met de kansen van een dobbelsteen.
Laten we een mogelijke random walk nemen:
[attachment=2]RandomWalk_1.png[/attachment]
Uit deze enkele random walk zouden we kunnen concluderen dat we vaker een stap naar onder zetten. Maar zou jij "wedden" dat we vaker [itex] [1,2,3][/itex] zouden werpen? Waarbij [itex] [1,2,3][/itex] analoog is met: [itex] [-5,-3,-1][/itex].
Laten we nog enkele andere mogelijke random walks bekijken:
[attachment=0]RandomWalk_6.png[/attachment]
Hier zijn er enkelen welke lijken te stijgen en andere wellicht te dalen. Maar weten we dan hoe de toekomst eruit ziet? Op welke random walk zitten we? Laten we 1000 van deze random walks bekijken:
[attachment=1]RandomWalk_1000.png[/attachment]
Op iedere stap ontwikkeld zich nu een normaal verdeling. De bijdrage van iedere random walk (met een pseudo trend stijgend/dalend) is verloren gegaan.
Dus het kan lijken alsof er een "Gambler's fallacy" is indien men naar een enkele walk kijkt. Echter je weet niet op welke walk je zit.Dat is hem de valkuil.
Maar ik ben gek wederom te reageren maar doe dit uit eigen educatieve redenen.
[code]import numpy as np
import matplotlib.pyplot as plt
# Parameters
n_steps = 250
possible_steps = [-3, -2, -1, 1, 2, 3]
n_walks = 5 # total number of random walks
# Generate and plot
plt.figure(figsize=(16, 6))
positions = [] # store all positions to determine global y-limits
for i in range(n_walks):
steps = np.random.choice(possible_steps, size=n_steps)
position = np.concatenate(([0], np.cumsum(steps))) # start at 0
positions.append(position)
plt.plot(position, marker='o', markersize=2, linewidth=1, label=f'Walk {i+1}')
# Compute dynamic y-limits based on all walks
all_positions = np.concatenate(positions)
maxi = np.max(np.abs(all_positions))
plt.ylim(-1.2 * maxi, 1.2 * maxi)
# Labels and legend
plt.title("Random Walks Starting at 0 with Steps in [-3, -2, -1, 1, 2, 3]")
plt.xlabel("Step Number")
plt.ylabel("Position")
plt.grid(True)
plt.legend()
plt.show()[/code]
Probeer code hier:
https://trinket.io/python3/f79af42840