寻找样本中的样本

时间:2019-03-04 17:50:29

标签: python python-3.x

我正在寻找一些引导程序。我有一个Excel工作表,其中有10列1111行数据,每行代表.0432等股票的收益。此外,每一列代表投资组合的大小。第一列代表总股数的第一十分位数(以小盘为中心的投资组合),最后一列代表总股数的最后十分位数(以大写为中心的投资组合)...

现在,每一列都代表一个原始样本,但首先:  正如您可能从引导程序中了解或可能不知道,该想法是使用您必须创建填充的数据,因此这就是为什么不讨论原始填充的原因。 考虑以下链接中的图片:https://newonlinecourses.science.psu.edu/stat555/sites/onlinecourses.science.psu.edu.stat555/files/cross_val/bootstrap_overview/index.png

因此,归结为一点,我们有10个原始样本。我们绘制一个子样本(完成而不替换),并将其命名为x1。您将这些数据放回并再次绘制,并且当您再次绘制时,需要进行替换。您将此子样本命名为x2。您会重复此过程很多次,在本例中为10,000次。

用更明显的话来说,这是10个原始样本中的每个样本
 (又称10列)我希望抽取10,000个样本,样本数量为1,000。

最后,我希望找到一个投资组合的所有自举样本标准偏差的标准偏差。就是说....假设我们采用第1列...自举样本标准偏差将是与第1列的1,000个样本量的10,000个样本中的第一个随机样本的标准差... 。另一个自举样本的标准偏差将是与第1列的1,000的样本大小相乘的10,000的第二个随机样本的标准偏差。所以,我要的是一旦完成此过程并得到标准偏差总共10,000。

然后,我将对10列/投资组合中的每一个进行相同的处理。 (一旦到达这一点,我计划通过运行t检验来比较每个列/组合产生的值,以评估它们之间是否存在统计显着性)

以我的数据为例

大小1和大小2,正如我所说的,它们都有1111行数据(行对应于年份),如下所示:

year  size 1   size 2
0  0.0353  0.0371  
1  0.0061  0.0379  
2 -0.0077  0.0125  
3 -0.0336 -0.0256  
4  0.0386  0.0240 
// etc... up to 1111

例如size 1是用Python编写的data.Size1

到目前为止,我所拥有的是:

import numpy as np
import bootstrapped.bootstrap as bs
import bootstrapped.stats_functions as bs_stats

stdev = data.Size1.std()

originalpopulation1 = data.Size1

samples=originalpopulation1[:10000]

print(bs.bootstrap(samples, stat_func=bs_stats.std))

但是,我需要引导程序的替代方法,因为在出​​于技术原因在导入时它不会在任何情况下运行。

或者,我尝试过:

import numpy as np
sample_list = []
for i in range(1000): 
    rand_list = np.random.randint(0,10000, 10000)
    sample_list.append(sum(rand_list)/1000)

sample_list = []

sample_list.stdev()

但是我认为这段代码并没有涉及所需的两个标准偏差,即每个子样本都有一个标准偏差,然后我也要求所有子样本之间有一个标准偏差,即我正在寻找标准偏差投资组合的所有自举样本标准偏差。

(此外,我想我将不得不为10列中的每一列创建一个唯一的代码,以便上面的最终代码基本上相同,除了10列中的每一列都具有唯一的标签。)

0 个答案:

没有答案