Tôi đã đạt đến
Trong đó là tham số vị trí. Và là chức năng khả năng. Tôi không biết cách tiến hành. Xin vui lòng giúp đỡ.
Tôi đã đạt đến
Trong đó là tham số vị trí. Và là chức năng khả năng. Tôi không biết cách tiến hành. Xin vui lòng giúp đỡ.
Câu trả lời:
Ok, hãy để chúng tôi nói pdf cho cauchy là:
θ ở đây là trung vị, không có nghĩa là vì nghĩa của Cauchy là không xác định.
Đây chính xác là những gì bạn có, ngoại trừ ở đây là trung bình, không có nghĩa. Tôi cho rằng là trung bình trong công thức của bạn.u
Bước tiếp theo, để tìm mle, chúng ta cần đặt
Bây giờ là biến của bạn và là các giá trị đã biết, bạn cần giải phương trìnhx i s ∑ n i = 1 2 ( x i - θ )
tức là để giải quyết . Có vẻ như để giải phương trình này sẽ rất khó khăn. Do đó, chúng ta cần phương pháp Newton-Raphson.
Tôi nghĩ rằng rất nhiều sách tính toán nói về phương pháp
Công thức cho phương pháp Newton-Raphson có thể được viết là
là dự đoán ban đầu của bạn về
là đạo hàm đầu tiên của hàm khả năng đăng nhập.
là đạo hàm thứ hai của hàm khả năng đăng nhập.
Từ bạn có thể nhận sau đó bạn đặt đến sau đó bạn nhận được và đặt nó vào để nhận ... tiếp tục các lần lặp này cho đến khi không có thay đổi lớn giữa và
Sau đây là hàm R tôi đã viết để lấy mle cho bản phân phối Cauchy.
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);
}
Bây giờ, giả sử dữ liệu của bạn là
x<-c(-1.94,0.59,-5.98,-0.08,-0.77)
mlecauchy(x,0.0001)
Kết quả:
#$thetahat
#[1] -0.5343968
Chúng ta cũng có thể sử dụng R build trong hàm để lấy mle.
optimize(function(theta) -sum(dcauchy(x, location=theta, log=TRUE)), c(-100,100))
#we use negative sign here
Các kết quả:
#$minimum
#[1] -0.5343902
Kết quả gần giống như các mã sản xuất tại nhà.
Ok, như bạn yêu cầu, hãy để chúng tôi làm điều này bằng tay.
Đầu tiên, chúng tôi nhận được dự đoán ban đầu sẽ là trung bình của dữ liệu
Trung vị là
Tiếp theo, chúng ta đã biết rằng
và
Bây giờ chúng tôi cắm tức là trung vị cho và
tức là thay thế bằng tức là trung bình tức là
Tiếp theo cắm vào và để nhận sau đó bạn có thể nhận được
Ok, tôi phải dừng lại ở đây, thật rắc rối khi tính toán các giá trị này bằng tay.