Ficheiro:Dirichlet process draws.svg

O conteúdo da página não é suportado noutras línguas.
Origem: Wikipédia, a enciclopédia livre.

Imagem numa resolução maior(ficheiro SVG, de 900 × 900 píxeis, tamanho: 588 kB)

Descrição do ficheiro

Descrição
English: Draws from the Dirichlet process DP(N(0,1), alpha). Each row uses a different alpha: 1, 10, 100 and 1000. A row contains 3 repetitions of the same experiment.

Python source code:

import matplotlib.pyplot as plt 
import numpy as np
from scipy.stats import beta
from scipy.stats import norm   

def draw_stick_breaking(ax, alpha, base_distribution):
    beta_prime_ks = []
    theta_ks = []
    
    beta_distribution = beta(1, alpha)
    
    rest = 1
    for k in range(500):
        theta_k = base_distribution.rvs()
        beta_k = beta_distribution.rvs()
        
        theta_ks.append(theta_k)
        beta_prime_k = beta_k*rest
        beta_prime_ks.append(beta_prime_k)
        
        rest *= 1-beta_k
        if rest < 1e-4:
            break
                
    ax.stem(theta_ks, beta_prime_ks, markerfmt=' ')

def main():
    np.random.seed(1) #reproducibility
    
    alphas = [1, 10, 100, 1000]
    base_distribution = norm(0, 1)
    
    n_rows = len(alphas)
    n_cols = 3
    
    fig, axarr = plt.subplots(n_rows,n_cols, sharex=True, sharey="row", figsize=(10,10))

    for i_row in range(n_rows):
        for i_col in range(n_cols):
            draw_stick_breaking(axarr[i_row][i_col], alphas[i_row], base_distribution)
        
    # set 3 ticks on each axis   
    axarr[0][0].xaxis.set_major_locator(plt.MaxNLocator(3))
    for i_row in range(n_rows):
        axarr[i_row][0].yaxis.set_major_locator(plt.MaxNLocator(3))
    fig.tight_layout(pad=0.15)
    
    fig.savefig('dirichlet.svg')
    
    plt.show()

if __name__ == '__main__':
   main()
Data
Origem Obra do próprio
Autor Qorilla

Licenciamento

Eu, titular dos direitos de autor desta obra, publico-a com a seguinte licença:
Creative Commons CC-Zero A utilização deste ficheiro é regulada nos termos Creative Commons - CC0 1.0 Dedicação Universal ao Domínio Público.
A pessoa que associou uma obra a este documento dedicou-a ao domínio público, renunciando a todos os seus direitos sobre a obra em todo o mundo ao abrigo da legislação de direitos de autor, incluindo a todos os direitos legais conexos, na medida permitida por lei. Pode copiar, modificar, distribuir e executar a obra, até com fins comerciais, sem pedir autorização.

Legendas

Adicione uma explicação de uma linha do que este ficheiro representa

Elementos retratados neste ficheiro

retrata

Histórico do ficheiro

Clique uma data e hora para ver o ficheiro tal como ele se encontrava nessa altura.

Data e horaMiniaturaDimensõesUtilizadorComentário
atual16h10min de 20 de outubro de 2014Miniatura da versão das 16h10min de 20 de outubro de 2014900 × 900 (588 kB)QorillaUser created page with UploadWizard

As seguintes 2 páginas usam este ficheiro:

Utilização global do ficheiro

As seguintes wikis usam este ficheiro:

Metadados