Können Sie mir explizit die erste Iteration von Newton-Raphson und Fisher Scoring zeigen?


8

Ich versuche, den Unterschied zwischen der Newton-RaphsonTechnik und der Fisher scoringTechnik zu verstehen, indem ich die erste Iteration für jede Methode für eine BernoulliStichprobe berechne . (Ich weiß, dass ich in diesem Fall explizit und sofort berechnen kann, aber ich möchte es iterativ tun, nur um zu verstehen und zu sehen, wie jede Methode konvergiert).πmle

Angenommen, ich ziehe eine Münze Mal, der reale Parameter \ pi_t = 0,3 ist mir unbekannt und ich habe 4 Köpfe, also \ bar {X} = 0,4 .n=10πt=0.3X¯=0.4

Die Score-Funktion lautet:

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

Die beobachteten Fischerinformationen sind:

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

und die erwarteten Fischerinformationen sind:

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

Und beachten Sie, dass wir die erwarteten Fischerinformationen nurπ=πt vereinfachen können, wenn wir sie unter \ pi = \ pi_t auswerten , aber wir wissen nicht, wo das ist ...

Angenommen, meine anfängliche Vermutung ist π0=0.6

Geht Newton-Raphsoneinfach so:

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

?

Und wie geht Fisher-scoringes?

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

Beachten Sie, dass es enthält, das wir nicht kennen! und wir können nicht einmal ersetzen mit wie wir wissen nicht , dass entweder - das ist genau das, was wir suchen ...πtπtπmle

Können Sie mir bitte helfen, diese beiden Methoden so konkret wie möglich zu zeigen? Vielen Dank!

Antworten:


4

Für Newton-Raphson haben wir ja

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

Wie Sie bereits erwähnt haben, gibt es für die Fisher-Bewertung einen unbekannten Parameter ( ) in der erwarteten Information . Wenn , verwenden wir die erste Ableitung der Stichprobe, um die erwartete zweite Ableitung zu approximieren wobei und ist der Indikator für den Kopf bei jeder Ziehung. Dann ist Beachten Sie, dass wir ein großes benötigen, da die Näherung auf der asymptotischen Theorie basiert.πI(π)I(π)=E(J(π))=E[u(π)u(π)]

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

Ich I_hat(pi)habe den PythonCode von @ ihadanny überarbeitet . Jetzt liefern Newton-Raphson- und Fisher-Scoring identische Ergebnisse.

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

Aktualisieren

Dies ist ein Sonderfall, bei dem Newton-Raphson- und Fisher-Scoring identisch sind, da was nur Standardalgebra erfordert.

I^(π)=in(xiπ1xi1π)2=inxiπ2+(ninxi)(1π)2=J(π),

hmm .. vielen dank dafür - macht Sinn. Ich habe jedoch Ihre genauen Anweisungen implementiert: pastebin.com/m192UYs9 - Newton konvergiert nach 1-2 Iterationen, Fisher kommt nach 10 Iterationen nicht einmal näher. Soll es nicht umgekehrt sein? Ich dachte, dass Fisher eine Verbesserung gegenüber Newton ist ...
ihadanny

1
Mein Fehler. Ich habe die Antwort überarbeitet. Beachten Sie, dass die vorherige Antwort zu . π1=π0+1/u(π0)
Randel

Oh toll! eine letzte Frage, bevor ich akzeptiere - ist es nicht seltsam, dass jetzt beide Methoden jedes Mal, wenn ich den Code ausführe , genau die gleichen Ergebnisse liefern? wieder - Fisher sollte eine Verbesserung sein - es sieht so aus, als ob die Verwendung Ihrer (korrekten) Näherung jetzt keinen Vorteil mehr für die Verwendung von Fisher gegenüber Newton bietet und beide Methoden mathematisch äquivalent sind :(
ihadanny

(und keine Sorge - ich werde den Kopfgeldpreis annehmen und vergeben, bevor er abläuft. Ich hatte nur gehofft, dass diese Frage mir hilft, den grundlegenden Unterschied zwischen den Methoden zu verstehen, und derzeit hat sie mich nicht dorthin gebracht - es sieht für mich wie
Mathegymnastik aus

Ich habe die Antwort mit dem Beweis aktualisiert, warum die beiden Methoden in diesem speziellen Fall identisch sind. Nach meinem Verständnis erfordert das Fisher-Scoring keine zweiten Ableitungen, aber große . Eine gute Referenz: Demidenko, gemischte Modelle: Theorie und Anwendungen mit R . n
Randel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.