码迷,mamicode.com
首页 > 其他好文 > 详细

有意思的问题

时间:2016-02-20 07:01:25      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

把遇到的有意思的问题写出来,尤其是跟数学相关的问题,目的是自我监督,尽量把代码写规范些、用的方法更好一些,否则自己写又会草草了事了。。。

目录:

1、随机数 top20均值 随机抽取20组 问题

——————————————————————————————————————

1、今天15级的群里面有个学弟提的问题:

有100个数,服从正态分布。取其中最大的20个数,求出平均值为n;如果这100个数随机不放回抽取,每5个数为一组,取最大值,直到取完100个数,得到的20个最大值,求出平均值为m。那么,n和m是什么关系?

这个问题暂时想不清,做一个实验:

#-*- coding:utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

class ARandomQuetion(object):
    """docstring for ARandomQuetion"""
    def Discovery(self):
        randomnumber = np.random.randn(100)
        #注意sorted是拷贝一份排序好的序列,原序列不变,而sort就是就地修改
        srandomnumber = sorted(randomnumber)
        meanoftop20 = np.mean(srandomnumber[-20:])
        
        #返回一个随机排列,然后每隔5个数取作一组
        permutation = np.random.permutation(100)
        seq = range(0,100,5)
        pick20 = [max(randomnumber[i:i+5]) for i in seq]
        meanofpick20 = np.mean(pick20)

        return meanoftop20,meanofpick20

ARQ = ARandomQuetion()
top20 = []
pick20 = []
#作100次实验
for i in xrange(100):
    before,after = ARQ.Discovery()
    top20.append(before)
    pick20.append(after)

fig,axes = plt.subplots(1,1)
axes.plot(top20,label = mean of top20)
axes.plot(pick20,label = mean of pick20)
axes.legend(loc = best)
plt.show()

然而,结果并不明显。。。

技术分享

额,理论上的结果明天再想。

有意思的问题

标签:

原文地址:http://www.cnblogs.com/batteryhp/p/5202573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!