计算已知频率下3个或更多属性的方差

| 我想计算在给定时间(t)收集的数据集中的方差,对此我们知道条件和决策属性的频率。 每个条件属性都可以采用3个可能的值,而结果则包含两个类的属性,如下图所示。我需要计算给定数据快照的方差。 我也会对示例代码或算法感兴趣。 !     
已邀请:
        我认为您最好在\“ statsOverflow \”页面上询问:) 上面的问题对我来说还不清楚,但是在离散情况下,您可以使用以下算法来计算方差:
data_type getVariance(data_type[] array){
    data_type mean = getMean(array);
    data_type var = 0;
    for(int i =0; i < array.length; i++){
        var += getProbabilityOf(array[i])*(array[i]-mean)*(array[i]-mean);
    }
    return var;
}
data_type getMean(data_type[] array){
    data_type mean = 0;
    for(int i =0; i < array.length; i++){
        mean += getProbabilityOf(array[i], array)*array[i];
    }
    return mean;
}
double getProbabilityOf(data_type data, data_type[] array){
    return [number of appearances of data in array / size of array];
}
    

要回复问题请先登录注册