我想计算在给定时间 (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];
}
关于java - 计算具有已知频率的 3 个或更多属性的方差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6172746/