【发布时间】:2014-07-16 03:58:10
【问题描述】:
作为我的数据分析(重尾数据)的一部分,我希望计算大约 100 个公司回报时间序列的尾部(左右)指数。我的数据存储在一个大型动物园对象中,标题为公司名称。
这是我目前计算山峰估计量的方法:
returns <- read.zoo("returns.csv", header=TRUE, sep=",", format="%d-%m-%y")
returns_hplots <- lapply(returns, hillPlot)
returns_hill <- sapply(returns_hplots, function(x) x$y)
returns_hill <- sapply(returns_hill, '[', seq(max(sapply(returns_hill,length)))
因此,我为我的 105 家公司提供了一个数据框 [1:204, 1:105],其中填充了所有山坡估算器和 NA(以便所有列具有相同数量的行)。
但是,我想计算左尾和右尾的山估计量,目前整个分布(每家公司)只有一个山估计量。
因此,我需要根据分布拆分我的数据。 我搜索了基于分布的数据拆分,但没有找到好的答案。 我的想法是计算 50% 的分位数,然后根据这个分位数分离我的数据。
returns_quantile <- sapply(returns, quantile, .5)
这会产生一个 1:105 的向量,其中包含所有 50% 的分位数值。现在我想根据这个分位数分离我的返回动物园对象,如下所示:
returns_left <- ...
returns_right <- ...
有人知道如何根据分位数分割动物园对象吗? 或者有没有其他方法可以只为左/右尾巴直接计算山估计?
【问题讨论】:
标签: r time-series