SORU
10 Kasım 2010, ÇARŞAMBA


Nasıl matplotlib yoğunluğu bir arsa oluşturmak için?

R yaparak istenen çıkış oluşturmak:

data = c(rep(1.5, 7), rep(2.5, 2), rep(3.5, 8),
         rep(4.5, 3), rep(5.5, 1), rep(6.5, 8))
plot(density(data, bw=0.5))

Density plot in R

Python (matplotlib ile) yakın aldım basit bir nokta vardı:

import matplotlib.pyplot as plt
data = [1.5]*7   [2.5]*2   [3.5]*8   [4.5]*3   [5.5]*1   [6.5]*8
plt.hist(data, bins=6)
plt.show()

Histogram in matplotlib

Ben de the normed=True parameter denedim ama bir şey histogram için bir Gauss uyum için çalışıyoruz başka bir şey olamazdı.

Benim son girişimleri, web üzerinde aşağıdaki örnekleri scipy.stats gaussian_kde, etrafında vardı, ama şimdiye kadar başarısız olmadım.

CEVAP
11 Kasım 2010, PERŞEMBE


Sven vardır gösterildiği nasıl kullanılır sınıf gaussian_kde Scipy, ama fark etmez oldukça nasıl oluşturulur ile R. Bu çünkü gaussian_kde çalışır anlaması için bant genişliğini otomatik olarak. Fonksiyon değiştirerek bir şekilde bant genişliği ile oynayabilirsiniz gaussian_kde sınıf covariance_factor. İlk olarak, burada bu fonksiyon değiştirmeden ne olsun

alt text

Eğer aşağıdaki kodu kullanıyorum ancak:

import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import gaussian_kde
data = [1.5]*7   [2.5]*2   [3.5]*8   [4.5]*3   [5.5]*1   [6.5]*8
density = gaussian_kde(data)
xs = np.linspace(0,8,200)
density.covariance_factor = lambda : .25
density._compute_covariance()
plt.plot(xs,density(xs))
plt.show()

Anladım

alt text

hangi ben Ne yaptım R. alıyorsanız ne çok yakın. gaussian_kde değiştirilebilir fonksiyon covariance_factor bant genişliği hesaplamak için kullanır. İşlevini değiştirmeden önce, bu değeri, bu verilerle ilgili olduğu için covariance_factor tarafından döndürülen .5. Bu düşürücü bant genişliğini düşürdü. Tüm etkenleri doğru olarak hesaplanır, böylece bu fonksiyonu değiştirdikten sonra _compute_covariance aramak zorunda kaldım. R bw parametre ile tam bir yazışma değil, ama umarım doğru yönde yardımcı olur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • Bratayley

    Bratayley

    30 Aralık 2010
  • GUN-TIME with Brandon

    GUN-TIME wit

    3 ŞUBAT 2009