Apa itu distribusi beta
Distribusi beta adalah distribusi probabilitas yang diikuti oleh tingkat keberhasilan
Fungsi kepadatan probabilitas dari distribusi beta dinyatakan dengan persamaan berikut.
Distribusi beta memiliki bentuk yang fleksibel tergantung pada nilai
Oleh karena itu, sering digunakan dalam statistik Bayesian karena mudah diperlakukan sebagai distribusi probabilitas sebelumnya.
Pengaruh α pada distribusi beta
Tergantung pada nilai
Pengaruh β pada distribusi beta
Nilai yang diharapkan dan varians dari distribusi beta
Nilai yang diharapkan dan varians dari distribusi beta masing-masing adalah:
Kode Python
Kode Python yang digunakan dalam artikel ini adalah sebagai berikut.
Menggambar distribusi beta
import numpy as np
from scipy.stats import beta
import matplotlib.pyplot as plt
plt.style.use('ggplot')
fig, ax = plt.subplots(facecolor="w", figsize=(10, 5))
# x axis
x = np.linspace(0, 1, 100)
# draw graph
plt.plot(x, beta.pdf(x, 1, 1), label='beta(1,1)')
plt.plot(x, beta.pdf(x, 1, 2), label='beta(1,2)')
plt.plot(x, beta.pdf(x, 2, 1), label='beta(2,1)')
plt.plot(x, beta.pdf(x, 5, 1), label='beta(5,1)')
plt.plot(x, beta.pdf(x, 7, 2), label='beta(7,2)')
plt.plot(x, beta.pdf(x, 5, 5), label='beta(5,5)')
plt.plot(x, beta.pdf(x, 1, 5), label='beta(1,5)')
plt.plot(x, beta.pdf(x, 2, 7), label='beta(2,7)')
plt.plot(x, beta.pdf(x, 10, 10), label='beta(10,10)')
plt.legend()
plt.xlabel("x")
plt.ylabel("Probability density")
plt.show()
Menggambar dampak dari α
import numpy as np
from scipy.stats import beta
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import animation, rc
from matplotlib.animation import FuncAnimation
rc('animation', html='html5')
np.random.seed(5)
# Set up formatting for the movie files
Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800)
prob_vals = np.arange(start=0.1, stop=10.01, step=0.2)
plt.style.use('ggplot')
fig = plt.figure(figsize=(10, 5))
# x axis
x = np.linspace(0, 1, 100)
def update(i):
# initialize the graph of the previous frame
plt.cla()
p = prob_vals[i]
# draw graph
plt.plot(x, beta.pdf(x, round(p, 1), 2))
plt.title(f'$alpha={str(round(p, 1))}, beta=2$', loc='left')
plt.xlabel("x")
plt.ylabel("Probability density")
plt.ylim(0.1, 10.1)
plt.xticks(ticks=[0, 1]) # x axis ticks
anime_prob = FuncAnimation(fig, update, frames=len(prob_vals), interval=1000)
anime_prob.save('beta_dist_alpha.gif', writer='pillow', fps=10)
Menggambar dampak dari β
import numpy as np
from scipy.stats import beta
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import animation, rc
from matplotlib.animation import FuncAnimation
rc('animation', html='html5')
np.random.seed(5)
# Set up formatting for the movie files
Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800)
prob_vals = np.arange(start=0.1, stop=10.01, step=0.2)
plt.style.use('ggplot')
fig = plt.figure(figsize=(10, 5))
# x axis
x = np.linspace(0, 1, 100)
def update(i):
# initialize the graph of the previous frame
plt.cla()
p = prob_vals[i]
# draw graph
plt.plot(x, beta.pdf(x, 2, round(p, 1)))
plt.title(f'$alpha=2, beta={str(round(p, 1))}$', loc='left')
plt.xlabel("x")
plt.ylabel("Probability density")
plt.ylim(0.1, 10.1)
plt.xticks(ticks=[0, 1]) # x axis ticks
anime_prob = FuncAnimation(fig, update, frames=len(prob_vals), interval=1000)
anime_prob.save('beta_dist_beta.gif', writer='pillow', fps=10)