

上面是经验分布和修正分布函数的公式,下面程序是需要用到的x跟L
n=150
x=rep(0,n)
i=1
while(i < n){
x[i+1]=0.3*x+ rnorm(1)
i=i+1
}
x
v=sort(x)[8]
fzero<-function(f,a,b,eps=1e-5)
{if(f(a)*f(b)>0) list(fail="finding root is fail!")
else {repeat{if(abs(b-a)<eps) break
t<-(a+b)/2
if(f(a)*f(t)<0) b<-t else a<-t}
list(root=(a+b)/2,fun=f(t))}}
f<-function(t) v *mean(exp(t*x))-mean(x*exp(t*x))
t=fzero(f,-5,0,1e-5)$root
t
y=rep(0,n)
for(i in 1:n){
y=exp(t*x)
i=i+1
}
y
mean(y)
log(mean(y))
L=rep(0,n)
pha=log(mean(y))
for(i in 1:n){
L=exp(-t*x+pha)
i=i+1
}
L