Zum Inhalt springen

Datei:Donsker theorem for normal distributions.gif

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Zur Beschreibungsseite auf Commons
aus Wikipedia, der freien Enzyklopädie

Originaldatei (2.000 × 600 Pixel, Dateigröße: 4,5 MB, MIME-Typ: image/gif, Endlosschleife, 132 Bilder, 11 s)

Hinweis: Aufgrund technischer Beschränkungen werden Vorschaubilder hochauflösender GIF-Dateien wie dieser nicht animiert.

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung
English: ```python

import numpy as np import matplotlib.pyplot as plt import scipy

import tempfile import os import imageio

  1. generate random samples from

def plot_bridge(samples=None, n=1000, dist=scipy.stats.norm, dist_name="normal", low=-3, high=+3):

   fig, axes = plt.subplot_mosaic("ABB", figsize=(20, 6))
   ax1 = axes["A"]
   ax2 = axes["B"]
   if samples is None:
       samples = dist.rvs(size=n)
   else:
       n = len(samples)
   x = sorted(samples)
   y = dist.cdf(x)
   ref_x = np.linspace(low,high, 1000)
   ref_y = dist.cdf(ref_x)
   # calculate empirical cdf
   ecdf = np.arange(n) / len(samples)
   # plot cdf of standard normal distribution and empirical cdf of samples
   ax1.plot(ref_x, ref_y, label='Standard CDF')
   ax1.plot(x, ecdf, label='Empirical CDF')
   ax1.set_title()
   ax1.set_xlim(low,high)
   ax1.legend()
   ax1.set_ylim(0,1)
   ax2.plot([0.0] + dist.cdf(x)                        .tolist() + [1.0], 
            [0.0] + (np.sqrt(n) * (ecdf - dist.cdf(x))).tolist() + [0.0])
   ax2.set_title('centered, scaled, and re-timed')
   ax2.set_ylim(-0.9, 0.9)
   fig.suptitle(f"{dist_name}, with n = {n}")
   return fig

def interpolate_counts(counts, frames_per_step):

   interpolated_counts = [counts[0]]
   for i in range(1,len(counts)):
       interval = (counts[i] - counts[i-1]) // i
       interpolated_counts += list(range(counts[i-1], counts[i], interval))
   return interpolated_counts + [counts[-1]]

with tempfile.TemporaryDirectory() as temp_dir:

   dist = scipy.stats.norm
   dist_name = "normal"
   low, high = -3.5, +3.5
   
   n_steps = 16
   frames_per_step = 10
   sample_counts = interpolate_counts([2**n for n in range(n_steps)], frames_per_step)
   n_frames = len(sample_counts)-1
   samples = dist.rvs(size=sample_counts[0]).tolist()
   
   for i in range(n_frames):
       samples += dist.rvs(size=sample_counts[i+1]-sample_counts[i]).tolist()
       fig = plot_bridge(samples, dist=dist, dist_name=dist_name, low=low,high=high)
       filename = os.path.join(temp_dir, f"plot_{i:03d}.png")
       fig.savefig(filename)
       plt.close(fig)
   # Compile images into GIF
   fps = 12
   images = []
   for i in range(n_frames):
       filename = os.path.join(temp_dir, f"plot_{i:03d}.png")
       images.append(imageio.imread(filename))
   imageio.mimsave(f"{dist_name} Donsker theorem.gif", images, duration=1/fps)
```
Datum
Quelle Eigenes Werk
Urheber Cosmia Nebula

Lizenz

Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
w:de:Creative Commons
Namensnennung Weitergabe unter gleichen Bedingungen
Dieses Werk darf von dir
  • verbreitet werden – vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden
  • neu zusammengestellt werden – abgewandelt und bearbeitet werden
Zu den folgenden Bedingungen:
  • Namensnennung – Du musst angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade dich oder deine Nutzung besonders.
  • Weitergabe unter gleichen Bedingungen – Wenn du das Material wiedermischst, transformierst oder darauf aufbaust, musst du deine Beiträge unter der gleichen oder einer kompatiblen Lizenz wie das Original verbreiten.

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.
Donsker-Skorokhod-Kolmogorov theorem for normal distributions

image/gif

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell08:09, 4. Mär. 2023Vorschaubild der Version vom 08:09, 4. Mär. 20232.000 × 600 (4,5 MB)Cosmia NebulaUploaded own work with UploadWizard

Keine Seiten verwenden diese Datei.

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei: