Ich habe bis erreicht
Wobei Standortparameter ist. Und ist die Wahrscheinlichkeitsfunktion. Ich verstehe nicht, wie ich vorgehen soll. Bitte helfen Sie.
Ich habe bis erreicht
Wobei Standortparameter ist. Und ist die Wahrscheinlichkeitsfunktion. Ich verstehe nicht, wie ich vorgehen soll. Bitte helfen Sie.
Antworten:
Ok, sagen wir das PDF für das Cauchy ist:
hier istθ derMedian, nicht der Mittelwert, da für Cauchy der Mittelwert undefiniert ist.
Dies ist genau das, was Sie haben, außer hier ist Median, nicht der Mittelwert. Ich nehme an, du bist der Median in deiner Formel.
Nächster Schritt, um mle zu finden, müssen wir
Jetzt ist Ihre Variable und x i s sind bekannte Werte. Sie müssen die Gleichung ∑ n i = 1 2 ( x i - θ ) lösen.
dh 2 lösen ( x 1 - θ ). Es scheint sehr schwierig zu sein, diese Gleichung zu lösen. Daher benötigen wir die Newton-Raphson-Methode.
Ich denke, viele Kalkülbücher sprechen über die Methode
θ ist Ihre erste Vermutung von
ist die erste Ableitung der Log-Likelihood-Funktion.
ist die zweite Ableitung der Log-Likelihood-Funktion.
Von können Sie dann setzen Sie auf dann erhalten Sie und setzen es auf um ... setzen Sie diese Iterationen fort, bis sich keine großen Änderungen zwischen und ^ θ 1 ^ θ 1 (1) ^ θ 2 (1) ^ θ 3 ^ θ n ^ θ n - 1
Das Folgende ist eine R-Funktion, die ich geschrieben habe, um mle für die Cauchy-Verteilung zu erhalten.
mlecauchy=function(x,toler=.001){ #x is a vector here
startvalue=median(x)
n=length(x);
thetahatcurr=startvalue;
# Compute first deriviative of log likelihood
firstderivll=2*sum((x-thetahatcurr)/(1+(x-thetahatcurr)^2))
# Continue Newton’s method until the first derivative
# of the likelihood is within toler of 0.001
while(abs(firstderivll)>toler){
# Compute second derivative of log likelihood
secondderivll=2*sum(((x-thetahatcurr)^2-1)/(1+(x-thetahatcurr)^2)^2);
# Newton’s method update of estimate of theta
thetahatnew=thetahatcurr-firstderivll/secondderivll;
thetahatcurr=thetahatnew;
# Compute first derivative of log likelihood
firstderivll=2*sum((x-thetahatcurr)/(1+(x-thetahatcurr)^2))
}
list(thetahat=thetahatcurr);
}
Angenommen, Ihre Daten sind
x<-c(-1.94,0.59,-5.98,-0.08,-0.77)
mlecauchy(x,0.0001)
Ergebnis:
#$thetahat
#[1] -0.5343968
Wir können auch die R-In-Funktion verwenden, um mle zu erhalten.
optimize(function(theta) -sum(dcauchy(x, location=theta, log=TRUE)), c(-100,100))
#we use negative sign here
Ergebnisse:
#$minimum
#[1] -0.5343902
Das Ergebnis ist fast das gleiche wie bei hausgemachten Codes.
Ok, wie Sie es wünschen, lassen Sie uns dies von Hand tun.
Zuerst erhalten wir eine erste die der Median der Daten
Der Median beträgt
Als nächstes wissen wir bereits, dass
und
Jetzt stecken wir den dh den Median zu und
dh durch ersetzen, dh Median dh
Als nächstes in und , um dann kannst dux 5 - 0,77 ℓ " ( θ ) ^ θ 1
Ok, ich muss hier aufhören, es ist zu mühsam, diese Werte von Hand zu berechnen.