精华内容
下载资源
问答
  • 需求场景:抽奖送积分,积分范围100-10000,要求平均1000积分。 这是一个很常见需求,但是很难下手,一般人解决方案都是先...=0,),使得y的期望值为1000。 但,这种函数千千万,鬼知道是哪个... 正所谓弱水...

    需求场景:抽奖送积分,积分范围100-10000,要求平均1000积分。

    这是一个很常见的需求,但是很难下手,一般人的解决方案都是先随机几个数值判断或者第一次随机一个小的第二次随机一个大的。

    其实如果把需求转换成数学函数你就会豁然开朗:

    给定离散函数y=f(x)(x∈[100,10000],y>=0,),使得y的期望值为1000。

    但,这种函数千千万,鬼知道是哪个...

    正所谓弱水三千我们只需一瓢,我们又不是来解数学题的,只要找到一个符合条件的不就行了。

    首先这个函数必须是曲线,所以我们就取最简单的曲线y=ax²和y=1/ax。

    博主身先士卒,试过了y=ax²并不行,所以此处选择y=1/ax的双曲线。

    还是那句话弱水三千我们只需一瓢,越简单越好所以直接指定a=1,为了更方便计算,我们再指定x=1时y=0,这样就选好了一个双曲线y=1/x-1。然后根据数学函数的特性,我们只需要找到区间[m,1],最大值f(m),最小值0,平均值是1000/(10000-100)*f(m)(就是y值的0.1010101倍)就可以解决随机的问题了。

    定积分肯定少不了了:

    x=1时y=0所以平均值就是:dx/(1-m)

    回回神,整个逻辑梳理一下,最终的结果就是:(-ln(m)-(1-m))/(1-m)=平均值,平均值=0.1010101*(1/m-1),求m的值。

    虽然已经简化这么多,但博主反正是求不出来这个m的值😂。

    仍然是那句话我们又不是来解数学题的,既然解不出来,作为程序猿怎么能忘记初心呢:我们只需要用代码递归找到一个m使得平均值比例最趋近0.101010101不就行了。

    函数y=1/x-1在(0,1)区间内是单调减的,所以直接采用二分法,然后递归调用。结合代码的特性:double值是有限的,所以只需要二分法后的值等于二分法左值、二分法右值、平均值中的一个就可以结束了。

    此处需要注意的是y=1/x-1的平均值和最大值的比例只会小于0.5,举例就是:最小值100,最大值10000,则这个曲线最大只能生成平均值为5049.99999(小于(10000-100)/2+100)的值。那我想要:最小值100,最大值10000,平均值9000的该如何解决?

    拿10000-随机值不就是了😂

    前面的你可以看不懂,但代码会运行吧,不多啰嗦了,上代码:

        public static void main(String[] args) {
            int min = 100;
            int max = 10000;
            int average = 1000;
            System.out.println(start(min, max, average));
        }
    
        /**
         * 开始计算区间
         *
         * @param min     最小随机数
         * @param max     最大随机数
         * @param average 平均值
         * @return 返回双曲函数的左区间的值
         */
        public static double start(double min, double max, double average) {
            double targetRatio = (average - min) / (max - min);
            System.out.println("-------------计算开始,最小值:" + min + ",最大值:" + max + ",平均值:" + average + ",目标比例:" + targetRatio + "---------------");
            if (targetRatio >= 1 || targetRatio <= 0) {
                throw new RuntimeException("你傻吗");
            }
            if (targetRatio > 0.5d) {
                double m = recursiveLeftInterval(0d, 1d, 1 - targetRatio);
                System.out.println("\n\n-------------计算结果---------------");
                System.out.println("函数y=" + max + "-(1/x-1)*(+" + max + "-" + min + ")/(1/" + m + "-1)" + "在区间[" + m + ",1]的平均值约:" + average);
                return m;
            } else if (targetRatio < 0.5d) {
                double m = recursiveLeftInterval(0d, 1d, targetRatio);
                System.out.println("\n\n-------------计算结果---------------");
                System.out.println("函数y=(1/x-1)*(+" + max + "-" + min + ")/(1/" + m + "-1)+" + min + "在区间[" + m + ",1]的平均值约:" + average);
                return m;
            } else {
                throw new RuntimeException("骚年小学数学不及格啊");
            }
        }
    
        /**
         * 请使用上面的start方法
         * <p>
         * 递归求y=1/x-1在区间[m,1]中m的值
         *
         * @param minM        m的最小值,第一次传0
         * @param maxM        m的最大值,第一次传1
         * @param targetRatio 目标比例必须<0.5,如果>0.5请反置
         * @return 返回左区间m的值
         */
        private static double recursiveLeftInterval(double minM, double maxM, double targetRatio) {
            //二分法m
            double currentM = (maxM + minM) / 2;
    
            //就是dx/(1-m)/(1/m-1),简化了一下,dx=-ln(m)-(1-m)
            double currentRatio = currentM / (currentM - 1) / (currentM - 1) * (currentM - 1 - Math.log(currentM));
            System.out.println("当前m的范围[" + minM + "," + maxM + "],当前m的值" + currentM + "],当前比例" + currentRatio);
    
            //精度上限
            if (currentM == minM || currentM == maxM) {
                System.out.println("达到double精度上限,最终m的范围[" + minM + "," + maxM + "],最终m的值" + currentM);
                return currentM;
            }
    
            if (currentRatio > targetRatio) {//在范围左边
                return recursiveLeftInterval(minM, currentM, targetRatio);
            } else if (currentRatio < targetRatio) {//在范围右边
                return recursiveLeftInterval(currentM, maxM, targetRatio);
            }
            System.out.println("计算比例刚好相等,最终m的范围[" + minM + "," + maxM + "],最终m的值:" + currentM);
            return currentM;
        }

    打印的最终结果:0.03569086434475005

    也许你啥都没看懂,没关系,只要你能把上面的代码改成自己的最大值、最小值、平均值然后跑起来,得到m,任务就完成了😂

    至此你可以把上面的代码都删掉了😂😂😂😂😂😂😂😂

    真正使用:

        /**
         * 真正的使用是这样的
         */
        public static void example() {
            System.out.println("\n\n-------------举例最少50积分,最大5000积分,平均800积分---------------");
            int min = 50;
            int max = 5000;
            int average = 800;
    
    //        double m= start(min,max,average);//大错特错,每次都计算多浪费性能
            //m是写死的,只需要算过一次保存下来就行了(若三个值有变动记得再算一遍)
            double m = 0.07977647130071558;
    
            double ratio = ((double) average - min) / (max - min);
    
            //随机m~1的数
            double random = Math.random() * (1d - m) + m;
    
            //+0.5表示四舍五入
            int integral;
            //这里的if是为了防止一些人比较笨,无脑复制导致公式用错
            if (ratio > 0.5) {
                //最小值100,最大值10000,平均值9000就会>0.5了。此时只需要拿最大值减去随机值就行了
                integral = (int) (max - (1 / random - 1) * (max - min) / (1 / m - 1) + 0.5);
            } else {
                //双曲线的平均值都是<0.5的
                integral = (int) ((1 / random - 1) * (max - min) / (1 / m - 1) + min + 0.5);
            }
    
            System.out.println("随机的一个积分" + integral);
    
    
            
            // 随机验证
            
            System.out.println("\n\n-------------随机验证统计区---------------");
            //验证循环次数
            int totalCount = 1000000;
            //积分总和
            double sum = 0;
            //统计随机出来的最大、最小积分
            int statisticalMax = 0, statisticalMin = Integer.MAX_VALUE;
            //统计每1/10的分布情况
            int[] statisticalDistributions = new int[11];//max也要占一个坑,所以是11,第11个就是max的数量
    
            for (int i = 0; i < totalCount; i++) {
                //随机m~1之间的数
                double random2 = Math.random() * (1 - m) + m;
                //+0.5表示四舍五入
                int integral2;
                if (ratio > 0.5) {
                    integral2 = (int) (max - (1 / random2 - 1) * (max - min) / (1 / m - 1) + 0.5);
                } else {
                    integral2 = (int) ((1 / random2 - 1) * (max - min) / (1 / m - 1) + min + 0.5);
                }
                sum += integral2;
                //最大最小值
                if (integral2 > statisticalMax) {
                    statisticalMax = integral2;
                }
                if (integral2 < statisticalMin) {
                    statisticalMin = integral2;
                }
                //统计
                int distributionsIndex = (integral2 - min) * 10 / (max - min);
                statisticalDistributions[distributionsIndex] += 1;
            }
    
            System.out.println("随机数平均值:" + sum / totalCount);
            System.out.println("随机数最大值:" + statisticalMax + "随机数最小值:" + statisticalMin);
            System.out.println("每1/10的数据量分布:" + Arrays.toString(statisticalDistributions));//第11个直接是max的数量
        }

    现在就请尽情的挥洒吧。

    其实真正的代码连5行都没有😂,但从无到有的逻辑真的够喝几天的了...

    展开全文
  • 期望

    2018-12-27 15:29:59
    (1)期望就是所有发生随机变量X平均数(注意不是X取值范围,而是指发生随机变量X总体,可以重复可以无限多),当X发生很多次,都拿来计算又不方便时,就会用X观测值算术平均数来代替。但是数学研究肯定...

    先了解总体和样本的概念,参考博文:https://blog.csdn.net/u010916338/article/details/86540916 

    (1)期望就是所有发生的随机变量X的平均数(注意不是X取值范围,而是指发生的随机变量X总体,可以重复可以无限多),当X发生很多次,都拿来计算又不方便时,就会用X的观测值的算术平均数来代替。但是数学研究肯定还是用全量X来表示。

    (2)观测求得的随机变量X的平均数叫做频率,而随机变量X的全量(总体)称为概率。当观测非常多时,可以近似认为频率就是概率。而实际情况是,有的对象很难拿到全量(总体),只能接近,于是就用期望来表达我们的预期即“期望”。

    (3)数学研究的时候从总体出发,数学工程计算的时候从样本出发。

     

     解析:对于连续型求期望,x代表随机变量取值,f(x)dx就等于高乘以宽等于该随机变量的概率

     

     

    展开全文
  • 期望解作为一约束条件应用于多目标规划的交互方法...与直接用Z-W法相比,该方法能优化变量的取值范围,且不需进行繁琐的计算来判别有效顶点的邻近有效顶点。从本质上改进了求解方法,使整个求解的计算速度大为提高。
  • 这篇文章总结了概率统计中期望、方差、协方差和相关系数的定义、性质和基本运算规则...设P(x)是一个离散概率分布函数自变量的取值范围是。那么其期望被定义为: 设P(x)是一个连续概率分布函数,那么他的期望是:...

    这篇文章总结了概率统计中期望、方差、协方差和相关系数的定义、性质和基本运算规则。

     

    一、期望

    定义:

      设P(x)是一个离散概率分布函数自变量的取值范围是。那么其期望被定义为:
                                                                      
       设P(x)是一个连续概率分布函数 ,那么他的期望是:                                                                           

    性质:

    1.线性运算:

       期望服从先行性质,因此线性运算的期望等于期望的线性运算:   

                                                    

       我们可以把它推广到任意一般情况:
                                                    

     

    2.函数的期望:

     设f(x)是x的函数,则f(x)的期望为:

        离散:

                          

        连续:

                          

    3.乘积的期望:

     

        一般来说,乘积的期望不等于期望的乘积,除非变量相互独立。因此,如果x和y相互独立,则

                                                                                           

         期望的运算构成了统计量的运算基础,因为方差、协方差等统计量本质上是一种特殊的期望。

     

     

    设C为一个常数,X和Y是两个随机变量。以下是数学期望的重要性质:
    1.E(C)=C
    2.E(CX)=CE(X)
    3.E(X+Y)=E(X)+E(Y)
    4.当X和Y相互独立时,E(XY)=E(X)E(Y)
    性质3和性质4可以推到到任意有限个相互独立的随机变量之和或之积的情况。

    例子:

    某城市有10万个家庭,没有孩子的家庭有1000个,有一个孩子的家庭有9万个,有两个孩子的家庭有6000个,有3个孩子的家庭有3000个。求一个家庭平均小孩的数目:
    思路:则此城市中任一个家庭中孩子的数目是一个随机变量。它可取值0,1,2,3。其中取0的概率为0.01(1000/10万),取1的概率0.9(9000/10万),取2的概率为0.06(6000/10万),取3的概率为0.03(3000/10万)。它的数学期望0×0.01+1×0.9+2×0.06+3×0.03等于1.11,即此城市一个家庭平均有小孩1.11个。用数学式子表示为E(X)=1.11。
     
     
       
     

     

    二、方差

    定义:

    方差是一种特殊的期望, 被定义为:

                                  

    离散型的方差:

                 

                      

    连续型的方差:

                

                     

     

    以上两式是一样的,只是写法不同。
    证明:由数学期望的性质得

    性质:

    1.设C是常数,则D(C)=0
    2.设X是随机变量,C是常数,则有  
     
    3.设 X 与 Y 是两个随机变量,则
    其中协方差  
     
    特别的,当X,Y是两个不相关的随机变量(相互独立)则
    此性质可以推广到有限多个两两不相关的随机变量之和的情况。

    统计学意义:

     

     

    方差和标准差是测算离散趋势最重要、最常用的指标。方差是各变量值与其均值离差平方的平均数,它是测算数值型数据离散程度的最重要的方法。标准差为方差的算术平方根,用S表示。方差相应的计算公式为(无偏性)。
           标准差与方差不同的是,标准差和变量的计算单位相同,比方差清楚,因此很多时候我们分析的时候更多的使用的是标准差。

    三、协方差

       定义:

     在概率论和统计学中,协方差用于衡量两个变量的总体误差。期望值分别为E[X]与E[Y]的两个实随机变量X与Y之间的协方差Cov(X,Y)定义为:
                                                                  
                                                                                      
                                                                                      
                                                                                      

     

      特殊情况下,当X=Y时:

                         

     

     

    从直观上来看,协方差表示的是两个变量总体误差的期望。
    如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。
    如果X与Y是统计独立的,那么二者之间的协方差就是0,因为两个独立的随机变量满足E[XY]=E[X]E[Y]。
    但是,反过来并不成立。即如果X与Y的协方差为0,二者并不一定是统计独立的。

    性质:

    (1)Cov(X,Y)=Cov(Y,X);
    (2)Cov(aX,bY)=abCov(X,Y),(a,b是常数);
    (3)Cov(X1+X2,Y)=Cov(X1,Y)+Cov(X2,Y)。
    由协方差定义,可以看出Cov(X,X)=D(X),Cov(Y,Y)=D(Y)。

    四、相关系数

          协方差作为描述X和Y相关程度的量,在同一物理量纲之下有一定的作用,但同样的两个量采用不同的量纲使它们的协方差在数值上表现出很大的差异。为此引入如下概念;

     

     

    定义:

      

      称为随机变量X和Y的(Pearson)相关系数。

    性质:

    1.若ρXY=0,则称X与Y不线性相关。
    2.即ρXY=0的充分必要条件是Cov(X,Y)=0,亦即不相关和协方差为零是等价的。
    3.相关系数ρXY取值在-1到1之间,ρXY = 0时,称X,Y不相关;
     | ρXY | = 1时,称X,Y完全相关,此时,X,Y之间具有线性函数关系;
     | ρXY | < 1时,X的变动引起Y的部分变动,ρXY的绝对值越大,X的变动引起Y的变动就越大;
     | ρXY | > 0.8时称为高度相关,当 | ρXY | < 0.3时称为低度相关,其它时候为中度相关。

     

    五、参考资料

     

    1.协方差相关系数等百度百科

    2.北航之张洋系列

    转载于:https://www.cnblogs.com/jfdwd/p/11274056.html

    展开全文
  • 假设某一离散变量X的取值范围来自于集合A,A={X1,X2,X3,X4,...XN},对集合A进行可放回抽样M次(参考上节),产生容量为M的抽样数据集S,数据集S的离散变量X的取值为:{X(1),X(2),X(3),...X(M)},X(K)表示第K次可放回...

    假设某一离散变量X的取值范围来自于集合A,A={X1,X2,X3,X4,...XN},对集合A进行可放回抽样M次(参考上节),产生容量为M的抽样数据集S,数据集S的离散变量X的取值为:{X(1),X(2),X(3),...X(M)},X(K)表示第K次可放回抽样的值。

    变量X期望E(X):

    抽样数据集S的变量X的均值

    期望:

    变量所有可能取值与其出现概率乘积之和。

    均值:

    所有抽样数据变量之和的平均值。

     

    辛钦大数定理:

    辛钦大数定理证明了,若抽样数据的样本量足够大,那么变量均值等于期望。

     

    展开全文
  • 验结果表明,对于不同有效位数的输入数据,只需经过一步增益凋节就可使输出达到期望的取值范围;而实现时对 增益控制因子精度的选择,将影响AGC输出信号的平均幅度. 关键词:全数字式;前馈AGC;动态范围;现场可...
  • 期望和方差

    2017-02-04 16:11:45
    设P(x)P(x)是一个离散概率分布函数,自变量的取值范围为{x1,x2,⋯,xn}。其期望被定义为: E(x)=∑k=1nxkP(xk) 设p(x)p(x)是一个连续概率密度函数。其期望为: E(x)=∫+∞−∞xp(x)dx ...
  • 期望, 方差, 协方差,标准差

    万次阅读 多人点赞 2018-05-14 15:03:12
    期望, 方差, 协方差,标准差 期望 概率论中描述一个随机事件中...设P(x) 是一个离散概率分布,自变量的取值范围为{x1,x2,...,xnx1,x2,...,xnx_1, x_2,..., x_n}。其期望被定义为: E(x)=∑k=1nxkP(xk)E(x)=∑...
  • 一、期望 定义:  设P(x)是一个离散概率分布函数自变量的取值范围是。那么其期望被定义为:       设P(x)是一个离散概率分布函数,
  • 期望、方差计算

    千次阅读 2019-06-18 15:47:11
    设P(x)P(x)P(x)是一个离散概率分布函数,自变量的取值范围为{x1,x2,⋯&ThinSpace;,xn}\{x_1, x_2, \cdots, x_n\}{x1​,x2​,⋯,xn​}。其期望被定义为: E(x)=∑k=1nxkP(xk)E(x)=\sum_{k=1}^n{x_kP(x_k)}E(x)=k...
  • 期望, 方差, 协方差,标准差 ...设P(x) 是一个离散概率分布,自变量的取值范围为{x1,x2,...,xn }。其期望被定义为: E(x)=∑k=1nxkP(xk) 设P(x) 是一个连续概率密度函数,其期望为: E(x)=∫+∞−∞x...
  • Hdu 4405 期望DP 题解

    2017-09-02 16:42:58
    既然是做期望DP题,我们一般倒推,这道题也是可以倒推的,我们推到一个数,如果可以跳转的话,我们就直接跳转赋DP值,如果不行的话我们就枚举6种情况,然后去从dp[i+j]*P[转移]转移过来,其中j的取值范围是1到6,...
  • 再看连续情况,假设X为连续型随机变量,x表示随机变量在实数范围联系取值,f(x)为概率密度函数。 那么随机变量X数学期望为: 2、信息量 一个事件信息量与这个事件发生概率是呈负相关。举个例子:...
  • uva10288(数学期望

    2016-10-08 21:30:08
    /* translation: 每张彩票上面都有一种图案,共有n种,问在平均情况下最少需要买多少张彩票才能集齐n种。... sum{n/(n-i)}其中i取值范围[1, n]。 note: date: 2016.10.8 */ #include #include us
  • 几何分布及其期望与方差

    千次阅读 2015-10-30 08:46:13
    几何分布(Geometric distribution)是离散型概率分布。其中一种定义为:在n次伯努利试验中,试验k次才得到第一次成功...得到1次成功而进行n次伯努利试验,n概率分布,取值范围为『1,2,3,...』;   ,   ;
  • 设计步骤: 1、从±10V变到0.048V至4.048V意味着动态范围从20V变到4V,缩小了5倍,因此首先要有一个放大倍数为1/5的基本放大电路。...仿真验证确实如所期望的,输入信号被缩小了5倍,如图2所示。 ...
  • 例如:我们模拟两个线程来对同一个变量进行赋值,然后赋值之后,用两个对象来取值,我们期望的是每个线程中对象取出来的值是该线程产生的,代码如下: public class ThreadShareDate { private static Integer ...
  • 给你nnn个数,每个数iii的取值范围为[Li,Ri][L_i,R_i][Li​,Ri​].随机取。取完之后f(x)f(x)f(x)为数组的最小划分数使得每个划分相等.问你E(f2(x))E(f^2(x))E(f2(x)) n≤1e5n \leq 1e5n≤1e5 题目思路: 这个博客推导...
  • CodeForces 1187F-Expected Square Beauty ◆题目传送门◇ 题目大意 ...对于xxx中第iii个元素,其取值范围为[li,ri][l_i,r_i][li​,ri​],求E(B2(x))E(B^2(x))E(B2(x)),答案要求化简为PQ\fra...
  • 随机变量定义:随机变量在不同条件下由于偶然因素影响,其可能取各种随机变量不同值,具有不确定性和随机性,但这些取值落在某个范围的概率是一定,此种变量称为随机变量。 随机变量首先是一个变量。昨天...
  • 基础中需要注意

    2017-09-13 23:49:46
    如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的 自加(++...
  • 数据类型转换

    2017-02-15 20:24:00
    隐式转换: 取值范围小的数据类型与取值范围大的数据类型进行运算, ...强制转换: 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同,需进行强制转换 固定的格式: 目标数...
  • 在产品供应链中,销售商的促销水平影响...研究表明,在此契约参数的取值范围内,通过收益费用共享契约可以实现销售商在促销水平影响需求情况下供应链的完美协调。算例验证结果表明,收益费用共享契约在此情况下的有效性。
  • # -*- coding: utf-8 -*- __author__ = 'gerry' ... 期望:衡量样本某个特征列取值范围的平均值 方差:衡量样本某个特征列取值范围的离散程度 协方差矩阵和相关系数:衡量样本特征列之间线性相关性 '''from

空空如也

空空如也

1 2 3 4 5
收藏数 96
精华内容 38
关键字:

期望的取值范围