
概述本次函数有1、阶乘2、计算组合数C(n,x)3、二项
概率分布4、泊松分布 以下是历史函数create_rand_list() #创建一个含有指定数量元素的listsum_fun() #累加len_fun() #统计个数multiply_fun() #累乘sum_mean_fun() #算数平均数sum_mean_rate() #算数平均数计算回报median_fun() #中位数modes_fun() #众数ext_minus_fun() #极差geom_mean_fun() #几何平均数geom_mean_rate() #几何平均回报var_fun() #方差-样本S^2covar_fun() #协方差(标准差)-样本Strans_coef_fun() #变异系数CVpearson_fun() #相关系数-样本r unite_rate_fun #联合概率condition_rate_fun #条件概率e_x #随机变量期望值var_rand_fun #随机变量方差covar_rand_fun #随机变量协方差covar_rand_xy_fun #联合协方差e_p #组合期望回报var_p_fun #投资组合风险bayes #贝叶斯---------------以上是旧的---------------------------------------------------------------------------------------以下是新的------------------------------------------------------------------------继续概率,本次是二项分布和泊松分布,这个两个还是挺好玩的,可以作为预测函数用,因为函数比较少,本次就不给例子了,但是会对函数做逐一说明1、阶乘n!就是每次-1乘,直到*1,例如5! = 5 * 4 * 3 * 2 * 1 = 120,这个是正常的,但是在写函数的时候这样
算法效率会低些,因此直接反过来,1*2*3...这种,那么函数就是 def fact_fun(n):if n == 0:return 1n += 1fact_list = [i for i in range(1,n)]fact_num = multiply_fun(fact_list)return fact_num2、计算组合数C(n,x)C(n,x) = n! / (x! * (n - x)!)表示从n个样本中抽取x个样本单元,可能出现结果的组合数,例如从5个物品中抽取3个物品,这三个物品的组合数就是10种def c_n_x(case_count,real_count):fact_n = fact_fun(case_count)fact_x = fact_fun(real_count)fact_n_x = fact_fun(case_count - real_count)c_n_x_num = fact_n / (fact_x * fact_n_x)return c_n_x_num3、二项概率分布执行n次伯努利试验,伯努利试验就是执行一次只有两种可能且两种可能互斥的事件,比如丢硬币实验,执行n次,成功k次的概率P(ξ=K) = C(n,k) * p^k * (1-p)^(n-k)n=5 k=3 P(ξ>=K) = p(K = 3) + p(K = 4) + p(K = 5)p表示一个事件的成功概率,失败则是1 - pdef binomial_fun(case_count,real_count,p):c_n_k_num = c_n_x(case_count,real_count)pi = (p ** real_count) * ((1 - p) ** (case_count - real_count))binomial_num = c_n_k_num * pireturn binomial_num4、泊松分布给定的一个机会域中,机会域可以是一个范围,也可以是一段时间,在这个机会域中可能发生某个统计事件的概率,举个例子,比有个商店,每小时平均有10位顾客光顾,那么一个小时有13位顾客光顾的概率,就是泊松分布,13位顾客光顾就是统计事件P(X) = (e^-λ*λ^X)/X! = (2.7182818^-10*10^13)/13! = 0.0729这里的λ是指平均值,可以使用算数平均数得到,e是自然常数~=2.7182818,有函数def poisson_fun(chance_x, case_list = [0],mean_num = 0):chance_x_fact = fact_fun(chance_x)e = 2.7182818if len_fun(case_list) == 1 and case_list[0] == 0:poisson_num = ((e ** (0-mean_num)) * mean_num ** chance_x) / chance_x_factelse:mean_num = sum_mean_fun(case_list)poisson_num = ((e ** (0-mean_num)) * mean_num ** chance_x) / chance_x_factreturn poisson_num这个函数需要说明下,实际需要的是两个参数,一个平均值另一个是期望统计量,之所以指定了3个函数是因为可能输入的不一定是一个数字,也可能是个list,那么会有两种计算方式,这个已在if中体现,引用方法有两种,例如if __name__ == '__main__':# 第一种poisson_rate = poisson_fun(mean_num = 10,chance_x = 13)print poisson_rate# 第二种case_list = [8,9,10,11,12]poisson_rate = poisson_fun(case_list = case_list ,chance_x = 13)print poisson_rate
本次函数有
1、阶乘
2、计算组合数C(n,x)
3、二项概率分布
4、泊松分布
以下是历史函数
#创建一个含有指定数量元素的list #累加 #统计个数 #累乘 #算数平均数 #算数平均数计算回报 #中位数 #众数 #极差 #几何平均数 #几何平均回报 #方差-样本S^2 #协方差(标准差)-样本S #变异系数CV #相关系数-样本r
#联合概率#条件概率#随机变量期望值#随机变量方差#随机变量协方差#联合协方差#组合期望回报#投资组合风险#贝叶斯
---------------以上是旧的---------------------------------------------------------------------------------------以下是新的------------------------------------------------------------------------
继续概率,本次是二项分布和泊松分布,这个两个还是挺好玩的,可以作为预测函数用,因为函数比较少,本次就不给例子了,但是会对函数做逐一说明
1、阶乘n!就是每次-1乘,直到*1,例如5! = 5 * 4 * 3 * 2 * 1 = 120,这个是正常的,但是在写函数的时候这样算法效率会低些,因此直接反过来,1*2*3...这种,那么函数就是
<div >
n == 1+= 1= [i i range(1= fact_num
2、计算组合数C(n,x)C(n,x) = n! / (x! * (n - x)!)表示从n个样本中抽取x个样本单元,可能出现结果的组合数,例如从5个物品中抽取3个物品,这三个物品的组合数就是10种
=== fact_fun(case_count -= fact_n / (fact_x * c_n_x_num3、二项概率分布执行n次伯努利试验,伯努利试验就是执行一次只有两种可能且两种可能互斥的事件,比如丢硬币实验,执行n次,成功k次的概率P(ξ=K) = C(n,k) * p^k * (1-p)^(n-k)n=5 k=3 P(ξ>=K) = p(K = 3) + p(K = 4) + p(K = 5)p表示一个事件的成功概率,失败则是1 - p
== (p ** real_count) * ((1 - p) ** (case_count -= c_n_k_num * binomial_num4、泊松分布给定的一个机会域中,机会域可以是一个范围,也可以是一段时间,在这个机会域中可能发生某个统计事件的概率,举个例子,比有个商店,每小时平均有10位顾客光顾,那么一个小时有13位顾客光顾的概率,就是泊松分布,13位顾客光顾就是统计事件P(X) = (e^-λ*λ^X)/X! = (2.7182818^-10*10^13)/13! = 0.0729这里的λ是指平均值,可以使用算数平均数得到,e是自然常数~=2.7182818,有函数
poisson_fun(chance_x,case_List = [0],mean_num === 2.7182818 len_fun(case_List) == 1 case_List[0] === ((e ** (0-mean_num)) * mean_num ** chance_x) /== ((e ** (0-mean_num)) * mean_num ** chance_x) / poisson_num这个函数需要说明下,实际需要的是两个参数,一个平均值另一个是期望统计量,之所以指定了3个函数是因为可能输入的不一定是一个数字,也可能是个List,那么会有两种计算方式,这个已在if中体现,引用方法有两种,例如
== poisson_rate = poisson_fun(mean_num = 10,chance_x = 13 case_List = [8,9,10,11,12= poisson_fun(case_List = case_List,chance_x = 13 poisson_rate 总结 以上是内存溢出为你收集整理的概率算法_二项分布和泊松分布全部内容,希望文章能够帮你解决概率算法_二项分布和泊松分布所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)