Método da máxima verossimilhança

Vito, 5/4/2016

logL for a homoscedastic dataset \[Distributed] normally

logL[dataset_,x_,σ_]:=-Length[dataset]Log[σ]-Sum[((x-dataset[[i]])/σ)^2,{i,Length[dataset]}]/2

Manipulate[ r;Module[{xm,s,data},data=RandomVariate[NormalDistribution[20,3],n];
xm=Mean[data];
s= Sqrt[ CentralMoment[data,2] ]; (* Variance is not the Maximum Likelihood estimate *)
ContourPlot[ logL[data,x,σ],{σ,0.5,6},{x,10,30},Contours->Table[logL[data,xm,s]-i^2,{i,7}] ,FrameLabel->{σ,x},Epilog->{PointSize[Large],Black,Point[{3,20}],Red,Point[{s,xm}] }]
],{{n,10},2,50,1},Delimiter,Row[{Button["Sort again",{r=RandomReal[]},Appearance->"Palette",ImageSize->{250,28}]}],ControlPlacement->Bottom]

Média de dois dados a(σa) e b(σb) com correlação ρ, com f.d.p. binormal

matriz de variâncias

v={{σa^2,ρ σa σb},{ρ σa σb, σb^2}};MatrixForm[v]

MatrixForm[Inverse[v] ]//Simplify

vetor de diferenças em relação ao valor verdadeiro e expoente da binormal

dx={a-x,b-x}

q=dx.Inverse[v].dx/2//Simplify

Estimativa de máxima verossimilhança

D[q,x]

sol=Solve[D[q,x]==0,x]//Simplify

xest=x/.sol[[1]]

variância da estimativa

f={D[xest,a],D[xest,b]}

varx=f.v.f//Simplify

estim={xest,varx}

Casos particulares

variâncias iguais

estim/.σa->σb//Simplify

estim/.ρ->0

%/.σa->σb//Simplify

variâncias diferentes

estim/.σb->σa/2//Simplify (* no resultado, note que tanto o numerador quanto o denominador da variância da estimativa são negativos, ou seja, a variância é semi-definida positiva *)

estim/.{σb->σa/2,ρ->0.9}//Simplify

estim/.{σb->σa/2,ρ->0.5}//Simplify

estim/.{σb->σa/2,ρ->0.1}//Simplify

estim/.{σb->σa/2,ρ->-0.1}//Simplify

estim/.{σb->σa/2,ρ->-0.5}//Simplify

estim/.{σb->σa/2,ρ->-0.9}//Simplify