Diberikan mean dan varians, apakah ada pemanggilan fungsi sederhana yang akan menggambarkan distribusi normal?
python
matplotlib
pengguna1220022
sumber
sumber
%matplotlib inline
agar plotnya munculscipy.stats.norm.pdf(x, mu, sigma)
bukannyamlab.normpdf(x, mu, sigma)
math
ketika Anda sudah mengimpornumpy
dan dapat menggunakannp.sqrt
?math
untuk operasi skalar karena, misalnya, jauhmath.sqrt
lebih cepat daripadanp.sqrt
saat beroperasi pada skalar.Saya tidak berpikir ada fungsi yang melakukan semua itu dalam satu panggilan. Namun Anda dapat menemukan fungsi kepadatan probabilitas Gaussian di
scipy.stats
.Jadi cara paling sederhana yang bisa saya lakukan adalah:
Sumber:
sumber
norm.pdf
menjadinorm(0, 1).pdf
. Ini membuatnya lebih mudah untuk menyesuaikan dengan kasus lain / untuk memahami bahwa ini menghasilkan objek yang mewakili variabel acak.Gunakan seaborn sebagai gantinya saya menggunakan distplot dari seaborn dengan mean = 5 std = 3 dari 1000 nilai
Anda akan mendapatkan kurva distribusi normal
sumber
Jawaban Unutbu benar. Tetapi karena mean kita bisa lebih atau kurang dari nol, saya masih ingin mengubah ini:
untuk ini :
sumber
Jika Anda lebih suka menggunakan pendekatan langkah demi langkah, Anda dapat mempertimbangkan solusi seperti berikut
sumber
Saya baru saja kembali ke ini dan saya harus menginstal scipy karena matplotlib.mlab memberi saya pesan kesalahan
MatplotlibDeprecationWarning: scipy.stats.norm.pdf
ketika mencoba contoh di atas. Jadi sampelnya sekarang:sumber
Saya percaya itu penting untuk mengatur ketinggian, jadi buatlah fungsi ini:
Dimana
sigma
deviasi standar,h
adalah tinggi danmid
mean.Berikut adalah hasil menggunakan ketinggian dan deviasi yang berbeda:
sumber
Anda bisa mendapatkan cdf dengan mudah. jadi pdf melalui cdf
sumber