superann X(1),X(2),...,X(n)为一样本的从小到大的顺序统计量 重尾分布尾部指数的Hill估计量定义为 【lnX(n-k+1)+lnX(n-k+2)+...+lnX(n)】/k -lnX(n-k) R中能定义这样的一个关于次序统计量的函数计算吗?
yihui 几乎是直译: # x是原始的向量<br /> ox = sort(x)<br /> n = length(x)<br /> # k自己定义<br /> sum(log(ox[(n-k+1):n]))/k - log(ox[n-k]) </p>
superann 回复 第2楼 的 谢益辉: > x [1] 675.69 675.72 675.75 675.75 675.76 675.76 675.77 675.77 675.77 675.79 [11] 675.79 675.79 675.79 675.80 675.80 675.80 675.81 675.81 675.82 675.82 [21] 675.83 675.83 675.83 675.84 675.84 675.84 675.84 675.85 675.85 675.85 [31] 675.85 675.86 675.87 675.87 675.87 675.87 675.89 675.90 675.90 675.92 [41] 675.92 675.95 675.97 675.98 675.98 676.02 676.02 676.02 676.03 676.04 [51] 676.13 > ox<-sort(x) > n<-length(x) > k<-14 > sum(log(ox[n-k+1:n]))/k-log(ox(n-k)) Error: could not find function "ox" > 有谁能帮我看看错在哪儿了?
ypchen > sum(log(ox[[color=red]([/color]n-k+1[color=red])[/color]:n]))/k-log(ox[color=red][[/color]n-k[color=red]][/color]) Error: could not find function "ox" > copy都错 真是佩服呀
dengyishuo 帮你写成函数吧。 <br /> #定义函数Hill()<br /> Hill=function(x,k){<br /> ox=sort(x);<br /> n=length(x);<br /> Hill=sum(log(ox[(n-k+1):n]))/k-log(ox[n-k]);<br /> Hill<br /> }<br /> #计算Hill统计量<br /> Hill(x)<br /> 多问一句,你是在做金融数据么? </p>
dingpeng 回复 第1楼 的 superann: R有专门做极值统计的包。 Hill估计在“evir”包,函数 hill() 光有点估计是不够的,还要必须根据渐近分布得到置信区间,这样才完整。上面的函数即可实现。