精华内容
下载资源
问答
  • 小学奥数平均数经典问题汇总

    万次阅读 2017-09-08 16:33:07
    小学奥数平均数经典问题汇总,掌握这些平均数问题,小学奥数考试拿高分不是梦!


    一、知识链接

    1、平均数:把几个不相等的数,在总数不变的情况下,通过移多补少,使它们相等。

    2、基本数量关系式:平均数=总数量÷总分数

                       总数量=平均数×总分数

                       总分数=总数量÷平均数

    3、解题关键:找准问题与条件,条件与条件之间相应的关系。

    4、平均数问题中的行程问题:

    (1)路程=时间×速度   时间=路程÷速度   速度=路程÷时间

    (2)平均速度=总路程÷总时间(V=ST)

         往返路程=去的路程+回来的路程

    (3)静水速度(本身的速度)    水流速度(外来的速度)

         顺水速度=静水速度=水流速度

         逆水速度=静水速度-水流速度

    (4)设数法解题

     

    二、例题精讲

    例1、二(1)班学生分三组植树,第一组有8人,共植树80棵,第二组有6人,共植树66棵,第三组有6人,共植树54棵,平均每人植树多少棵?

     

    例2、四年级羽毛球队的同学测量身高。其中两个同学身高153厘米,一个同学身高152厘米,有两个同学身高149厘米,还有两个同学身高147厘米。求四年级羽毛球队同学的平均身高。

     

    例3、从山顶道山脚的路长36千米,一辆汽车上山,需要4小时到达山顶,下山沿原路返回,只用2小时到达山脚。求这辆汽车往返的平均速度。

     

    例4、李华参加体育达标测试,五项平均成绩是85分,如果投掷成绩不算在内,平均成绩是83分,李华投掷得了多少分?

     

    例5、如果四个人的平均年龄是23岁,四个人中没有小于18岁的,那么年龄最大的人可能是多少岁?

     

    例6、五个数的平均数是18,把其中一个数改为6后,这五个数的平均数的16,这个改动的数原来是多少?

     

    例7、一位同学在期中测试中,除了数学外,其它几门功课的平均成绩是94分,如果数学算在内,平均每门95分。已知他数学得了100分,问这位同学一共考了多少门功课?

     

    例8、四(2)班有40名学生,期末数学考试有两名学生生病缺考,这时班级平均分为90分,缺考的两名学生补考成绩是98分,92分。四(2)班期末考试的平均分是多少?

     

    例9、小芳和四名同学一起参加数学竞赛,那四位同学的成绩分别为78分、91分、82分、79分小芳的成绩比五人的平均成绩高6分。求小芳的数学成绩。

     

    例10、两地相距360千米,一艘汽艇顺水行全程需要10小时,已知这条河的水流速度为每小时6千米,往返两地的平均速度是每小时多少千米?

     

    例11、把五个数从小到大排列,其平均数是38,前三个数的平均数是27,后三个数的平均数是48,中间一个数是多少?

     

    例12、植树节同学们绿化家乡,(1)、(2)、(3)班平均植树34棵,(2)、(3)、(4)班平均植树36棵,(4)班植树39棵,求(1)班植树多少棵,

     

    例13、某次数学考试,前10名同学的平均成绩是87分,前8名同学的平均成绩是90分,第9名比第十名多2分,第10名同学是多少分?

     

    三、课堂练习

    1、电视机厂四月份前10天共生产电视机3300太。后20天共生产电视机6300台,这个月平均每天生产电视机多少台?

     

    2、五(1)班有7各同学参加数学竞赛。其中两个同学得了99分,还有三个同学得了96分,另外两个同学分别得了97、89分,这7各同学的平均成绩是多少?

     

    3、小强家离学校有1200米,早上,它从家到学校用了15分钟,中午放学,从学校到家用了10分钟,求小强往返的平均速度。

     

    4、小军参加了3次数学竞赛,平均分是84分,已知前两次平均分是82分,求他第三次得了多少分?

     

    5、如果三个人的平均年龄是22岁,且没有小于18岁的,那么最大的人年龄可能是多少岁?

     

    6、某3个数的平均数是2,如果把其中一个数改为4,平均数就变成了3.被改的数原来是多少?

     

    7、小明前几次数学测验的平均成绩是84分。这次要考100分,才能把平均成绩提高到86分,问这是他第几次测验?

     

    8、甲、乙、丙三个人的平均年龄是22岁,如果甲、乙的平均年龄是18岁,乙、丙的平均年龄是25岁,那么乙的年龄是多少岁?

     

    9、一个技术工带5各普通工人完成一项任务,每隔普通工人各得120元,这位技术工的收入比他们6人的平均收入还多20元,问这位技术工得多少元?

     

    10、甲、乙两个码头相距144千米,汽船从乙码头逆水行驶8小时到达码头,已知汽船在静水中每小时行驶21千米。求汽船从甲码头顺流行驶几小时到达乙码头?

     

    11、在一次登山比赛中,小明上山时平均每分钟走40米,18分钟到达山顶,然后按原路下山,平均每分钟走60米,小明上山、下山平均每分钟走多少米?

     

    12、一辆汽车以每小时100千米的速度从甲地开往乙地,到达乙地后,又以每小时60千米的速度从乙地开回甲地,这辆汽车往返的平均速度是多少?

     

    13、在一次登山比赛中,小冬上山时平均每分钟走40米,30分钟到达山顶,然后按原路下山,平均每分钟走60米,小冬上、下山平均每分钟走多少米?

     

     14、学校组织春游活动,同学们乘车上山每小时行20千米,3小时到达山顶,下山时每小时行30千米,汽车上、下山的平均速度是多少?

     

    15、淘气读一本书,10天读完,平均每天读8页,前4天平均每天读11页,

    后6天平均每天读了多少页?

     

    16、四(4)班进行第一单元测试,平均分是96分,只有小明因病没参加,

    他补考成绩是61分。如果加上小明的成绩,平均分就是95分,四(4)班有学生多少人?

     

    四、课堂检测

    1、小明第一、二两次测验的数学平均成绩是60分,第三次测验后,三次的平均成绩是70分,第三次得了多少分?

     

    2、一次上山比赛中,李明上山时每分钟走50米,18分钟到达山顶。然后按原路下山,每分钟走75米。李明上下山的平均速度每分钟走多少米?

     

    3、王平参加五项全能测试,前四项平均得分是75分,第五项测试后,比五项的平均成绩高8分,王平第五项测试的成绩是多少分?

     

    4、甲、乙、丙三人一起买了8各面包平均分着吃,甲拿出5个面包的钱,乙拿出3个面包的钱,丙没有带钱,等吃完后一算,丙应该拿出2.4元,问甲应该收回多少钱?

     

    5、甲、乙、丙这三个数中,甲、乙平均数是34,乙、丙平均数是33,甲、丙平均数是35,这三个数的平均数是多少?

     

    6、李明同学参加五门功课的测试,英语成绩没有公布时,其他四科平均成绩是90分,英语成绩公布之后,平均成绩是92分,李明英语成绩是多少分?

     

    7、小冬家离学校有1225米,早上上学,他从家到学校用20分钟,中午放学,从学校到家用15分钟,求小冬往返的平均速度。

     

    8、壮壮爬山锻炼,上山每分钟行50米,18分钟到达山顶,然后他按原路返回,下山每分钟行75米,壮壮上、下山平均每分钟行多少米?

     

    9、一艘客轮从上海开往大连,每小时行18千米,50小时到达大连,返回时用40小时到上海,求客轮往返航行平均速度是多少千米。

     

    10、小英参加了五次数学测验,平均成绩是78分,她想在下次测验后,把六次的平均成绩提高到80分以上,那么她至少要得多少分?

     

    11、一辆摩托车以每小时20千米的速度行完了60千米的路程,回来时每小时行30千米,往返全程的平均速度是多少千米?

     

    12、某次小测验,21位男同学的平均成绩是82分,19位女同学的平均成绩是84分,全体同学的平均成绩是多少分?

     


    展开全文
  • 一组数字中找出最大的几个,例如从n个数字中找出最大的k个,最容易想到的方法是首先对这n个数字进行从小到大的排序,然后选出前面的k个数字就行了,快速排序的平均时间复杂度是O(nlogn)。不过,在有些面试题里面会...

    从一组数字中找出最大的几个,例如从n个数字中找出最大的k个,最容易想到的方法是首先对这n个数字进行从小到大的排序,然后选出前面的k个数字就行了,快速排序的平均时间复杂度是O(nlogn)。不过,在有些面试题里面会有这样一个条件:
    n非常大,以至于无法将这n个数一次性全部读入内存。

    这种时候可以用大顶堆来完成这个题目,如果形象的用完全二叉树来想象堆的样子的话,大顶堆中满足“任意一个结点中的值,都大于其子结点中的值”。

    在进行实现的时候,也不需要真的用一个树来存放数字,因为是完全二叉树,所以可以很方便的用数组来存放(可以理解为,从树的根结点开始进行广度优先遍历,把遍历的结果以此放在数组中)。只要在这个数组arr中,对于任意一个下标i,满足arr[i*2+1]>=arr[i]arr[i*2+2]>=arr[i],则这个数组满足堆的性质。

    这个数据中的第一个元素(即arr[0])对应那棵完全二叉树的根结点中的值,也就是这个完全二叉树中最大的值(大顶堆的根结点中的值)。只要构建好了这样一个包含k个数的大顶堆,接下来就可以依次遍历那n个数,把每一个数同根结点的值进行比较:
    (1)如果这个数大于大顶堆的根结点,那么这个数就不会是“最小的k个数”之一,不理会这个数;
    (2)如果这个数等于大顶堆的根结点,虽然这个数是“最小的k个数”之一,但是同样不理会这个数,至于原因,举例来说,我们要找的是最小的3个数,现在大顶堆里面放的是“1,2,2”,现在又读到一个“2”,我们自然不可能把大顶堆里面的“1”换成“2”,用“2”替换“2”等于没换,所以不理会现在读到的这个“2”;
    (3)如果这个数小于大顶堆的根结点,那么自然大顶堆的根结点不在“最小的k个数”之中,先用这个新来的数替换大顶堆根结点的值,然后再对大顶堆进行调整,使之保持堆的结构。

    用堆来完成“用n个数中找出最小的k个数”,时间复杂度为O(nlogk),时间复杂度比使用排序法稍微好一点,不过最大的优势应该是应对那种“n个数无法一次性全部读入内存”的情况。

    至于怎么对大顶堆进行调整,使其保持堆的结构,可以下面的代码,就是replace()方法中的代码。

    下面是大顶堆的代码:

    public class MyMaxHeap {
        private int size;
        private int[] arr;
    
        public MyMaxHeap(int size)  {
            this.size=size;
            arr = new int[size];
            for(int i=0; i<size; i++)  {
                arr[i] = Integer.MAX_VALUE;
            }
        }
    
        public int peek()  {
            return arr[0];
        }
    
        public void replace(int val)  {
            arr[0] = val;
            moveBigger2Top();
        }
    
        public int[] getVals()  {
            return arr;
        }
    
        public void moveBigger2Top()  {
            int maxInd = size-1;
            int lastNonLeafInd = (maxInd-1)/2;
    
            int curNodeInd = 0;
            while( curNodeInd<= lastNonLeafInd )  {
                int leftSonInd = curNodeInd * 2+1;
                int rightSonInd = leftSonInd + 1;
    
                int targetNodeInd = leftSonInd;
                if( rightSonInd<=maxInd  &&  arr[rightSonInd] > arr[leftSonInd] )  {
                    targetNodeInd = rightSonInd;
                }
    
                if( arr[ targetNodeInd ] > arr[curNodeInd] )  {
                    int t=arr[ targetNodeInd ];
                    arr[ targetNodeInd ] = arr[ curNodeInd ];
                    arr[ curNodeInd ] = t;
                }
                curNodeInd = targetNodeInd;
            }
        }
    }

    下面是测试代码,与使用排序法得到的结果进行比较,观察结果是不是一样来判断代码写对了没有。

    
    import java.util.Arrays;
    import java.util.Collections;
    
    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int length=2000;
            int heapSize=100;
    
            int[] arr1=new int[length];
            int[] arr2=new int[length];
    
            for(int i=0; i<length; i++)  {
                arr1[i] = (int)(Math.random()*10000.0);
                arr2[i] = arr1[i];
            }
    
            System.out.println("原始数组:");
            for(int val: arr1)  {
                System.out.print(val+" ");
            }
    
    
            MyMaxHeap heap=new MyMaxHeap(heapSize);
            for(int i=0; i<length; i++)  {
                if(arr1[i] <heap.peek())  {
                    heap.replace(arr1[i]);
                }
            }
    
    
            int[] minVals1=heap.getVals();
            int sum1=0;
            System.out.println();
            System.out.println("用最大堆选出来的最小"+heapSize+"个数:");
            for(int val: minVals1)  {
                sum1+=val;
                System.out.print(val+" ");
            }
            System.out.println();
            System.out.println("其和为:"+sum1);
    
            Arrays.sort(arr2);
            int sum2=0;
            System.out.println();
            System.out.println("用排序算法选出来的最小"+heapSize+"个数:");
            for(int i=0;i<heapSize; i++)  {
                sum2+=arr2[i];
                System.out.print(arr2[i]+" ");
            }
            System.out.println();
            System.out.println("其和为:"+sum2);
    
            System.out.println();
            System.out.println("done.");
        }
    
    }
    展开全文
  • 你有一组数字。你希望用更少的数字概括它们,最好是只用一个数字。因此,你将这组数字加起来,然后除以数字的数目。哇,你得到了“平均数”,没错吧? 也许。 和流行的观点不同,从数学上说,平均数通常不是一样...

    转载自:http://m.elecfans.com/article/712572.html

    不同平均数的比较;图片来源:维基百科

    大概是最常见的数据分析任务

    你有一组数字。你希望用更少的数字概括它们,最好是只用一个数字。因此,你将这组数字加起来,然后除以数字的数目。哇,你得到了“平均数”,没错吧?

    也许。

    和流行的观点不同,从数学上说,平均数通常不是一样东西。意思是:没有可以恰当地称作“平均数”的数学运算。我们通常所说的平均数是“算术平均数”,具体计算过程如前所述。我们称其为“平均数”,是因为我们期望它符合“平均数”的口头定义:一个典型的、正态的中间值。我们常常是对的,但正确的频率比我们想象的要低。

    概述统计量

    算术平均数仅仅是得到“平均”值的许多方法的其中之一。技术一点地说,这些属于概述统计量、集中趋势测度、位置测度。

    中位数大概是第二出名的概述统计量。由于中位数是数据集中间的值,因此常常比均值更平均。我这里不讨论中位数,不过在许多情形下,算术平均数被滥用在中位数更合适的地方。更多关于中位数的内容,可以参考下面三篇文章:

    https://www.linkedin.com/pulse/20140715160509-29681087-median-vs-average-household-income/

    http://wkuappliedeconomics.org/indblogs/mean-vs-median-income-which-one-to-use-and-what-it-means-for-south-central-kentucky/

    https://medium.com/%40JLMC/understanding-three-simple-statistics-for-data-visualizations-2619dbb3677a

    本文将重点讨论知名度相对较低的几何平均数和调和平均数。

    毕达哥拉斯平均数

    平方平均数和毕达哥拉斯平均数;图片来源:维基百科

    算术平均数是3种毕达哥拉斯平均数之一(名称源自研究这些性质的毕达哥拉斯及其学派)。另外两种毕达哥拉斯平均数是几何平均数和调和平均数。

    为了了解它们的基本功能,让我们从熟悉的算术平均数开始。

    算术平均数

    算术平均数的名字取得很合适:我们累加数据集中的所有数字,接着除以数据集包含的数字数目。

    不过,加法没有什么特别的。它只不过是一种简单的数学运算。在数字之间存在可加性(additive)关系的数据集上,算术平均数效果很好。这样的关系经常被称为线性,因为如果我们将所有数字按升序或降序排列,数字倾向于落在一根直线上。一个简单而理想化的例子是公差为3的等差数列:

    然而,不是所有的数据集都适宜用这种关系描述的。有些数据集内部存在乘法或指数关系,例如,公比为3的等比数列:

    我们看到,算术平均数(156)并不特别接近我们的数据集中的大多数数字。实际上,它是中位数(27)的5倍。

    将数据绘制在一根数轴上,能够更明显地看到这一扭曲。

     

    所以,我们做什么?

    引入……

    几何平均数

    由于数据集中数字之间的关系是相乘,我们通过乘法和取方根(总共有几个数字就开几次方根)来得到几何平均数。

    我们可以看到,在等比数列上,几何平均数更能代表数据集的中间值。事实上,在这个等比数列数据集上,它等于中位数。

    从单根数轴上也可以看到这一点:

    几何平均数的真实世界应用

    实际上,有很多实际场景适合使用几何平均数,因为类似相乘的关系在真实世界中很常见。

    一个经典的例子是复利问题。

    假设我们有一笔5年期存款,本金为$100,000,每年的利率是变动的:

    年利率:1%、9%、6%、2%、15%

    我们想要找到平均年利率,并据此计算5年后本金和利息的总和。我们尝试“平均”这些利率:

    (.01 + .09 + .06 + .02 + .15) ÷ 5 = .066 = 6.6%

    然后我们将平均利率代入复利计算公式:

    100000 * (1.066 ** 5 - 1) + 100000 = 137653.11

    比较以下不使用平均利率,直接计算的结果:

    100000 * 1.01 * 1.09 * 1.06 * 1.02 * 1.15 = 136883.70

    可以看到,我们的简便计算方法误差接近$1,000。

    我们犯了一个常见的错误:我们将加法操作应用于相乘过程,得到了不精确的结果。

    现在,让我们试试几何平均数:

    1.01 * 1.09 * 1.06 * 1.02 * 1.15 = 1.368837042

    1.368837042开5次方根 = 1.064805657

    将几何平均数代入复利计算公式:

    100000 * (1.0648 ** 5 - 1) + 100000 = 136883.70

    这个数字正好等于我们逐年计算所得的结果。

    我们使用了合适的平均数,并得到了正确的结果。

    几何平均数还适合什么场景呢?

    几何平均数的一个很酷的特性是,你可以对尺度完全不同的数字取平均数。

    例如,假设我们想比较两间咖啡店来源不同的在线评价。问题在于,来源一的评价使用五星制,而来源二的评分评价使用百分制:

    咖啡店A

    来源一:4.5

    来源二:68

    咖啡店B

    来源一:3

    来源二:75

    如果我们直接根据原始分值计算算术平均数:

    咖啡店 A = (4.5 + 68) / 2  =  36.25

    咖啡店 B = (3 + 75) / 2 = 39

    根据上面的数据,我们得出结论咖啡店B是赢家。

    如果我们对数字有一点敏感性,我们会知道在应用算术平均数得到精确的结果之前,我们首先需要标准化(normalize)数据集中的值至同一尺度。

    所以,我们将来源一中的评价乘以20,将其从五星尺度拉伸到来源二的百分制尺度:

    # 咖啡店A

    4.6 * 20 = 90

    (90 + 68) / 2 = 79

    # 咖啡店B

    3 * 20 = 60

    (60 + 75) / 2 = 67.5

    我们发现,其实咖啡店A才是赢家。

    然而,几何平均数,允许我们在不考虑尺度问题的前提下得到一样的结论:

    咖啡店A = (4.5 * 68) 的平方根 =  17.5

    咖啡店B = (3 * 75) 的平方根 = 15

    算术平均数被尺度较大的数字支配了,以至于得出了错误的结果。这是因为算术平均数期望数字间的加法关系,而没有考虑尺度和比例问题。所以需要在应用算术平均数之前将数字转换为同一尺度。

    另一方面,几何平均数,很容易就能处理比例问题,因为它本质上是乘法关系。这是一个极为有用的性质,但注意我们损失了什么:我们不再具有可解释的尺度了。在这样的情况下,几何平均数其实是无单位的(unitless)。

    例如,以上的几何平均数既不意味着百分制中的17.5分,也不意味着五星制中的15星。它们不过是无单位的数字,互相之间比例一致(技术上说,它们的尺度是原尺度5 & 100的几何平均数,也就是22.361)。不过,如果我们只需比较两间咖啡店评价的高低,那么这不会成为一个问题。

    几何平均数回顾

    几何平均数对值相乘,而不是相加,接着取n次方根,而不是除以n。

    它基本上是在说:如果我们的数据集中的数字都是一样的,那么这个数字应该是什么,才能得到和实际数据集一样的乘积?

    这使它非常适合描述相乘关系,例如比率,即使这些比率的尺度不同。(因此,它经常用来计算财经指数和其他指数。)

    缺点: 应用几何平均数时,可能会丢失有意义的尺度和单位。另外,它对离散值的不敏感性可能会遮蔽可能具有较大影响的大数值。

    和生活中的大多数事情一样,极少有牢不可破的规则说必须使用几何平均数(复利等少数情形除外)。有一些启发式的规则和经验规则,但无疑需要判断力和科学的怀疑,才能应用合理的经验。

    在最后的总结中我们将继续讨论这些,不过现在让我们引入最后一种毕达哥拉斯平均数……

    调和平均数

    算术平均数需要加法,几何平均数则利用乘法,调和平均数使用倒数。

    我们可以用语言描述调和平均数:数据集的倒数的算术平均数的倒数。

    听起来当中包含很多倒数,但实际上不过是一些简单的步骤:

    对数据集中的所有数字取倒数

    找到这些倒数的算术平均数

    对上一步所得取倒数

    源自维基百科的一个简单例子:1、4、4的调和平均数是2:

    注意,由于0没有倒数,因此调和平均数和几何平均数一样,无法处理包含0的数据集。

    好,我们已经明白数学部分如何工作了。不过调和平均数适用于哪些场景呢?

    调和平均数的现实世界应用

    为了回答上面的问题,我们需要回答:倒数适用于哪些场景?

    由于倒数和除法类似,不过是伪装的乘法(乘法不过是伪装的加法),我们意识到:倒数帮助我们更方便地除以分数。

    例如,5 ÷ 3/7等于多少?如果你还记得初等数学,你大概会将5乘以7/3(3/7的倒数)。

    不过有一个等价的方法,将5和3/7缩放至共同的分母:

    5/1 ÷ 3/7 = 35/7 ÷ 3/7 = 35 ÷ 3 = 112/3 = 11.66667

    类似之前使用几何平均数作为快捷路径,在未标准化的情况下找到不同尺度评分的相加算术平均数的关系,调和平均数帮助我们在不操心共同分母的情况下找到乘/除关系。

    因此,调和平均数很自然地成为几何平均数之上的另一层乘/除。因此,它有助于处理包含长度或周期不同的比率的数据集。

    (你可能在想:“等一下,我原以为几何平均数用在平均利率和不同尺度的比率上!”你想的没错。你也不是第一个为此感到困惑的人。我自己写下下面的内容正是为了厘清我自己的思考和理解。我希望下面的例子让这个主题更清楚了,在文章后面的总结部分也会回顾所有的区别。)

    平均速度

    现实世界中,使用调和平均数的经典例子是以不同的速度通过物理空间。

    考虑一次去便利店并返回的行程:

    去程速度为30 mph

    返程时交通有一些拥堵,所以速度为10 mph

    去程和返程走的是同一路线,也就是说距离一样(5 miles)

    整个行程的平均速度是多少?

    同样,我们可以不假思索地直接应用30 mph和10 mph的算术平均数,然后自豪地宣布结果是20 mph。

    但是再想一想:由于你在一个方向上的速度较高,因此你更快地完成了去程的5 miles,在那个速度上花了整个行程中更少的时间,所以整个行程期间你的平均速度不会是30 mph和10 mph的中点,它应该更接近10 mph,因为你更多的时间是以10 mph的速度行驶。

    为了正确地应用算术平均数,我们需要判定以每种速率行驶所花的时间,然后以适当的权重加权算术平均数的计算:

    去程:5 / (30/60) = 10 minutes

    返程:5 / (10/60) = 30 minutes

    总行程:10 + 30 = 40 minutes

    加权算术平均数:(30 * 10/40) + (10 * 30/40) = 15 mph

    所以,我们看到,真正的平均速度是15 mph,比使用未加权的算术平均数计算所得低了5 mph(或者25%)。

    你大概猜到了我们下面要做什么……

    让我们试着使用调和平均数:

    2 / (1/30 + 1/10) = 15

    真正的行程平均速度,自动根据在每个方向上使用的时间进行调整,是15 mph!

    有一些地方需要注意:

    可以直接应用调和平均数的前提是不同速度行驶的总距离是相等的。如果距离不同,我们需要使用加权调和平均数,或加权算术平均数。

    当距离不等时,算术平均数仍然以不同速度行驶的时间作为加权,而调和平均数则以不同速度行驶的距离作为加权(因为通过取倒数,已经隐式地考虑了不同速度的时间比例)。

    毕达哥拉斯平均数大部分的复杂性和麻烦源于比率的本质以及我们对比率的哪方面更感兴趣。例如,算术平均数总是用分母的单位表示。在行程问题中,比率是每小时的英里数,因此,算术平均数给出的结果是以分母(某种意义上隐藏的)单位表示,小时:(30m / 1hr + 10m / 1hr) ÷ 2 = 20m/1hr = 20 mph。如果我们在每个方向上所花的时间是一样的,那么这个结果会是精确的。然而,我们知道,在每个方向上所花的时间并不一样。相反,调和平均数通过取倒数翻转这些比率,将我们实际感兴趣的数字放入分母,接着取算术平均数,并再次翻转,给出我们要求的平均速度。(可以使用财经的P/E率更深入地探讨这一问题,请参阅论文Using the Price-to-Earnings Harmonic Mean to Improve Firm Valuation Estimates。)

    几何平均数适用于复利问题的原因是,利率的周期是相等的:每种利率一年。如果周期是可变的,也就是说每种利率的持续时间不同,那么我们同样需要使用某种权重。

    几何平均数可以处理相乘关系,例如复利问题和不同评分尺度上的比率,而调和平均数则通过神奇的倒数容纳了另一层次的乘/除关系,例如可变周期或长度。

    类似复利问题和几何平均数,这是一个准确、客观正确的调和平均数的应用案例。不过,事情并不总是如此清晰。有其他准确的、可以在数学上论证的调和平均数的应用,包括物理、财经、水文学,甚至(源自传统)棒球统计。和数据科学关系更密切的:调和平均数经常用在评估机器学习模型的准确率和召回中。但是,在更多的情况下,调和平均数的应用需要判断力,需要你对数据和手头问题的灵活理解。

    总结

    1. 3种毕达哥拉斯平均数密切相关

    例如,我们已经看到:

    不同尺度评分的几何平均数有时保留了这些值标准化至同一尺度后的算术平均数的次序。

    调和平均数等价于行程速度的加权算术平均数(权重为相对行程时间)

    在下篇中,我们将看到,数据集的几何平均数等价于数据集中每个数字的对数的算术平均数。所以,正如调和平均数不过是算术平均数加上一些倒数变换,几何平均数不过是算术平均数加上对数变换。

    2. 毕达哥拉斯平均数遵循严格的次序

    根据相应的公式,调和平均数总是小于几何平均数,几何平均数总是小于算术平均数。

    这三种平均数是彼此接近还是互相远离,取决于数据的分布。以上规则唯一的例外是,在数据集中所有数字相等的极端情形下,3种平均数同样相等。也就是说,以下不等关系成立:

    调和平均数 ≤ 几何平均数 ≤ 算术平均数

    从本节开头的毕达哥拉斯平均数的几何描述中也能看到这一点。

    认识到这一次序关系有助于理解何时应用哪种平均数,以及不同平均数对结果的影响。

    让我们回顾之前的相加和相乘数据集,这次我们将画出所有三种平均数:

    很明显,几何平均数和调和平均数看起来要比这一线性、相加数据集的中间低不少。这是因为这两种平均数对较小的数字而不是较大的数字更敏感(让它们相对而言对较大的离散值不敏感)。

    这里,几何平均数准确地位于数据集的中点,而调和平均数则向低端扭曲,算术平均数则受较大的离散值的影响,向高端扭曲。

    描绘一个集中趋势用调和平均数表达最佳的数据集并不容易,因此我将直接转入下一部分……

    3. 强硬的规则,一些启发式的方法,和许多判断的空间

    不同尺度的比率:使用几何平均数(或在标准化的数据上应用算术平均数)。

    周期一致的复合比率:使用几何平均数。

    不同周期或长度上的比率:使用调和平均数(或加权平均数)。

    了解比率的哪一边你更感兴趣,以决定应用哪种平均数。算术平均数是以分母的单位表达的(显式或隐式)。调和平均数让你可以倒置比率,让结果以原本分子的单位表达。

    如果数据体现出相加结构:算术平均数通常是安全的选择。

    如果数据体现出相乘结构和/或包含较大的离散值:几何平均数或调和平均数可能更合适(中位数可能也比较合适)。

    任何决定都有缺陷和折衷:

    使用几何平均数可能损失有意义的尺度或单位。

    包含0的数据集无法应用几何平均数或调和平均数,包含负数的数据集意味着无法应用几何平均数。

    使用几何平均数或调和平均数时,受众可能不熟悉这两个概念。

    经常,更实用、更易解释的方法是:

    存在较大的离散值时直接使用中位数

    移除离散值

    使用加权算术平均数或统计学变换,而不是难懂的毕达哥拉斯平均数

    统计计算语言R内置矩阵求逆和三次样条插值的方法,却没有内置计算简单的几何平均数或调和平均数的函数,这可能多少暗示了这两种平均数狭窄的使用场景。(不过Google sheets和Excel倒是包含这两种平均数。)

    如果要用一句话概括整篇文章,那么:

    理解数据的本质,仔细思考你用来描述数据的概述统计量,才能避免用错平均数的风险。

    请留言分享你使用这两种不那么常见的毕达哥拉斯平均数的案例和经历(以及你发现的本文的错误)。

     

    展开全文
  • /输出所有大于平均数的整数/ #include<stdio.h> int main () { int i; double average,sum;// 平均数与整数和; int a[10]; printf("enter 10 integers:"); sum=0; for(i=0;i<10;i++){ //a...

    /输出所有大于平均数的整数/

    #include<stdio.h>
    int main ()
    {
        int i;
        double average,sum;// 平均数与整数和;
        int a[10];
        printf("enter 10 integers:");
        sum=0;
        for(i=0;i<10;i++){    //a[0]-a[9]
        scanf("%d",&a[i]);
        sum=sum+a[i];}
        
        average=sum/10;
        printf("average=%.2f\n",average);//输出保留小数点后两位的平均数
        printf(">average:");
          //输出大于平均数的数
         for(i=0;i<10;i++){
            if(a[i]>average)
            printf("%d ",a[i]);
        }
        printf("\n");
        return 0;
    }
    
    展开全文
  • 你有一组数字。你希望用更少的数字概括它们,最好是只用一个数字。因此,你将这组数字加起来,然后除以数字的数目。哇,你得到了“平均数”,没错吧? 也许。 和流行的观点不同,从数学上说,平均数通常不是一样...
  • javascript数组平均数

    千次阅读 2017-12-21 20:09:01
    需求返回个数字数组的平均数输入:个数字数组 输出:该数组的平均值代码const average = arr => arr.reduce((acc, val) => acc + val, 0) / arr.length;效果一点思路箭头函数(ES6),reduce(ES5)相比于while...
  • #include <stdio.h> #include <stdlib.h> #define N 10 int main() { float c;...printf(“输入10个:”); for(i=0; i<=9; i++) { scanf("%d",&a[i]); sum+=a[i]; } c=sum/1...
  • 程序设计-求N个的中位(C++)

    万次阅读 2019-02-28 10:19:02
    分享一个大牛的人工智能教程。... * 对于一组有有限个的数据来说,它们的中位是这样的一种:这群数据里的一半的数据比它大,而另外一半数据比它小。 * 计算有限个的数据的中位的方法是:把所有的同类...
  • 我对这个问题的解法是递归着解决的,首先对原始数组进行排序,然后我们首先选择m的大小,注意这里题目没有说明是否是正整数,如果是:那么最大的m一定小于(数组的和)/(数组最大的元素),否则就要从数组的元素个开始枚举:...
  • 计算形参x所指数中N个平均值(规定所有均为正数),作为函数值返回;并将大于平均值的放在形参y数组中输出#include <stdlib.h>#include <stdio.h>#define N 10double fun(double x[],double *y){ ...
  • 描述性分析流程的整理前言、变量说明表二、统计量描述位置的度量变异程度的度量三、统计图描述如何改变文本的样式插入链接与图片设定内容居中、居左、居右KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLow...
  • 平均数的妙用

    千次阅读 2016-06-20 22:37:30
    1. 保证自己不是最多或者最少三人先后从装有 100 块黄金的盒子中取不同数目的黄金,如何保证最后个取黄金的人取出的黄金,既不最多也不最少。取前 2 者取出的黄金数目的平均数,便可保证。
  • python生成一组二进制1024位和512位数的大质数对 前些天同学求助: 用python生成一组二进制1024位与512位数的大素数对,要求1024位的质数减一后可以整除512位数,经过两天鏖战后成功,在这里总结一下思路与代码。...
  • if(array[i]){ // 假如元素小于min 就把当前值赋值给min min=array[i]; } sum += array[i]; } System.out.println("数组中的最大值:"+max); System.out.println("数组中的最小值:"+min); System.out.println...
  • java中输入n个并输出其最大最小值

    万次阅读 2018-08-12 21:20:28
    import java.util.*;...public class Comparison{ //定义个Comparison类 public static void main(String[] args){ //主函数 Scanner sc = new Scanner(System.in); //创建并实例化对象sc System.ou...
  • 通过科学试验的观察、测定和记载,可得到大量的数据资料,这些资料必须按照一定的程序进行整理和分析,才能透过数据表现看到蕴藏在数据中的客观规律。资料整理和分析时试验工作的重要组成部分。 、总体及其样本 ...
  • 个整型数组中元素的平均值,并统计其中大于和小于平均值的元素的个数。
  • package test; import java.util.*; public class test_2_6 { public static void main(String... System.out.println("你需要输入几个?"); Scanner input=new Scanner(System.in); int n=input.nextInt(...
  • 四分位差(quartile deviation),也称为内距或四分间距(inter-quartile range),它...最小的四分位数称为下四分位数,所有数值中,有四分之一小于下四分位数,四分之.把个数组从小到大排序,中位是中间那个上四...
  • 找出个数组里面前K个最大数

    万次阅读 2011-07-20 09:18:00
    前言:今天早上来实验室,同桌问了我个问题:找出个数组里面前K个最大数的高效算法。最近正好在看数据结构和算法相关内容,便以己之力帮她思考了思考。 问题:找出个数组里面前K个最大数。 解法: 1.第...
  • 使用JAVA找出一组数据的最大

    千次阅读 2015-12-13 14:38:45
    设有一组N个而要确定其中k个是最大者。我们称之为选择问题也就是选择这组数据中的最大值。下面我们使用JAVA语言来编程找出一组数据中的最大值。  public class SelectMaxNum { /** * @param args * 找出...
  • Math.random()是令系统随机选取大于等于 0.0 且...随机数生成20~90之间的数值,并求平均数: public class Random01 { public static void main(String[] args) { int len = 5; int sum = 0; int[] ...
  • 编程之美之2.5 寻找最大的K个

    千次阅读 2014-05-20 16:55:14
    有很多无序的,从中找出最大的K个。假定他们都不相等。 【解法】 如果数据不是很多,例如在几千个左右,我们可以排一下序,从中找出最大的K个。排序可以选择快速排序或者堆排序 [cpp] view ...
  •  均值:大多数时候所说的平均数,它的定义如下:  均值= 所有数值的总和 / 所有数值的个数总和  中位数:分类数据的中间值(如果数据个数为偶数,则是两个中间数值和的一半)  众数:数据中出现次数最多的值...
  • 平均数为、方差为的正态总体重抽样,或者在个非正态总体里抽样只要样本容量有足够大,则所得系列样本平均数的分布必趋于正态分布,具有,且遵循正态分布。测验,这类测验称u测验。 但是测验只有在总体方差...
  • python编写函数,接收任意多的参数,返回个元组, 其中第个元素为所有参数的最大值, ...第三元素为所有参数中小于平均值的实数的列表 完整答案请在【python数据分析之禅】gzh后台,回复‘作业’获取答案 ...
  • 四分位数 箱线图

    万次阅读 2017-07-28 15:39:08
    箱线图(Boxplot)也称箱须图(Box-whisker Plot),它是用一组数据中的最小值、第一四分位数、中位、第三四分位数和最大值来反映数据分布的中心位置和散布范围,可以粗略地看出数据是否具有对称性。通过将多组...
  • 最大进程线程 连接

    千次阅读 2018-10-07 18:03:02
    ======================== ========================================================= ==============================================...吞吐量(TPS)、QPS、并发、响应时间(RT)概念 开发的原因,需要对...
  • 小鑫数数

    千次阅读 2016-12-04 07:44:23
    Problem Description ... 第个数是这些数字中小于他们平均数的数字的个数,第二个数为等于他们平均数的数字的个数,第三个数为大于他们平均数的数字的个数。 Example Input 3 1 2 3 5 2 4 4 5 5 Example Ou
  • 中位(又称中值,英语:Median)

    千次阅读 2013-09-05 10:46:50
    如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的平均数作为中位数。 个数集中最多有一半的数值小于中位数,也最多有一半的数值大于中位数。如果大于和小于中位数的数值个数均

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 114,127
精华内容 45,650
关键字:

一组数的平均数一定小于最大的数