Рассчитать дисперсию 3 или более атрибутов с известными частотами - PullRequest
2 голосов
/ 30 мая 2011

Я хочу вычислить дисперсию в наборе данных, собранном в данный момент времени (t), для которого мы знаем частоту условных и решающих атрибутов.

Каждый условный атрибут может принимать 3 возможных значения, в то время как результат состоит из двухблочного атрибута, как видно на рисунке ниже. Что мне нужно, это рассчитать дисперсию данного данного снимка данных.

Мне также будет интересен пример кода или алгоритма.

! enter image description here

1 Ответ

1 голос
/ 30 мая 2011

Думаю, вам лучше задать это на странице " 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];
}
...