Paraméterbecslés a Momentumok módszerével — példa számítás

Ebben a bejegyzésben a Maximum likelihood után a második legnépszerűbb paraméterbecslési eljárást fogjuk megvizsgálni: a Momentumok módszerét.


A Method of moments-t 1887-ben Pafnutyij Lvovics Csebisev publikálta, ami mai napig tartó népszerűségét annak köszönheti, hogy nagyon könnyű számolni. Ezt mindjárt be is mutatjuk.

Az alap ötlet lényegében a többismeretlenes egyenletrendszerek megoldásán alapul. Mint tudjuk ezekben az esetekben annyi egyenletre van szükségünk a megoldáshoz amennyi ismeretlenünk van. Csebisev lényegében átültette ezt a gondolatot a paraméterbecslés feladatára. Semmi mást nem kell csinálnunk a paraméter megbecslésére, mint annyi egyenletet előállítanunk amennyi paramétert keresünk. Ehhez pedig egyszerűen elég hatványoznunk az elvárt értéket, ezek lesznek az úgynevezett Momentumok.

Nézzünk egy példát két paraméter becslésére: Legyen X egy normál eloszlás aminek a két paramétere \mu_X és \sigma_X^2=\tau_X .1 Sajnos nem tudjuk közvetlenül megfigyelni ezt a X valószínűségi változót, hanem helyette egy Y változót figyelünk meg. Erre igaz, hogy:

(1)  Y = X^2

Mivel a megfigyelt változó az Y, ennek az elvárt értékét fogjuk hatványozni. Mivel csak két paramétert nem ismerünk elég csak két hatvány:

(2)   E[Y] = \int_{-\infty}^{\infty} x^2 \cdot \frac{1}{\sqrt{2\pi \sigma^2}  }  \exp{\frac{-(x-\mu)^2}{2\sigma^2}}  \text{dx} = \mu^2+\sigma^2

(3)   E[Y^2] = \int_{-\infty}^{\infty} x^4 \cdot  \frac{1}{\sqrt{2\pi \sigma^2}  }  \exp{\frac{-(x-\mu)^2}{2\sigma^2}}   \text{dx}

Ami, ha elvégezzük az integrálást:

(4)   E[Y^2] = \mu^4+6\mu^2\sigma^2 + 3(\sigma^2)^2

Most már van két egyenletünk a két paraméter becslésére. Oldjuk meg1 :

Fejezzük ki a (2)-ből a \sigma^2 -át. Ez lesz a becslésünk rá:

(5)   \hat{\sigma^2} = E[Y] - \mu^2

Most pedig helyesítsük be ezt (4)-be és fejezzük ki a \mu -t. Ez nem lesz más mint:

(6)   \hat{\mu} = \sqrt[4]{\frac{3E[Y]^2-E[Y^2]}{2} }

Készen is vagyunk. Ugye milyen egyszerű.

De ha ilyen egyszerű akkor miért használjuk inkább a Maximum likelihood-ot? Azért mert az robusztusabb.

Teszteljük:


mu = 30
sigma2 = 4
n = 10000

y_mm_mu = []
y_mm_sigma2 = []
x_mm_mu = []
x_mm_sigma2 = []
for j in range(5000):
    # mintavétel
    x = np.random.normal(mu, sigma2**0.5, n)
    y = x**2
    y_mm_mu.append( np.mean(y) )
    y_mm_sigma2.append( np.sum( np.power(y-y_mm_mu[-1],2) )/n )
    
    # method of moment for y=x**2
    y2 = np.mean(np.power(y, 2))
    x_mm_mu.append( np.power( (3*np.power(y_mm_mu[-1],2)-y2)/2 , 1/4) )
    x_mm_sigma2.append( y_mm_mu[-1]-(x_mm_mu[-1]**2) )


# Ábra
%matplotlib qt

from matplotlib import rc
plt.clf()
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.rcParams['text.latex.unicode'] = True
plt.subplot(1,2,1)

plt.hist(x_mm_mu,  label="Becsült $\mu$", density=True)
plt.legend()
plt.title("Átlag")


plt.subplot(1,2,2)

plt.hist(x_mm_sigma2,  label="Becsült $\sigma^2$", density=True)
plt.title("Szórásnégyzet")
plt.legend()
plt.show()

Mint fentebb is látható, a paraméterbecslésünk megfelelően működik.

Nemsoká következik egy bejegyzés “Két kevert Gaussian eloszlás paraméterbecsléséről”, ott megnézzük a Momentumok módszerének őspéldáját, és a robusztusság kérdését is.

Lábjegyzet

  1. Persze használhatnánk Gauss-eliminációt is az egyenletrendszer megoldására, de ez tényleg annyira egyszerű, hogy most nem bonyolítom a dolgot.

Hírdetés

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s