dapatkah Anda secara eksplisit menunjukkan kepada saya iterasi pertama dari nilai newton-raphson dan fisher?

8

Saya mencoba memahami perbedaan antara Newton-Raphsonteknik dan Fisher scoringteknik dengan menghitung iterasi pertama untuk setiap metode untuk Bernoullisampel. (Saya tahu bahwa dalam hal ini saya dapat secara eksplisit dan segera menghitung tetapi saya ingin melakukannya secara iteratif hanya untuk memahami dan melihat bagaimana setiap metode berkonvergensi).πmle

Misalkan saya menggambar koin kali, parameter sebenarnya tidak diketahui oleh saya , dan saya mendapat 4 kepala, jadi .n=10πt=0.3X¯=0.4

Fungsi skor adalah:

u(π)=nX¯πn(1X¯)1π

Informasi nelayan yang diamati adalah:

J(π)=nX¯π2n(1X¯)(1π)2

dan informasi nelayan yang diharapkan adalah:

I(π)=nπtπ2+n(1πt)(1π)2

Dan perhatikan bahwa kita dapat menyederhanakan informasi nelayan yang diharapkan hanya ketika kita mengevaluasinya diπ=πt , tetapi kita tidak tahu di mana itu ...

Sekarang anggap tebakan awal saya adalahπ0=0.6

Apakah Newton-Raphsonhanya pergi seperti ini:

π1=π0u(π0)/J(π0)

?

Dan bagaimana hasilnya Fisher-scoring?

π1=π0+u(π0)/I(π0)

Perhatikan bahwa ini berisi yang tidak kita ketahui! dan kami bahkan tidak dapat mengganti dengan karena kami juga tidak tahu - itulah yang kami cari ...πtπtπmle

Bisakah Anda membantu menunjukkan kepada saya cara yang paling konkret kedua metode itu? Terima kasih!

ihadanny
sumber

Jawaban:

4

Untuk Newton-Raphson , ya, sudah

π1=π0u(π0)/J(π0).

Untuk skor Fisher , seperti yang Anda sebutkan, ada parameter yang tidak diketahui ( ) di informasi diharapkan . Diberikan , kami menggunakan turunan sampel pertama untuk memperkirakan turunan kedua yang diharapkan mana , dan adalah indikator head untuk setiap undian. Kemudian Perhatikan bahwa kita perlu besar karena pendekatannya didasarkan pada teori asimptotik.πI(π)I(π)=E(J(π))=E[u(π)u(π)]

I^(π0)=inui(π0)ui(π0),
ui(π)=xiπ1xi1πxi
π1=π0+u(π0)/I^(π0).
n

Saya direvisi I_hat(pi)dalam Pythonkode @ ihadanny . Sekarang skor Newton-Raphson dan Fisher memberikan hasil yang identik.

import random
import numpy as np 

pi_t = random.random()
n = 1000
draws = [1 if x < pi_t else 0 for x in np.random.rand(n)]
x_bar = np.mean(draws)

def u(pi):
    return n*x_bar/pi - n*(1-x_bar)/(1-pi)
def J(pi):
    return -n*x_bar/pi**2 - n*(1-x_bar)/((1-pi)**2)
def I_hat(pi):
    x = 0
    for i in range(0, n): 
        x = x + (draws[i]/pi - (1-draws[i])/(1-pi))**2
    return x
def Newton(pi):
    return pi - u(pi)/J(pi)
def Fisher(pi):
    return pi + u(pi)/I_hat(pi)

def dance(method_name, method):
    print("starting iterations for: " + method_name)
    pi, prev_pi, i = 0.5, None, 0
    while i == 0 or (abs(pi-pi_t) > 0.001 and abs(pi-prev_pi) > 0.001 and i < 10):
        prev_pi, pi = pi, method(pi)
        i += 1
        print(method_name, i, "delta: ", abs(pi-pi_t))

dance("Newton", Newton)
dance("Fisher", Fisher)

Log Message
starting iterations for: Newton
Newton 1 delta:  0.00899203081545
Newton 2 delta:  0.00899203081545
starting iterations for: Fisher
Fisher 1 delta:  0.00899203081545
Fisher 2 delta:  0.00899203081545

Memperbarui

Ini adalah kasus khusus yang nilai Newton-Raphson dan Fisher identik, karena yang hanya membutuhkan aljabar standar.

I^(π)=in(xiπ1xi1π)2=inxiπ2+(ninxi)(1π)2=J(π),
Randel
sumber
hmm .. terima kasih banyak untuk ini - masuk akal. Namun, saya telah menerapkan pernyataan persis Anda: pastebin.com/m192UYs9 - Newton menyatu setelah 1-2 iterasi, Fisher bahkan tidak mendekati setelah 10 iterasi. Bukankah seharusnya sebaliknya ?? Saya pikir Fisher adalah peningkatan dari Newton ...
ihadanny
1
Salahku. Saya merevisi jawabannya. Perhatikan bahwa jawaban sebelumnya menghasilkan . π1=π0+1/u(π0)
Randel
Oh bagus! satu pertanyaan terakhir sebelum saya menerima - bukankah aneh bahwa sekarang kedua metode memberikan hasil yang persis sama setiap kali saya menjalankan kode? lagi - Fisher seharusnya menjadi perbaikan - sepertinya dengan menggunakan perkiraan Anda (yang benar) sekarang tidak ada keuntungan menggunakan Fisher di atas Newton dan kedua metode adalah persamaan matematis :(
ihadanny
(dan jangan khawatir - saya akan menerima dan memberikan hadiah karunia sebelum berakhir, hanya saja saya benar-benar berharap pertanyaan ini akan membantu saya memahami perbedaan mendasar antara metode dan saat ini tidak membuat saya sampai di sana - itu hanya tampak seperti senam matematika dari hal yang sama dengan saya)
ihadanny
Saya memperbarui jawabannya dengan bukti mengapa kedua metode ini identik dalam kasus khusus ini. Dalam pemahaman saya, skor Fisher tidak membutuhkan turunan kedua tetapi perlu besar . Sebuah referensi yang baik: Demidenko, Model Campuran: Teori dan Aplikasi dengan R . n
Randel