使用程序计算 方差 标准差

来源:互联网 发布:电脑怎么下载不了淘宝 编辑:程序博客网 时间:2024/04/30 08:25

统计方差

初中公式  

平均值 m = (x1+x2+x3+...xn) / n

方差 ((x1-m)^2+(x2-m)^2+(x3-m)^2) +... / n = (x1^2+x2^2+x3^2+... +xn^2-2*m(x1+x2+x3+...+xn)+n*m^2) / n

现有2个已知的方差 怎么合并

记录 value1为第一个方差的值,记录sum1为方差1的和, 记录count1为个数 记录平均值m1

对于方差2 记录 value2 sum2 count2 m2 相同

得到新的方差的 sum 为sum1+sum2 的count为count1+count2

新的平均值为 m = sum/count

新的方差为

(value1 * count1 + 2*m1*sum1-m1^2*count1 + value2 * count2 + 2*m2*sum2-m2^2*count2 - 2*m*sum+(count1+count2)*m^2) / sum

合并


标准差 同上

只是还原的时候自己乘以自己 得到方差 然后一样


最大连续次数

假设有2段

第一段 head1 维护第一个节点的值 tail1维护最后一个节点的值 value1维护最大连续次数 headcount1维护起点开始最大连续次数 tailCount1维护最后一个点为终点的最大连续次数

第二段 相同 head2 tail2 value2 headcount2 tailcount2


然后新的 

head就是第一段的head1

tail就是第二段的tail2

value 如果 tail1 小于 head1  得到 tailcount + headcount2 + 1 设为x, value是 x value1 value2中的最大值

headcount 如果第一段都是递增的话就是 headcount1+headcount2+1 否则 保证原值

tailcount 同headcount