Ratkaistu: piirrä n numeroa normaalijakaumasta

Viimeisin päivitys: 09/11/2023

Nykymaailmassa datalla on tärkeä rooli päätöksentekoprosessissa, ja sen ymmärtäminen on kriittistä kaikille yrityksille. Tietojen analysoinnissa käytetään erilaisia ​​tekniikoita, joista yksi on numeroiden piirtäminen normaalijakaumasta. Normaalijakauma on yleinen todennäköisyysjakauma, joka tunnetaan myös Gaussin jakaumana tai kellokäyränä. Tässä artikkelissa tutkimme ongelmaa, joka liittyy satunnaislukujen piirtämiseen normaalijakaumasta Pythonin avulla, ymmärrämme asiaan liittyvät kirjastot ja erittelemme koodia kunkin vaiheen ymmärtämiseksi.

Kirjastot ja toiminnot normaalijakelua varten

Python tarjoaa useita kirjastoja, jotka voivat auttaa meitä luomaan ja piirtämään numeroita normaalijakaumasta. Kaksi yleisimmin käytettyä kirjastoa tähän tarkoitukseen ovat NumPy ja Matplotlib.

nuhjuinen on tehokas kirjasto taulukoiden käsittelyyn ja erilaisten numeeristen laskutoimitusten suorittamiseen. Käytämme sitä satunnaislukujen luomiseen normaalijakaumasta. Joitakin tärkeitä NumPyn funktioita ongelmamme kannalta ovat np.random.normal() ja np.linspace().

Matplotlib on kirjasto staattisten, interaktiivisten ja animoitujen visualisointien luomiseen Pythonissa. Käytämme sitä visualisoimaan generoitujen satunnaislukujen normaalijakaumaa. Ensisijainen funktio, jota käytämme tästä kirjastosta, on plt.hist().

Nyt syvennytään ratkaisuun näiden satunnaislukujen piirtämiseen ja ymmärretään koodi vaihe vaiheelta.

Ratkaisu: Piirrä numerot normaalijakaumasta

Ratkaisun esittelemiseksi käytämme seuraavaa Python-koodia:

import numpy as np
import matplotlib.pyplot as plt

mu = 0
sigma = 1
n = 1000

samples = np.random.normal(mu, sigma, n)
x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, 100)

plt.hist(samples, bins=x, density=True, alpha=0.6, color='g')
plt.xlabel('Random Numbers')
plt.ylabel('Frequency')
plt.title('Plotting Numbers from a Normal Distribution')

plt.show()

Nyt puretaan koodi ja ymmärretään se yksityiskohtaisesti.

1. Aloitamme tuomalla tarvittavat kirjastot: NumPy ja Matplotlib.

2. Asetamme satunnaislukujen muodostamiseen tarvittavat parametrit. Tässä, mu edustaa keskiarvoa, Sigma edustaa keskihajontaa, ja n edustaa satunnaislukujen määrää, jotka haluamme luoda.

3. Luomme satunnaisluvut funktiolla np.random.normal() antamalla keskiarvon, keskihajonnan ja satunnaislukujen lukumäärän.

4. Luomme linspacen käyttämällä np.linspace()-funktiota arvoille, jotka vaihtelevat mu-3*sigmasta mu+3*sigmaan, mikä edustaa x-akselin aluetta, joka kattaa noin 99.7 % datapisteistä.

5. Käytämme Matplotlibin plt.hist()-funktiota histogrammin piirtämiseen. Määritämme laatikot antamalla luomamme linspacen ja asetamme tiheydeksi true normalisointia varten. Alfa-parametriksi on asetettu 0.6 läpinäkyvyyttä varten ja väriksi "g" vihreäksi.

6. Asetamme x-akselin, y-akselin ja histogrammin otsikon käyttämällä plt.xlabel(), plt.ylabel() ja plt.title()-funktioita, vastaavasti.

7. Lopuksi näytämme histogrammin komennolla plt.show().

np.random.normal()-funktion ymmärtäminen

Funktio np.random.normal() on NumPy-kirjaston monipuolinen funktio. Sen avulla voimme luoda satunnaisia ​​näytteitä normaalista (Gaussin) jakaumasta. Funktiolla on kolme argumenttia:

– loc (float): Jakauman keskiarvo ("keskus").
– asteikko (float): Jakauman keskihajonta (hajonta tai "leveys").
– koko (int tai tuple of ints): Tulostusmuoto, joka määrittää luotavien satunnaislukujen määrän.

Käyttämällä tätä toimintoa voimme luoda satunnaislukuja helposti ja piirtää ne histogrammin avulla, kuten yllä olevassa koodissa on osoitettu.

Lopuksi Python yhdessä tehokkaiden kirjastojensa, kuten NumPyn ja Matplotlibin, kanssa tekee numeroiden piirtämisestä normaalijakaumasta helpon tehtävän. Näiden kirjastojen ja niiden toimintojen ymmärtäminen on olennaista tiedon käsittelyssä ja sen tehokkaassa visualisoinnissa. Muutamalla koodirivillä voimme luoda satunnaislukuja ja visualisoida niiden jakautumisen, mikä tekee Pythonista erinomaisen vaihtoehdon tilastolliseen analysointiin ja tietojen visualisointiin.

Related viestiä: