2011-05-30 55 views
2

我想計算在給定時間(t)收集的數據集中的方差,我們知道其中的條件屬性和決策屬性的頻率。使用已知頻率計算3個或更多屬性的方差

每個條件屬性可以取3個可能的值,而結果由兩類屬性組成,如下圖所示。我需要的是計算這個給定的數據快照的方差。

我也會對樣本代碼或算法感興趣。

enter image description here

+0

致命:'DontUnderstandQuestionError'(抱歉:有什麼價值約時間類條件屬性..而且,在本次作業或付費?????) – 2011-05-30 06:18:57

回答

1

我想你會更好,詢問這個「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]; 
} 
+0

的意見好,謝謝。我會問statostreamflow – Zia 2011-05-30 07:57:53

+0

感謝您的答覆。讓我感到困惑的是,我們將把數據中的所有常量變成可能性,請您稍後解釋一下。如何得到概率 – Zia 2011-05-30 09:06:17

+0

(編輯答案) 例如: 假設我們有以下13個數字的序列 '1 2 3 9 8 7 1 1 1 2 3 4 2' 遇到數字「2」的概率是'3/13'(在整數總數中出現的次數) – Matyas 2011-05-30 09:23:57